updated data for day 6

This commit is contained in:
FrederikBaerentsen 2023-12-06 17:38:30 +01:00
parent 6d90ad5b41
commit 32aa4dc108
4 changed files with 109 additions and 14 deletions

View File

@ -2,8 +2,6 @@
import sys import sys
from pprint import pprint from pprint import pprint
from aocd import get_data
input_f = sys.argv[1] input_f = sys.argv[1]
@ -23,28 +21,33 @@ for i in range(0,len(seeds)-1,2):
seeds = tmp_seeds seeds = tmp_seeds
total=len(seeds)*7 #count = 1000000
count = 0 count = 0
#for i in range(1000000,2000000):
for i in maps: #maps.reverse()
tmp = [] for seed in range(0,50):
i = i.split() print("seed: " + str(seed),end="")
for i in maps:
tmp = []
i = i.split()
#print(i) #print(i)
for ldx,l in enumerate(seeds): #for ldx,l in enumerate(seeds):
l = int(l) # l = int(l)
count += 1 # count += 1
for x in range(2,len(i)-2,3): for x in range(2,len(i)-2,3):
d = int(i[x]) d = int(i[x])
s = int(i[x+1]) s = int(i[x+1])
r = int(i[x+2]) r = int(i[x+2])
#print('Looking for ' + str(l) + ' in range ' + str(s) + ' > ' + str((s+r)),end='') #print('Looking for ' + str(l) + ' in range ' + str(s) + ' > ' + str((s+r)),end='')
print(str(round(count/total*100,2))) if s <= seed and seed < s + r:
if s <= l and l < s + r: seed = d + (seed - s)
seeds[ldx] = d + (l - s) print(seed)
#print('. Found!')
break break
else:
print()
#print(seeds) #print(seeds)
print(min(seeds))
""" """
for i in range(0,7): for i in range(0,7):
tmp = [] tmp = []

61
2023/day5/part2_1.py Normal file
View File

@ -0,0 +1,61 @@
#!/bin/python3
import sys
from pprint import pprint
from aocd import get_data
input_f = sys.argv[1]
seeds, *maps = open(input_f).read().split('\n\n')
seeds = seeds.split(':')[1].split()
pprint(seeds)
pprint(maps)
nseeds = []
for i in range(1000000,3000000):
nseeds.append(i)
seeds = nseeds
for idx,i in enumerate(maps):
tmp = []
i = i.split()
#print(i)
for ldx,l in enumerate(seeds):
print(l,idx)
l = int(l)
for x in range(2,len(i)-2,3):
d = int(i[x])
s = int(i[x+1])
r = int(i[x+2])
#print('Looking for ' + str(l) + ' in range ' + str(s) + ' > ' + str((s+r)),end='')
if s <= l and l < s + r:
seeds[ldx] = d + (l - s)
#print('. Found!')
break
#print()
#print(seeds)
checked = []
#for idx,i in enumerate(seeds):
# if seeds[idx] != nseeds[idx]:
# checked.append(seeds[idx])
print(min(seeds))
"""
for i in range(0,7):
tmp = []
for j in range(2,len(nmaps[i]),3):
print("des " + str(nmaps[i][j]))
print("src " + str(nmaps[i][j+1]))
print("rng " + str(nmaps[i][j+2]))
for x in range(int(nmaps[i][j]),int(nmaps[i][j])+int(nmaps[i][j+2])):
print(x)
"""

29
2023/day6/part1.py Normal file
View File

@ -0,0 +1,29 @@
#!/bin/python3
import sys
from pprint import pprint
input_f = sys.argv[1]
arr = []
from aocd import get_data
maps = map(get_data(2023,6))
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)

2
2023/day6/test Normal file
View File

@ -0,0 +1,2 @@
Time: 7 15 30
Distance: 9 40 200