Finished 2023-12-06 part 1 + 2
This commit is contained in:
parent
32aa4dc108
commit
a883b4adad
2
2023/day6/input
Normal file
2
2023/day6/input
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Time: 60 94 78 82
|
||||||
|
Distance: 475 2138 1015 1650
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
input_f = sys.argv[1]
|
input_f = sys.argv[1]
|
||||||
|
|
||||||
@ -11,19 +11,36 @@ arr = []
|
|||||||
|
|
||||||
from aocd import get_data
|
from aocd import get_data
|
||||||
|
|
||||||
maps = map(get_data(2023,6))
|
#print(get_data(day=6,year=2023))
|
||||||
|
|
||||||
print(maps)
|
|
||||||
|
|
||||||
with open(input_f) as file:
|
|
||||||
for line in file:
|
|
||||||
tmp = line.rstrip()
|
|
||||||
tmp = tmp.split()
|
|
||||||
arr.append(tmp)
|
|
||||||
# continue
|
|
||||||
# t = tmp[idx]
|
|
||||||
# r = tmp[len(tmp)]
|
|
||||||
# #print(t,r)
|
|
||||||
|
|
||||||
|
|
||||||
|
maps = open(input_f).read().splitlines()
|
||||||
|
maps = [l.split() for l in maps]
|
||||||
|
|
||||||
|
pprint(maps)
|
||||||
|
total_winnings = []
|
||||||
|
for i in range(0,len(maps[0])):
|
||||||
|
if i == 0:
|
||||||
|
continue
|
||||||
|
time = int(maps[0][i])
|
||||||
|
max_dist = int(maps[1][i])
|
||||||
|
hold = 0
|
||||||
|
dist = 0
|
||||||
|
total_winnings.append(0)
|
||||||
|
print(total_winnings)
|
||||||
|
print('Start\t',end='')
|
||||||
|
print(maps[0][i],maps[1][i])
|
||||||
|
print('Time\tDist\tHold')
|
||||||
|
for j in range(1,int(maps[0][i])+1):
|
||||||
|
while time > 0:
|
||||||
|
time -= 1
|
||||||
|
hold += 1
|
||||||
|
dist = hold * time
|
||||||
|
won = False
|
||||||
|
print(str(time)+ '\t' + str(dist) + '\t' + str(hold) + '\t',end='')
|
||||||
|
if dist > max_dist:
|
||||||
|
total_winnings[i-1] += 1
|
||||||
|
print('won')
|
||||||
|
else:
|
||||||
|
print()
|
||||||
|
print(np.prod(total_winnings))
|
||||||
|
print(total_winnings)
|
||||||
|
33
2023/day6/part2.py
Normal file
33
2023/day6/part2.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from pprint import pprint
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
#time = 71530
|
||||||
|
#max_dist = 940200
|
||||||
|
|
||||||
|
# too lazy to write a parser
|
||||||
|
|
||||||
|
time = 60947882
|
||||||
|
max_dist = 475213810151650
|
||||||
|
|
||||||
|
total_winnings = 0
|
||||||
|
|
||||||
|
hold = 0
|
||||||
|
dist = 0
|
||||||
|
print('Time\tDist\tHold')
|
||||||
|
for j in range(1,time+1):
|
||||||
|
while time > 0:
|
||||||
|
print(time)
|
||||||
|
time -= 1
|
||||||
|
hold += 1
|
||||||
|
dist = hold * time
|
||||||
|
won = False
|
||||||
|
#print(str(time)+ '\t' + str(dist) + '\t' + str(hold) + '\t',end='')
|
||||||
|
if dist > max_dist:
|
||||||
|
total_winnings += 1
|
||||||
|
#print('won')
|
||||||
|
#else:
|
||||||
|
# print()
|
||||||
|
print(total_winnings)
|
Loading…
Reference in New Issue
Block a user