From 9c65de67727a90be056332bfbd4d00ad6366831d Mon Sep 17 00:00:00 2001 From: Kees van Kempen Date: Thu, 26 Dec 2024 11:41:21 +0100 Subject: [PATCH] 2024(6): clean before fix --- 2024/06/part1.py | 18 +----------------- 2024/06/part2.py | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/2024/06/part1.py b/2024/06/part1.py index 674b0d0..159d128 100644 --- a/2024/06/part1.py +++ b/2024/06/part1.py @@ -171,25 +171,9 @@ if __name__ == "__main__": #m.load_map("testinput") m.load_map("input") - loop_obstacles = [] - while m.step(): if verbose: print(m.pos, m.direction) - - # Create a copy - forked_map = m.copy() - forked_map.map[forked_map.next_pos()] = Map.Tiles.OBSTACLE.value - print(f"Forking at {forked_map.next_pos()}... ", end="") - try: - while forked_map.step(): - continue - except Map.LoopException: - print("loop.") - loop_obstacles.append(m.next_pos()) - else: - print("no loop") #m.show() #print(len(m.trace), m.trace) - #print(len(set(m.trace))) - print(len(loop_obstacles)) + print(len(set(m.trace))) diff --git a/2024/06/part2.py b/2024/06/part2.py index 200ce08..65a7f5a 100644 --- a/2024/06/part2.py +++ b/2024/06/part2.py @@ -18,11 +18,25 @@ if __name__ == "__main__": m = Map() #m.load_map("testinput") m.load_map("input") + loop_obstacles = [] while m.step(): - # After each step, we can fork the map and add the obstacle. - print(m.pos, m.direction) + if verbose: + print(m.pos, m.direction) + # Create a copy + forked_map = m.copy() + forked_map.map[forked_map.next_pos()] = Map.Tiles.OBSTACLE.value + print(f"Forking at {forked_map.next_pos()}... ", end="") + try: + while forked_map.step(): + continue + except Map.LoopException: + print("loop.") + loop_obstacles.append(m.next_pos()) + else: + print("no loop.") #m.show() - print(len(m.trace), m.trace) - print(len(set(m.trace))) + #print(len(m.trace), m.trace) + #print(len(set(m.trace))) + print(len(loop_obstacles))