2025 - Day 7 part 1
Some checks reported errors
continuous-integration/drone/push Build encountered an error

This commit is contained in:
kleph 2025-12-08 15:05:39 +01:00
parent 4f287fdb14
commit 4174f627fc
3 changed files with 193 additions and 0 deletions

35
2025/7/7.py Normal file
View file

@ -0,0 +1,35 @@
#!/usr/bin/env python
# 2025 - Advent Of Code 7
# file = 'input_example.txt'
file = 'input.txt'
# pylint: disable=consider-using-with
grid = [line.strip('\n') for line in open(file, encoding="utf-8")]
MAX_X = len(grid[0])
MAX_Y = len(grid)
for s in range(0, len(grid[0])):
if grid[0][s] == 'S':
start_pos = (s, 0)
break
print(f'{start_pos=}')
beams = [start_pos]
split = 0
for liney in range(1, MAX_Y-1):
new_beams = []
for b in beams:
x = b[0]
y = b[1]
if grid[y+1][x] == '^':
new_beams.append((x-1, y+1))
new_beams.append((x+1, y + 1))
split += 1
else:
new_beams.append((x, y + 1))
print(f'end {liney}: {new_beams}')
beams = list(set(new_beams))
print(f'{split=}')

142
2025/7/input.txt Normal file
View file

@ -0,0 +1,142 @@
......................................................................S......................................................................
.............................................................................................................................................
......................................................................^......................................................................
.............................................................................................................................................
.....................................................................^.^.....................................................................
.............................................................................................................................................
....................................................................^...^....................................................................
.............................................................................................................................................
...................................................................^.^.^.^...................................................................
.............................................................................................................................................
..................................................................^.^.....^..................................................................
.............................................................................................................................................
.................................................................^.^.^.^.^.^.................................................................
.............................................................................................................................................
................................................................^.^.......^.^................................................................
.............................................................................................................................................
...............................................................^.^.^...^.^.^.^...............................................................
.............................................................................................................................................
..............................................................^.^.^.^.^.^.^...^..............................................................
.............................................................................................................................................
.............................................................^.^.^...^.......^.^.............................................................
.............................................................................................................................................
............................................................^.^.....^.^.^.^.^.^.^............................................................
.............................................................................................................................................
...........................................................^.^...^.^...^.^...^...^...........................................................
.............................................................................................................................................
..........................................................^.^...^...^...^.^...^.^.^..........................................................
.............................................................................................................................................
.........................................................^.^.^.^.^.^.....^.^.^...^.^.........................................................
.............................................................................................................................................
........................................................^.^...^...^.^...^.^.^.^...^.^........................................................
.............................................................................................................................................
.......................................................^.^.^...^.^...^.^...^.^.^.....^.......................................................
.............................................................................................................................................
......................................................^.^...^...^.^.^.^.^.^...^.^.^...^......................................................
.............................................................................................................................................
.....................................................^.^.^.^.^.^...^.^.^...^.........^.^.....................................................
.............................................................................................................................................
....................................................^...^...^.....^.....^.^.^.^.....^.^.^....................................................
.............................................................................................................................................
...................................................^...^.^.^.......^...^.....^.^.^...^.^.^...................................................
.............................................................................................................................................
..................................................^.....^.^.^.^.^.^.^.^.^...^...^.^.^.^...^..................................................
.............................................................................................................................................
.................................................^.^.^...^.^.^.....^.^.^.^.....^...^.^.^.^.^.................................................
.............................................................................................................................................
................................................^.^.....^.^...^.^.^...^.....^.^.^.^.^.^...^.^................................................
.............................................................................................................................................
...............................................^.^.^.^.^.^.^...^.^...^.^...^.^...^.^.^.^.^.^.^...............................................
.............................................................................................................................................
..............................................^.^.^.^.^.^...^...^...^...^.^.....^.^.^.^.^...^.^..............................................
.............................................................................................................................................
.............................................^...^.^...^.^.^.......^.^...^.^.^.^.^.^...^.^.....^.............................................
.............................................................................................................................................
............................................^...^.^...^.^.^.....^.....^.^.^.^.^.....^.^.....^...^............................................
.............................................................................................................................................
...........................................^.^.^.^.^.^.^.^.^.....^.^.^.^.^...^...^.^.^...^.....^.^...........................................
.............................................................................................................................................
..........................................^.^...^.^.^.^.^.^.^...^...^.^.^...^.^.^.^.^.^...^...^.^.^..........................................
.............................................................................................................................................
.........................................^.^...^...^.......^.^.^.^.^.....^.^.^...^.^.^.^.^.^...^.^.^.........................................
.............................................................................................................................................
........................................^.....^.^.....^.^...^.^...^.^.^.^...........^...^.^...^...^.^........................................
.............................................................................................................................................
.......................................^.^.^...^.^.^.^.^.^...^.^...^.^.........^.^.^.^.^.^.^.....^.^.^.......................................
.............................................................................................................................................
......................................^.....^.^...........^.^.^.^.......^...^.^.^...^.......^.......^.^......................................
.............................................................................................................................................
.....................................^.^.^.....^.^.^.^.^.....^...^.^.^.^.^...^.^...^.^...^...^...^...^.^.....................................
.............................................................................................................................................
....................................^.^.....^...^.^...^.^.....^.^.^.^.^...^.^...^.^...^.^.^.^...^...^...^....................................
.............................................................................................................................................
...................................^...^.^.^.^...^.^...^...^.......^.^.^.^.....^.^.^...^.^...^.^...^.^...^...................................
.............................................................................................................................................
..................................^...^.......^.^.^.^.^.......^.^.^.............^...^.....^...^.^...^.^.^.^..................................
.............................................................................................................................................
.................................^.^.^.^.......^.....^.^.^...^.....^.....^.^.^.^...^.^...^.^.^...^.......^.^.................................
.............................................................................................................................................
................................^...^.^.^...^.......^...^.^...^...^.^.^.^.^.^.^.....^.^...^.^...^.^...^.^...^................................
.............................................................................................................................................
...............................^...^.....^.^.^...^...........^.^...^.........^.^.^.^.^...^.^.^.^.^...^.^.^.^.^...............................
.............................................................................................................................................
..............................^.^...^.^.......^.....^.^.^.^...^.^.^...^.^...^.^.^...^.^.^.....^...^.^.^...^...^..............................
.............................................................................................................................................
.............................^.^.^...^.^.^...^.^.^.^.^.^.....^...^.^.^...^.....^.^.^.^.^...^...^.^.^.^.^.^.....^.............................
.............................................................................................................................................
............................^.^.^...^.^.^...^.^.....^.^...^.^.^.^...^...^...^.^.^.^.^.^...^.......^.^.^.^.^.^.^.^............................
.............................................................................................................................................
...........................^.^.^.^.^...^...^.^.^.^...^.^.........^.^.^...^.....^.^.^.^...^.^...^.^.....^...^.^.^.^...........................
.............................................................................................................................................
..........................^...^...^.^.^.^.^.^.^.^.^.^.^...^...^...^.^.^.^.^...^.......^.^...^.^.^.^.^.....^.^...^.^..........................
.............................................................................................................................................
.........................^.^...^.^.^.^.^.^...^...^...^.....^...^.^.^.^...^.....^.^...^.^...^...^...^.^.^.^.^...^...^.........................
.............................................................................................................................................
........................^.^...^...^.^...^.^.^.^.^...^.......^...^.^.....^.^.^.....^...^.^.^.^.^.^.^...^.^...^...^.^.^........................
.............................................................................................................................................
.......................^.^.^.^.^.^.^...^.......^...^.^.^.^.^.^...^.^.^...........^.^.^.^...^.^.....^.^.^.^...^.^.^...^.......................
.............................................................................................................................................
......................^.^.....^.^...^.^.....^.^.^...^.^.^.^.^.^...^.^.....^.....^...^.^.^.^.^.^.......^.^.^.^...^.^.^.^......................
.............................................................................................................................................
.....................^.^.^...^.^.^.....^.^.^.^...^...^.^.^.^.^.^.^.^.^.^.^...^.^.........^.^.^.^.^.^.^...^.....^...^...^.....................
.............................................................................................................................................
....................^.......^...^.^.^.^.............^.^.^.^.^...^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.......^...^.^.^.^.^.^.^.^....................
.............................................................................................................................................
...................^.^.^.^.^.............^.^.^.^.^.^.^.^...^.^.^.^...^.^.^.........^.^...^...^.^.^...^.^.^.^...^.^.^...^.^...................
.............................................................................................................................................
..................^...^.^.^...^.^.^...^.^.^.....^.^.^.^.^.^.^.^...^...........^.^.^...^.....^...^.^.^.......^.^.....^.^.^.^..................
.............................................................................................................................................
.................^...^.^...^.....^.^.^...^.^.^.^...^.^.^...^...^.^.^.^.^.^.^.....^.^.^.....^...^...^.^.^...^.^...^.^...^...^.................
.............................................................................................................................................
................^.^.^.^.^.^.^.^...^.......^.^.^.....^.^.^...^.....^.^...^.^.^.......^.^.^.^...^.....^.^...^.^.^.^.......^...^................
.............................................................................................................................................
...............^.^.^.^...^...^.^.^.....^.^.^.^...^.^.^.^.^.^...^.^.^.^...^.^...^.^.^.......^.^.^.^...^.^.^.^.^.^...^.^.^...^.^...............
.............................................................................................................................................
..............^.^...^...^...^...^.^.^.^.^.......^.^.^.^.^...^.....^.^.^.^.......^.^.^.^.^.^.^.^.^...^...^.^.^.^.^.^...^.^...^.^..............
.............................................................................................................................................
.............^.^...^.^.^...^...^.......^.....^.^...^.......^.^.^.^...^.^.^.^...^.^.^.......^.^.......^.^...^.^.^.^.^.^.^.^.^.^.^.............
.............................................................................................................................................
............^.^...^.^.....^.^.^...^.^...^.^.^.......^.^.^.^.^.^.....^...^.....^.^.^...^.^...^...^.^.^.^.......^.......^.^.^.^.^.^............
.............................................................................................................................................
...........^.......^...^...^.....^.^...^.^...^...........^.^.^.^...^.......^...^.^.^.....^.^.....^.....^.^...^.^.^.^.^.^.^.....^.^...........
.............................................................................................................................................
..........^.....^.^.....^.^.^.^.^...^.^...^.^.^.^.^.^.^.^...^.^...^...^.^.^.^.^...^.^.....^.^...^...^...^.....^.^.^.^.^.^.^.^.^.^.^..........
.............................................................................................................................................
.........^.^.^.^.^...^.^...^.^.^...^.^.^...^.^.^.^.^.^.^.^...^.^.^.^.^...^.^.^...^.^...^.^.^.^.^...^...^.^.^.^.....^...^.....^.^.^.^.........
.............................................................................................................................................
........^.^.^...^.^.^.^.^.^.^.^.^.^.....^.....^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.....^.^.....^.^.....^.....^...^...^.....^...^.......^........
.............................................................................................................................................
.......^.^.^.^.^.^.....^.^.^.^.^.^.^...^.^...^.....^.^...^.^.^.^.^...^...^.^.^.^.^.^.....^.^...^.....^.^.^.^.^.^.^.^.^...^.^.^...^...^.......
.............................................................................................................................................
......^.^...^.^...^.^.^.^...^...^...^.^...^.......^.^...^.^.^.....^.^.^.^.^.^...^.^...^...^.^...^.^.^.^.^.^.^.^.......^.^.^...^...^...^......
.............................................................................................................................................
.....^.^.^.^.^.^.^.....^.....^.^...^...^.^.^...^...^.^...^.^.^.^...^.^.^.^.^.^.^.....^.^.^...^.^.^.^.......^...^.^.......^.^.^.........^.....
.............................................................................................................................................
....^...^.^.^.^...^.....^...^...^.^.^.^.^.^.^.......^.^.^.^.^.^...^.^.....^.^...^.^.......^.^...^...^.^.^.^...^.^.^.^.......^.^.^.^...^.^....
.............................................................................................................................................
...^.^...^...^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^.^...^...^.^...^.....^.^.....^.^.^...^.^.^.^.^...........^...^...^.^.^.....^.^...
.............................................................................................................................................
..^...........^.^.^.^.^.^.....^...^.^.^.^.^...^.^...^.^.^.^.^.^...^.^...^.^.^...^...^...^.^.^.^.^.^.^...^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^.^..
.............................................................................................................................................
.^...^...^.^.........^...^.^.^.....^...^...^.^.^.^.^...^.^.^.^.^...^.........^.^...^.^.^...^.^.^.^.^...^.^.^.^.^.^.^.....^.....^.....^.^.^.^.
.............................................................................................................................................

16
2025/7/input_example.txt Normal file
View file

@ -0,0 +1,16 @@
.......S.......
...............
.......^.......
...............
......^.^......
...............
.....^.^.^.....
...............
....^.^...^....
...............
...^.^...^.^...
...............
..^...^.....^..
...............
.^.^.^.^.^...^.
...............