diff --git a/2023/day10/part1.py b/2023/day10/part1.py index b03380f..1b5b57a 100644 --- a/2023/day10/part1.py +++ b/2023/day10/part1.py @@ -78,76 +78,89 @@ while not found: x = cur[1] sub_found = False - print('Start: ' + str(cur) + ' ' + wall(cur)) + #print('Start: ' + str(cur) + ' ' + wall(cur)) dirc = '' - print('Trying to find way') - print('Previous is ' + str(prev) + wall(prev)) + #print('Trying to find way') + #print('Previous is ' + str(prev) + wall(prev)) if y+1 < len(grid[0]) and not sub_found: + #print('Can go right') # Right new = (list(cur)[0]+1,list(cur)[1]) + #print(wall(new)) if grid[x][y+1] in ('─','┐','┘') and new != prev: - print('Trying Right') - print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) + #print('Trying Right') + #print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) dirc = 'R' if wall(cur) in ('─','┌','└','S'): - print('Went Right') + #print('Went Right') prev = (y,x) y += 1 sub_found = True - else: - print('Cant go right cus ' + str(y) + ' < ' + str(len(grid))) if y > 0 and not sub_found: + #print('Can go left') # Left new = (list(cur)[0]-1,list(cur)[1]) + #print(wall(new)) + found = True if wall(new) == 'S' else False if grid[x][y-1] in ('─','┌','└') and new != prev: - print('Trying Left') - print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) + #print('Trying Left') + #print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) dirc = 'L' if wall(cur) in ('─','┐','┘','S'): - print('Went Left') + #print('Went Left') + prev = (y,x) y -= 1 sub_found = True - else: - print('Cant go left cus ' + str(y) + ' > ' + str(0)) if x > 0 and not sub_found: + #print('Can go up') # Up new = (list(cur)[0],list(cur)[1]-1) + #print(wall(new)) + found = True if wall(new) == 'S' else False if grid[x-1][y] in ('│','┌','┐') and new != prev: - print('Trying Up') - print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) + #print('Trying Up') + #print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) dirc = 'U' + if wall(cur) in ('│','└','┘','S'): - print('Went Up') + #print('Went Up') + prev = (y,x) x -=1 sub_found = True if x < len(grid) and not sub_found: + #print('Can go down') # Down new = (list(cur)[0],list(cur)[1]+1) + #print(wall(new)) + if wall(new) == 'S': + #print('Found the S') + found = True if grid[x+1][y] in ('│','└','┘') and new != prev: - print('Trying Down') - print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) + #print('Trying Down') + #print('prev: ' + str(prev) + ' cur: ' + str(cur) + ' new: ' + str(new)) dirc = 'D' if wall(cur) in ('│','┌','┐','S'): - print('Went Down') + #print('Went Down') + prev = (y,x) x += 1 sub_found = True cur = (y,x) - + steps.append((x,y)) + p(grid,steps) print('Going ' + dirc + ' to ' + str(cur) + ' ' + wall(cur)) print('Previous is ' + str(prev) + ' ' + wall(prev)) - p(grid,steps) print() input() count += 1 - if cur == start: - found = True - + #print(cur, start) +p(grid,steps) print(count) +print(count/2)