Compare commits
2 Commits
1a4f2da0ce
...
8877dff48a
| Author | SHA1 | Date | |
|---|---|---|---|
| 8877dff48a | |||
| 84fe8156a0 |
142
day07/input
Normal file
142
day07/input
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
......................................................................S......................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................................................^......................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................................................^.^.....................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................................................^...^....................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................................................^.^...^...................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................................................^.....^.^..................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................................................^.^.^.^.^.^.................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................................................^.^.^...^.^.^................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................................................^.^.^.^.^.^.^.^...............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................................................^.^.^.^.^.....^.^..............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................................................^.^.^.^.^.^.^.^.^.^.............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................................................^.^.....^.^.^.^.^.^.^............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................................................^...^.^...^.^.^...^.^.^...........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................................................^.^.^.^.^.^...^.^.^...^.^..........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................................................^...^.....^.^...^.^.^.^.^.^.........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................................................^.^...^.^...^.^.^.^.^.^...^.^........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................................................^...^.^...^.^...^.^...^.....^.^.......................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................................^...^...^.^...^.^.^.^.^.^.^.^...^......................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................................^.^.^.^.^.^.^...^.^.^.^...^.^.^.^.^.....................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................................^.^.^...^.^...^.^...^.^.^.^.^.^.^...^....................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................................^.^.^.^.^.^.^...^.^.^.^.^.^.....^.^.^.^...................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................................^.^...^.^.^.....^...^...^.^...^.^...^...^..................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................................^.......^.^.^.....^.^.^.^.^.^.^.^...^...^.^.................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................................^...^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................................^.^.....^.^.^.^...^.^.^.^.^...^...^...^.^.....^...............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................................^...^...^.^.^...^...^.....^.^.......^.....^.....^..............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................................^.^.^.....^.^.....^.^.....^.......^.^.^.^.^.^.^.^.^.............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................................^.^.....^.^.^.........^.^...^.^...^...^.^.^.^...^...^............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................................^.^.....^.......^.^.^...^.^.^.^.^.^.^.....^...^.^...^.^...........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................................^.^.....^.^.^.^...^.^...^.^.^.^.^.^.^.....^.^.^...^...^.^..........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................................^.^.....^.^.......^.........^.^.^.^...^.^.^.^...^.^.....^.^.........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................................^.^.^.^...^...^...^.^.^.^.^.^.^.^.^.^...^.....^.^.^.^.^.^...^........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................................^.....^.^.^.......^.^...^.....^.^.^...^...^.^.^.^.^.^.^.^.^...^.......................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................^.^.....^...^.^.^.^.^...^.^.^.....^.^.....^.^.^.^.^...^.^.^.^...^......................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^...^.^.........^.^.^.....................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................^.^.^.^.^.^.^.^.^.....^.^.^...^...^...^.^.....^.^.^...^.^...^...^.^.^....................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................^.^.....^.^.^...^...^.^...^...^.......^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^...................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................^.^.^.^.^.^.^.^.^.^...^.^...^...^.^.^.^.^.^.^.^.....^.^.^...^.....^.^...^..................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................^.^.^.^.......^...^.^.^...^.^.^.....^.^...^.^.^.^...^.^.^.^...^.^.^.^...^.^.................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................^.^.^.........^.^...^.^...^.^.^.^.^...^.^...^.^.....^...^.^.^...^...^.^...^.^................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................^.....^.^.....^.^.^.^.....^.^.^.^.^.^.^.^.^.....^.....^.^...^.....^.^.^.^.^.^.^...............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................^.^.^.^.^.^.....^.^.^.^.^.....^.^.^.^.^.^.....^...^.^...^.^.^.^.^.^.^...^.^.^...^..............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................^...^...^.^.^.^...^.^.......^.^...^...^.^...^.^.^.^...^...^.^.^.....^.^.^...^.^.^.^.............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................^...^.^...^.^.^.^...^.^...^...........^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^...^.....^.^.^............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................^.^...^.^.^...^.^.^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.^...........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................^.^.^...^.^...^.^.^...^...^.^.^.^.^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^...^.^.^.....^.^.^..........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................^...^...^.^.^.^.^...^...^.......^.^...^.^...^.^.^...^.^.^.^...^.^.^.^...^.^...^.^...^.^.^.^.........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................^.^.^.^.^.^.^...^...^.^.^...^.^.^.^.^.^...^...^...^.^.^.....^.^...^.^...^.^.^.^.^.......^.^.^........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................^.^.^.^.^.^.^.^.........^.^.^.^...^.^...^...^.^.^.^.^...^.^...^.^.^...^...^.^.^.^...^.^.^.^...^.......................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................^.^.^.^.......^.^.^.^.^...^...^...^.^.^...^.....^.^.^...........^.^.^.^.^...^.^.^.^.^.^.^...^.^.^......................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................^.^.^...^...^...^.........^...^.^...^.^.^...^.^.^.^...^.^.^...^.^...^...^...^...^.^.^.....^.^.^...^.....................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................^.^.^.....^.^.^...^...^.^.^.^.^.^.^.^.^.^.^.....^...........^...^.^.^.^.^.^.^...^.....^.^...^...^.^.^....................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................^.....^.....^.......^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^.^.......^...^.^.^...^.^.^.^.^.^.^.^.^.....^.^...^...................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................^.^.^...^.^.^.^.^...^.^.^...^.^.^.^.^.^.^.^.^...^.^.^.^.^...^...^...^.^.^.^.^...^.^...^...^.^.^...^...^.^..................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................^.^.^.^.^.^...^.^.^.^.^.^...^.^.^.^.^...^.......^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^.^.^...^...^.^.^.................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................^...^.^.^.^.^...^...^.^...^...^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...^...^.^.^.^.^.....^.^.^.^.^.^................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............^.....^.^.^.^.^.......^.^.^...^.^.^.^.^.^...^.^.^.^.^.....^.^.^.....^.^.^.^...^.....^.^.^...^.^...^.^.^.^.^...^...............
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^...^.^.......^.^.^.^.....^...^.........^.....^...^.^.^.^.^...^.^.^.^.^..............
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............^.^.^...^.....^.....^...^.^...^.^...^.^.^.^.^.^.^.^...^.^.^...^.^...^.....^.^.^.^.^.^...^.^...^.^...^.^.^.^.^.....^.............
|
||||||
|
.............................................................................................................................................
|
||||||
|
............^.^.^...^.^.^.^.^.^.^...^.^...^...^.^.^.^.^.^...^...^.^.^.^...^.^.^.^.....^.....^.^...^...^...^.^.^.^.^.^.......^.^.^............
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........^...^.^...^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^...........^.^...^.^...^...^.^.^.^.^.^...^.....^.......^.^.^.^...^...^.^...........
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........^.^.^.^...^...^...^.^.^.....^.^...^.^.^.^...^.^...^.^.^.^...^.^.....^.^...^.^.^.^...^.^.^.^.^...^...^.^.^.^.^.^...^.^.^.^..........
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........^.....^...^.^...^.^.^.^.^.^.^...^.^...^.^.^.^.^...^...^.......^.^...^.^.^.^.^.^.^.....^...^.....^.^.^.^.^.^.^.^.^...^.^.^.^.........
|
||||||
|
.............................................................................................................................................
|
||||||
|
........^.^.^.^.^...^...^.^.^...^.^.^.^...^.^.^.^...^.^...^.^.^.^.....^.^.^.^.....^.^.^.....^.^.^.^...^.^...^.....^.^.^.^.^.^...^.^.^........
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......^.^.......^.....^.^.^.^...^.^.^.^.^...^.....^.^.^.^.^.^.^.^.^.^...^.....^...^.^...^.^.^.^...^.^.^.......^.^...^.........^.^.^.^.......
|
||||||
|
.............................................................................................................................................
|
||||||
|
......^.^...^.....^.^.^.^...^.^.^.^.^.^...^.......^.....^.^.....^.^.^...^.^.^.^...^.^.^.^.^...^.^.^.^.^...^.^.^.^.....^.....^.^.^.^.^.^......
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....^.^.^.^.....^...^.^.^.^.^.....^...^.^...^.^.^.^...^.^.^.....^.^...^...^.^.^.^.....^.^.......^...^...^.^.......^.....^.^...^.^.^.^.^.....
|
||||||
|
.............................................................................................................................................
|
||||||
|
....^.^.....^.^.^.^...^.^.....^.....^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^...^.^.^.^...^.^.^.^.^.^...^...^...^.^.^...^.....^...^...^...^.....^....
|
||||||
|
.............................................................................................................................................
|
||||||
|
...^...^.^.^.^.^...^...^.^.^.^.^...^.^.^...^.^.^.^...^...^.^.^.^...^...^...^...^.^.^.^.^.........^.....^...^.^...^.........^.^.^...^...^.^...
|
||||||
|
.............................................................................................................................................
|
||||||
|
..^.^.....^.^.^.......^...^.^.^...^.^.....^.^...^.^...^.....^.^.....^.^.^...^...^.^.^...^.^.....^.....^...^...^.^.^...^.^.^.^.^...^.^.^.^.^..
|
||||||
|
.............................................................................................................................................
|
||||||
|
.^.^.^.^.^.^.^...^.^...^.^...^.^.....^.....^.^.^.^.^.^.^.^.^...^.^...^...^.....^.^.^.^.^...^.^.^.^...^.^.^.^.^.^.......^.^...^.^.^.^.^...^.^.
|
||||||
|
.............................................................................................................................................
|
||||||
16
day07/sample
Normal file
16
day07/sample
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.......S.......
|
||||||
|
...............
|
||||||
|
.......^.......
|
||||||
|
...............
|
||||||
|
......^.^......
|
||||||
|
...............
|
||||||
|
.....^.^.^.....
|
||||||
|
...............
|
||||||
|
....^.^...^....
|
||||||
|
...............
|
||||||
|
...^.^...^.^...
|
||||||
|
...............
|
||||||
|
..^...^.....^..
|
||||||
|
...............
|
||||||
|
.^.^.^.^.^...^.
|
||||||
|
...............
|
||||||
30
day07/sol.py
Normal file
30
day07/sol.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
from collections import Counter
|
||||||
|
def solve(input):
|
||||||
|
splits = 0
|
||||||
|
pos = []
|
||||||
|
paths = Counter()
|
||||||
|
for row in open(input):
|
||||||
|
row = row.strip()
|
||||||
|
paths.clear()
|
||||||
|
for i,count in pos:
|
||||||
|
if row[i] == '.':
|
||||||
|
paths[i] += count
|
||||||
|
elif row[i] == '^':
|
||||||
|
if i-1 >= 0:
|
||||||
|
paths[i-1] += count
|
||||||
|
if i+1 < len(row):
|
||||||
|
paths[i+1] += count
|
||||||
|
splits += 1
|
||||||
|
start = row.find('S')
|
||||||
|
if start >= 0:
|
||||||
|
paths[start] += 1
|
||||||
|
|
||||||
|
pos = sorted(paths.items())
|
||||||
|
|
||||||
|
# part 1
|
||||||
|
print(splits)
|
||||||
|
# part 2
|
||||||
|
print(sum(paths.values()))
|
||||||
|
|
||||||
|
solve("sample")
|
||||||
|
solve("input")
|
||||||
Loading…
x
Reference in New Issue
Block a user