adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
29279385907e6239e81404a2acd91108469daa72
parent
bd4fddf63a014f5046cba68ea17435ed392657c4
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2021-12-25 12:04
day 25

Diffstat

A 2021/25/input.txt 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2021/25/part1.rs 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2021/25/test.txt 9 +++++++++

3 files changed, 227 insertions, 0 deletions


diff --git a/2021/25/input.txt b/2021/25/input.txt

@@ -0,0 +1,137 @@
   -1     1 >...>>.v>>>..>v.>...>>..>v>...v..>v....v>v>..>...>v.v.v>v..>vv..>v..v..v>.v>.v>v.v.v.v..>...>>..>.vv.v....vv...>>.....vv.v.v..v>.>>>..v>...
   -1     2 >>.vvv.>.>v.>v...>.>v>v>>>..>vv.>.>.>>...vv.v>.>...>v.>>..v...>>>v.v.>>..........>>.>..v.>..>..>>.v>v>>..v.....v>v>v>>>>.>..>..v.vvvvv..>>v
   -1     3 >vv.v....vvvvv>...>.v.....v>>>>v.......v.v.>....v.v.>..v...vv..vv.>...v.>..v.v.>.>.>..>>.>v>.>....>.v.v.v..v..vv>vv.>v>.....vv.>>>>>v>>>v>.
   -1     4 >v..>vvv..>>>...v.v...v>>>.....v.>.>vv.....>........vv.vv.vv.v.>.v...>v.v..>v>>.>>....v>.>>..v..v.v.>.......v>>...vv.vvvv.vvvv.vv.v...v.>>.
   -1     5 ..>v>>...v.v>v..v..vv>.vvv>>.v.>v...v..v....vv>>>.....v.v>>.>v>v.>>.v>.v>.v>..>...>.>v.v..>>.v>>>...v>.vv.>.>>.>.v.vv>>>>.v.v>>..>.v>>v..v>
   -1     6 vv.v.>vv...>.>vv...>>.>.v.>...v...>v.vv>..>>>.>...vvvv>..vv.>>..vv.......v.>.>.>..v>v..>.v>v...v.v.>.v.>.>..v.>vv..v..>>..v.>.v...>v...>.v.
   -1     7 >>>v>v.>..v..>>.v....>>.vv>.>.v>..v>>>...>.v>.>v....v...>.>>vv...>v.>.v>.>.>>.v>>>...v>..vv>.v>v.>>..>...>..v.>..v.>>..v.>.>.v>..v.>>v.v.v.
   -1     8 .>.>v>vv.v..vvv.v>v...>v.v>.>......vv...>v..>vv>v>.v...v.>.....>.v...>.v...v>v.v..>..>>..>>v.>.....>v>vv..>vv.v.vvv..v>vv.>v.>vv..v.v>>v>.>
   -1     9 .v.v.v.v.>>>.v>.....vv.....v.v..>v.v.>>v>..>v.>v>.>.>..>v.v..v...v...vv.....v.vv.v.>v>.>..v.>v..v.v..>.>v...>v...>vv.>.v.v.>.>....>v>>...>.
   -1    10 >>.....>..v.>....v.>..>.>>.>>.v.v>>.>>v...>..v..vvvv>>.v..>.v>.v>>.>>..v..>>.>..vv..vv>v.v>>>vvv>>>.vv...vv..>.>>v.v>.>v>>>>.v.vvv....v.>..
   -1    11 ..v..v>vv>>.>vv.v.....>v..vv..v........>.....v>>>..v..vv>>v>>v>>.vv.v..>>.....>.v....v>>.v>..>.>v.......v>.>..v..>>.v.vvvv>...vv.v..v..v...
   -1    12 >..>>.v.v......v..>>.v.v.....>>v....>.>.v>....v>v.>.v>>>>.>.>...>v>v...v...v.v...v.v..>..v.>...>>>v..>vv..v....>..>.v..>v.vv>>.vvv.v.>>vv.v
   -1    13 .>.>...>>..>.v....vv...v.>>>v>.>..>>.v..>.v>.>v..>v.v.v>>>v....>..>.>>..>.v>....vvv....>v>v..>>v...>>..vv.>v.>v.>vv.....vv....>>...v.v..>.v
   -1    14 v..v.>v.>.>>v.v....vvvv....v..>.v..v.v>...v..v..>.vvv>>.vv.....>>...>>.>vv.>.>v>..>.v..>.v>.>.>..v.v.>.>vv>vvv>.vv..v>>vv...vv>>>>..>>..vv>
   -1    15 .v>...>>....v>vv.>v.>.>.v.>vv...vvv.v>v.v>>.v>.v.v>v.>>.v>>>.>v...>>..v.>.>>.v>v..>>>vv....v.>>..v..>v>..>v>.v.v>...v.>vvv.vv...v....>.>.v>
   -1    16 ......>v.>>>>...>>.>>vvv>>.....v..vv.>..v.>v>.>>>v.......>v..v.v.vvv>v......vv.>v.vv>>.v>vv.>...>..>v.>..>.v.v.>v.v.>.v..v.>>v...v>v..>v.vv
   -1    17 .v.>v.v>v>vv>>>>v>v..vvvv.>..vv.>>..>.vv.>v>..>..>v>>.......>>v...>..v.v....>..v..v>v..vv.>>>..>.......vv>.....>v>v.>..>v.>>>vv.>>.v..>vv>>
   -1    18 .>..v>>>>>v...v.v>>v.>vv..>v..>>.vv.v....v.>..v>>vv..vv.v..v>v..vvv......v....vv>.>.v>.>.>v....>.>.>.vv.>...v>v>...vv>.>.>..vv.v........v.>
   -1    19 .>vv....>vv..vvv....v..v...v.>>...v..v..>.vv.>..>>.v>v>.v....>>..v.>v>.v...v>.>....vv.v>.>>.>v>.>.v>.>....v.>.vv...>>v>.v>...>...>..>.>>..v
   -1    20 ..v>>.>v.>>v>>.>vv>>.vv...vv>..>>vv>..v..v....vv.>>vvvv...>..>>.v..>.vv...v.>..vvv..v..v....>vv.v.vv....v.v..v..>vv>>.......>>....>.vv.>.>v
   -1    21 .v.v>v...>v..v..>.....>>..>..v>.v>v.v..v.v>..vv.>.>>.>...vv..v>v.vv......v.v..>>v....>.v.>..v.>.v...v..>v.vv.....v..>>v>....v>..>.v..>>..>>
   -1    22 v.v..>vv>>>v...>>vvv>>v>v>v...vv..>>v...>v>vv>...v.vv..vv.>>.>......>.v>...vv..vvv..>v>v>>>..v.>.>>>...v>..>..>....>vv..v..v..>.v.>...>v>>.
   -1    23 v..>..>....>>>v..v.>.v>...v.v..>>v.>v>>v..>...v........>v.>.vvv..>>.vv..>v....>>.>>vv>>vv>.>...v.>...v>>v>.>..>...vv.>v.v>.>vv.>v>.>.>v.>..
   -1    24 ...v.>..v>v.v.v.vv.v....v.v.v..>v.>v.>.>.>>.vv>..v..v....v...v>>>.>>>v>>>>>v....>.>..>>>v>.>>>.v>vv..v>.>..>.v.v.>.>..>..vv..v..v..v.>...>v
   -1    25 vv.v.vv....v..v.>v>.........v.vv....>v...v>v.vvv>>.v.v....>>>>v...v.v>.v...>.>.>.v>....v>v....>...>.v.v...v..vv.>....>.>>..vv.v.vv.>.v.v.vv
   -1    26 >v>>.>.v>..>v>vv.>...v..>>...v>v.>.....v...v...>v.>...v.>....vv..>>v...vv..vv.v....>...>>>vvv.v...>.>..>.vv...>..vv>>..>..v..>....v...>v>.>
   -1    27 >>...v..>.>.....vv...>>v>.v..>v..vv>.>>.>....vv.>v...>>v>>....>.v.v..>..v>>>..vvvv>>......>v.>v>.>>.vv>.>.....v.v.>...>.>>>.>vv.>..>>.>.v>v
   -1    28 v..v.>>.>.v>v>.>....>>....v>...>.>vvv.v.>v.>..>..v>>>v.v..>...v>...v>vv..>v..>.vv..v.v>...>.vv.v.v>>>v.>..>..v.v>..>vvv.v>>vv.vvvv>.v>.....
   -1    29 >.v>.v.>..v>v>v..>..vv.>....>vv.>>.vvv...>>.>>>..>v>..v.v.v.v...>...vv..>.>....>>.>v>..vv.v.>v.v>v>>>v>v..>.v.>.vv.>>.v......>..v.>..v..vvv
   -1    30 ..vv>>...v....>>.v....>>vv.>.vv>>.>...>v.>.....v.>>v>.v..vv..vv.>v>.v...>>>>....>>v.>v.>>>.>.v.>>v..vv...>....>.v>.v..v..v.>..v>>.>..>>.v>.
   -1    31 >>.v...v>>.v.....v>.v.v.>vvvv.v.>.>>..>>......vv.>..>.v>..>v......>>>.v...>>>..>v>.>>v>..v...vv.......v..>...vvvv.v.>v.v>.v>.>..>..v>>>v...
   -1    32 ...v>.>.>.vv.>v>.vv..v.>>>.>v>.vv>.v.vv>v......v...>>v.>.>>.>vv.v.v.v>v.v....>>>>.v..>>.vv...v>.v>..v>>.>>>..>v>..v>.>.vv...v>..v.>>v>...>.
   -1    33 ......>v...vv>...>.>>>...>.v>..v.v>...v.>>>..v>v.vvv.v..v.v...>>........>.vvv.>v...>.v.>.>v..v>...v>>.>.>vv..>>.>>v....v.....vv>>v.....v.>.
   -1    34 v.>.>....>........v.vv.v....v..>v.......>....v..>........v....>...v.>.v.>.>>>v......>.v..>>v.vv...v.v.>>>..vv.>>v.>v.>.....v.v>...>....>.vv
   -1    35 vv>.vv>>>.>.vv>....>>v>v..v...>v.>>.>.>.v>.>v..v>...>...v.v>.>v>>..>v>.>>>.v.>.>.>v>>..v..v....>.v.>v.v>v.>>v.v>.>..>vv>.v>.>>>..>>>>..>..>
   -1    36 ..v.v>......v.vv..v..>..v..>vvv>>>>v..v...>v.v...v.>vv.vv..v>v.v..>...v.>>vvv>.v>v.>..v>v>.v>v>v....>>..v...>>>..vv..>.v>...vv>v.>.vv.v.v>.
   -1    37 vvv>.>v.>>v>.v....>....>.>>.v.>..v.v.v.v.>.>>...v...>..>.>.vv>v.>v>v>>..vvv>v.v>>v>...>..v.>v...>>>>.v..vvv......vv.vv.>v....v.>>.>>>vv.>v>
   -1    38 >v..>v.>..v>.v>.>.>.....v>vv.v.vv..v>v>v...v....v.v..v.vv>>>.>v.v.>.>.v..>.vv>.>.>.v.v.>....>..vvv...>.>>.v>.v>.....v.>v>.>.>...v>.v.>>>v>.
   -1    39 >>..>>vv.....>..v>>..>..>v..>>v...>>.>.v>..>>>>v.vv.v.>>.v.v>>.>v.>.>....vv>>v>.v.>.>v.>v>>...v>>.>..vv..>v....vv>>>.v>vv.v>.vv>>>.....vv.v
   -1    40 vv>.v>...v.>.>>...v...vv.v.>>v...>v.>.>v..v>>>v>..v.>v......>..v>>.v.vv..v....v.>>...>..>>......vv.>v.v..>.v..>.>.vv...>v.>>vvvv.v>.v.>>.v>
   -1    41 >..>.>>v.v.....>..v.>v.>..>>v>>vv......v..>.v.vv>>.v>...v..vv.>>..v...v...v..>.......>.>>....v.v>v>>v.v>>...>..>..vv>v.>.vv.v.>v>.>.>.>....
   -1    42 ..v>>v.>..>v>.>..>.>...v>vvv>v..>>>vvv>>....v>v..>>>>...>v.v>vv.vv>v>.v.......v>.v>....v.>>.vv.v>..v..>v..v.>>v>.>v...>v.>>.>.vv>v>.>..vv>.
   -1    43 ..>......>v........v...>>.v>>>v.v....>..>.v.>>>>v.vvv>vvv.vvv.>.vvv....>v..>..v>.vvv.vv>v>..>>.v.>v.>v.>..>v.v>vv...v.>>vv..vv.>.>.vv.v..>.
   -1    44 >..v.>v...>.vvv.>>...>vv...v..>..vvv..>.>>..v.>..>>.>vv..vv...>.>.v.>.>>.>v.>...>...v>v>.v..v.>.v.>.>..>>v>>.>..>...v....v..>.v.v>.v....v.>
   -1    45 .>vvv.>vvv.....>.v.v>.>.v.v.v..v......v.vv>.>..>.>>.vvv>>>..>..v..v.>.vv>>vv.>.>>>.>vv......v>..>>v......>v.>vv..v>>...v..v..>...>.>>>.>v.v
   -1    46 .v>>.v....vv>>vv>.>>..>...>v>v...v>>..>v......>..>v..v.>vv.v>>>.v>.vv>>v.vv.v...>>>.>.v.>.....v>...>...>.vv.v>.v.....v......v..>......>.>>v
   -1    47 v>.vv>...>>.v.vvvv>.>....>v..>vv..v>.>.>vv.v..>.v>.v..>.>>.v>.v>>v>.>>.v.v....>.v>v.v....>v.v...>vv.v>..>.v.>v.v.>.v>>v.>.>...v.v.....v....
   -1    48 ..vvv.vv.v..>vv.>vvv.v>v..>vv.v..vv...>.>>.v.v.>..v..v>..v>..v.v>>>..v>>v.v...vv>...v..>>..vvv..>>....>v>v>...........vv.vvv.v>v.v>..>....v
   -1    49 v>v.......v>.v...vv...>v..v.>.>.>.....>>>.>>v.v....v.....v.>...>vv.v.v.vvv>........>....>vv..........v..>...>>.v>v>.>>...>..v.>.vvvvvv>....
   -1    50 .v>.>>.>>.v..v.v...>v.v..v>v>>vv.vv.....>v.v.....>...v.v>>...>....v.>v..vvvv..v.v..vvv.>>..v...>v>v>>>.....v>v.v..v.vv.>..v>vvvvv.>...>.>..
   -1    51 v....>.v>.v.v.>.v>.>v..>...>.>...vv.v>vv>>>..vv>.>v.vv.>v.>.v>...vvvv.>.vv.>.>>>..>.>.>v>v..vv.v...>.>.v>>v>v..>.>.vvv..v>.....>.>.>....v>v
   -1    52 >>v.v.vv>>.v>..>..>.>v>.v.>..>v>..vv>>..v>.....>>v.>.v>>vv>..v...v.v>..>.>v...vvv>..vv.>...>>.vv>.v.>....>vv.>v...vv>>...vvv..v.vvvv.vv...>
   -1    53 vv.....v....v...>..v.v.>.>v>.v..>...>...v>vv.>.>vv.....v....v....>....vv.>>v>...>..>..vv.>.v.vv.......>..v>.>>>vv>v.>>v...>.>>..v..v...v..>
   -1    54 ..v.>.v.v>>>v.v.>v>.v>..v.>>>.>v.>..>.....>.>.>.>v...v.v>vv..v.v...>.>>..v>.......v.v.>>v...>.>.....>.>>v.....vvv.v>>>.>.>>..>v>....v.....>
   -1    55 >..>>..v..>.>..>..v.>...>.v.>.v.v.v.v.v...vv...>..vv.>>.v>..v.>v>.v..v>v>>vv.v.v..>..>..>..>>>>..>...vvv.v.v.>v>..v.v>..>...v..v..>....v.v.
   -1    56 >.vvv........>>v.>..vv.v>v.v>..v.v>>>..>....v>.>vv>>>>>>v...>...v>...>....>..vv...vv>....v>>>.>v.>v..v>>v...v.>.v.v.v.vv..>...>..v...v.>...
   -1    57 vvv.>>.v.....v.>>v>..>vv.v>v....v.>v>..>......v..>..v>>>.....v...v..>.v>...>v.v>v>..v......>v.v...>v.vvvvv.v>..v..vv.v....v...v..vv....v..v
   -1    58 .v>>.v>.>>..vv..>vvvv>>.>v..>v......vv.v>..>....v....>vv.>>.vvv.>>.v.v.>.>>..v>..v.>.>..>vvv.>>>.vv>vv.>......v>v.>.v..>>..>...>>v...>.v.vv
   -1    59 vv.>.vvv>>.vv...vv.>vv.v..vv..vv.vv.>v>>v........v....v.vvv.>....v.....vv>..>..>.v.vv.........v>..>vv>v.vv.v..v>..>....>.v..>.>>vv.>.v.v>..
   -1    60 v>...v>.>.vvvv>>.>..v..>v.v>.....>vv..v>.>....>v.>>.v.>.>>>v.v>>....v.>vvv..>...vvv...>.>vv.>.v.>>...>v...>.>..v..........v.vvv.v.>.v>>>v.>
   -1    61 >.vv>vv..v>>.>>vv.v.....v...v>..>>v....v.v>v.>>..>>..v..v.>v..v.v>>...>vv.>>.>.v....>..>vvv>v...>..>.>..v...>v>v..>.>>..>vvv>>.>.vv>..v..vv
   -1    62 .v..>v........>...v..v.>v.>>vv.>>.....>.v.....>..v>.>>v.v>v.v>>vv>>v>vv>vv..>..>vv..>..>v.>v...>v...v.vv.>....vv>..>.>..vv.v.>>.>..vv.>v.>.
   -1    63 vv.vv.v......>..v.v..>v..>>..>>......vv......>..vv.v>>..v>v>.>v.v.>>>.>v.>v..>vv>.vv.v>.vvv..>.v.........>....>>...>vv.vv>.vv.>.v.v>...>..>
   -1    64 >.v.v..>.>..vv...v.>....v.>v>..>.v>..v>v.>...>...v>.v..v.....>..>.vv>>>.>>>>>vv>.....>.>.v.>v....>>v>>>.>v.>.v..>.vvv>>.vvv.v..>v>...vv....
   -1    65 >.....vvv>...v.>..>.v.>vv.>v.v.......v.v..>>..vvvv..>vv>>.>v>.>.v>.....>>>.>...v....v.v>v.........>...vv.v.v.....>.v..>.v>.>.>.>.>>>..>.>..
   -1    66 v.>..vv..vv>>.v.>>v>.v>>>vv>>...v>..>>.>..>>.v>v...>.>v.>.>>>>vv>.>>.>v.v>>>>.....>.>.>>v....v.v>.v..v....v.vv..>>...vv.>>>>.v.>>.>...>vv.v
   -1    67 v.>.v>.>>..v>.>.v.vv>.>>>v..v.>..>v>v>>v>>>>v>...........>.>>.v>...>vv.v..>>..v.v.>.>v.....vv>>>..>>.>>>>...>...v>>.>..vv..v.v.>..v>vv....v
   -1    68 .>>>.>v>v.>vv.>..>>.v>...v..v>>..>v..v.v.>v.v.v>>>v.v.vvv>>...v>..vv>>..>.>....v>v..v..>v>.>vv>.v>.>...>.>.v>v.v>..vv.>....vvvv.v.>>.>>.>>>
   -1    69 >v.>.v>>...>...>.v....vv..vvvv.v.>>...v>v..v.....>>vv..>vv>...>>....v>v..v..vvvvv>>v>......>>.>...>v..v...v>..vv.>vv.>>...v......>vv>v..v..
   -1    70 vvv..v>>>...>..>>.v.>...>>...>>.v..>...>..vvvvvvv.v..>.>.>.v.>>>.vvvv.v..........v.v>>>v.vv.vv>v.v.>v>..>.>.vv...v...vv>>.v>>.>vv..v.>>>v..
   -1    71 .>.v....v...>>..>>>v.vv.v..v.v.v.v.>v...v.v...v..>vv........>......>..v.v>..>.v....v.>v..v>v..vv.>v....vv..v>.>.v..v>.>>v>>..vv..v....>v>vv
   -1    72 v>>v.>.>>>.vv......v..v.>..v.v.>.>>>>>.v...v>v>vvv>vv>..v..>v.>.>v....v.vv....vv>v.vvvv.>>.v>.vvvv...>....v.v>>>.v>>...vvv.>....>v.v>..v...
   -1    73 v>>>.>vvv>.....>..vv.>vv>..>..v>.v..v..vv.>.vvv...>.>v>..v.v>>>.>..v.vv.>.>.v.>>>>.>.vv.>>.>v>>.>v....>v>.v.>...vvvv.>>v>.v..>.>..>vv>..>..
   -1    74 >...vv.vv>....>.>.>>>>.v..v>.>v..v>..>v>v..>v.>..vv.>vv..v.>.v.v>v.>>.>....>>>>...v>>.v..>.v....>..>.>vv...>v.>>v.v>v.>v>...vv>v...>v.v...v
   -1    75 >v..v.v>>>.>v>..vv....>vv...>v.vvv.v>>....v...>v.>v..v.vv..>>v>>vv..>.>.....>...>.v.>>>>..>.....v>>>........>.v.>.>>.v.v.v.>>..vv...v.>.vvv
   -1    76 >.v>...>v..v.v.>.vv.v>v.v....v.>..vv>vvv.vv......>....>>v..v..>>.>...v>...v>v.v>.>>...>v....>..v>>v>>...>.vv...>v>.v>v>....>..>.>...>v..v>v
   -1    77 .>>v.>.>..>>..>..v>vv>vv....>vv....vv..v.v.v>>v.>>v...>>vv.....v.v.v.....v.>.>..>v>>.>v..>....>.>>..>>>>vv>..>...>....>..>.v.v..>...>...vvv
   -1    78 .>v>....v.>.v.v>.>>>.v.v.....v>>>>.v>v.....v>.v...>>>v......>.........v>...>>..>.v>.>..>..v.v.v>>>.........>v..vv>.>>.>.v>>>..>.v>>.>vv>>..
   -1    79 vvvv>.>.>.>.v.vv>>.>......>.>.v..>>.>v...v.>>>.v>>..>..vv.......>.>.vv.vv...v...v>.>v>v>v>v..vvv>v>>.vv.>>v..>.>v.v.v>>>.v...v.>>v..v....>v
   -1    80 >........>vv.v.vv.>v>v...>>...v>.>..>>.>>v...v.>>v>.>v.>>..vv.>v..v.v.>v....vvv>.>>.v.....v.v..vv..>.vv.v>v>>.v..>.>.v.v...v.>v.>...v>.....
   -1    81 ..v.>vvv..>.v>..>.v.v.>>.........vv.v.v..v>...>>>v>..v>.>.v..>.>>.v>v..v>..v...>.>.>v.v>>v.v..>>...>.>.v.>....>>vv.>>..>....>.v>vvv.>.v..v.
   -1    82 ..>...>>...>.v..v..>.>.v.....v>v>vv.>.>v.v..vvvv.vv...v.....vvv..>.v>...>.....v..>.>>>.>.v.v>.v>>v.v>..>....v....>>>>.>....v..>v....>v....v
   -1    83 v.>.v>..v..>.>.>v..v.>>v.>>........>>>..v>>.>>>v>vv.v>.>v.>v>....v>>v.vv.>.>>.>.v>.....>..v...>.......>v>.v>>....>.v..v.>..>v.v.>>>vvvvv..>
   -1    84 .>v>v.v.>vv.v...v..>..>>v...>...>.>..vvv>.v.>.>>..>vv>.v..vv>..vvvvv....>.....vv......vvv.>>>.v.>vv.>>v.>v..>>>>.vv>vv...v>>...>>..vv>>v...
   -1    85 ..vv.vv.v....>.v...>vv..>v..>.>.v>.v.....>.>.>.v..v...v........>.v>>...>v......>..>>>v>v.vv>.v>v.>>..vvvv.v....>>>.v.>v.v..>.>.v.>..v.v>.v.
   -1    86 >.vv......vv....v..v>.>..>v>>.v.>v.....vv.v..>.v..v>v.>v.v.vv...>v.vv>...v...vv...v>.>.>v.v>.v>.>v..>.vv.v..v>vv>>...>>.v.v...v.>>.vv>.>..>
   -1    87 .>vvv.>>>v>vv>.>>v.>>>>vv.v>....v>.vv>.....>v...>.>vv>..>........>..vvvv>..>>.v.v>>v....v..vv.v>>v>..v>....v.v....v..v.v.>.v>..v..v..v>v>.>
   -1    88 ...v...v..>v>>..>.vv.>....v>v..>>.>.>v>....>.v....v.v>vvv........vvv.>..>..v>v.....>..vv..vv>..>.>>>>...vv>>v>......>.>v.>..v>.....>>v...>.
   -1    89 .>v..v>v...>.>.>.v.>.v.>..v>>>>.>>>>...v....>..v.>.>v>..v>...>>>...v..>..v..v.>..>v>>.>v......>..>.>.vv.>>..vv>.......vv>.>v.vv>.>v..v..v..
   -1    90 >.....>v>..>..v.>...v>..>..>>vvv.v.>.>.>.>.v..>........vv.v...vvv>..v..>>..v.>...v..v.v.vv.v>.vvv.vvv..v....>v.>.vv...v.v.v.v>.>>.>v>v..v.v
   -1    91 .>v...>v.>..>>>>>>...v>v.v....v>.>v>.v.>..>>.>..>.>>v.v>>>.......>..v>>v.v....vvv....>.>.>vvv....>...vv..>.>>>.v.v.v>..>.vv>v.v.>v>>vvv>v>.
   -1    92 .v.>>.v.....>v..>..>v>......v.>v...>v.>.vvv>vv>..>vvv>.>..vvvvvv>>>...>....>.v...>v.vv..v.vv.v..v.>...>vv>..v>>.....>>.>..>..v...>v..v>.>..
   -1    93 ...>>v..vv....>.v.v>>>>....>..>v...vv>.vvv.vv>v.v.>.v....v.v>.....>>.v...v...>>...>>.>.>>v>.>v>v...>>...>...vvv>...>.v.>.v>...vv.>v>.>.....
   -1    94 .v..v.>vv...v.....vvv.....>....v.vv.........v>v>>.>v..v>.>v..v..>>..>vvv.v..>..v..vv.vv..>>.>>.>v>>.>.>>.v.>..>>..>.vv.vvv.v.>>.>.>..>v..vv
   -1    95 .v...v>.>...>.v..v..v...>>.v.>.>.>>.>.>.>....>.vvv>.v.v.v>..>..>..v..v...v.>>...v.vvvv....v.vv..v>v.v...vv>>.>.v.......>v.v.v.vvv.vv..>v..>
   -1    96 ...v>v.v..>v.>....v..>.v.......v.>.v>v....>>>.....>....>.>.>v>.v>>>..v>..>v>.v>......v>.>v.v.vvv.v.v.>>>..>>>.>>..v>>v......vv....>v>>>.v.>
   -1    97 ..>vv......v>..v...v...>.v>>...v.....v>.>>>vvv.v..v>.v.v>.v..>>..>.>..>vv...>.>.>....vv>..>..v>>.....v>..>>.>>>v>>>.v.>..vv>.>vv.>>v.v..>.v
   -1    98 ..vvv.v>v.vv....>v>>.v>v.>v.v..v.v....>v.vv..v.>..vv....>.>.>.>..>>v.v.vv...>v>v..v>.vv.v..v>.>v>>.v....>vv>...v>>v...vv.....v.....v>v..v.>
   -1    99 ..>.v..v..>vv>>>..v.>>.v>>v.v..>>>.v>v...>..>.v>.v>>...vv.....v>vvv.......>.>.v...>>.v..>vvv>.vv.>.>v.....v.v>.>vv...>>v>>>>.vv.v.....vv...
   -1   100 ...>.>....>.>....v..v..v..>..>v...v>>....vvv>>v>.>>.v..>>...v..>>>.>....>>>>..>.v>>..>.v.>..v..vv.vv>..>>....v.>.>...>>....vv..v..v...v.v.>
   -1   101 >....v>.v.>v.>>>v.>.>v>....>.v>v...>.........>v....v....v.vv>.>v.>...>v>.v..v.v.>.>..>...vv>..v>.vv.....v....v>>......>...>>..v.v>>..v.>.>>
   -1   102 >.>v..>>>v.vvv....>>.>.>.v..v....v.>.....>.vvv.v..>>...v.vvvv.>.v...>..>>>v.v..>.vvv...>.v>>>...v>..v..>.>....v.>>.vv..>.vv.v..vv..>>>>...v
   -1   103 v.>>.>v.>vv......>.>>....>v.v...v>...>.v..>>v.>>.>vvvv>vv.v.v.>>.v.v....>.>v.v.>>v>...vvvv.>.>.>>.>...>.>..>.v.>>>>v.>>....v>v.v...vv.v>>..
   -1   104 .>>v>.v>>v.v>.>....v.>..>v>>>v.....>>.>..>.vvv.>v.v>v.v..v>v>........v.v.v..>>v..>...v.v...>..v.v.>.>.v..>v>v...v.>...>v..v.>..v..>..>.v>.>
   -1   105 vv>.>.v>.v>>...v..v.v....>v>v>v.>.>....>.v>>.v.v.vv..>>v........>>..>v.....vvv>.>.v...v.v>..vv>.>>v>>...vvv>>..v..v.v...v..>v>v>..v.>>.v>v.
   -1   106 .v>vv.....v>v.v.v.>>>v.v>v.>>v>....>.>vv....v.>vv.>v.v.>..vv.........>v.vv.....>>.vvvvv>v>.v.>....v.v...v>v..>.vv.....v>>v.>..>v.v.v...v...
   -1   107 .v.>.vvv.>>>>>vvv..>.v..vv>>>vv..>>...v>.>.v>>..>.vvv.v.v...>..>.>.v.>>v...>..v.>.>......v>v.>v.....v.vv>v.>..v...>v.v.>....vvvv....>>..>.v
   -1   108 ....v..>.>vvv>v..vv.v>>>v..>vvv.>v..>...>v.>v>v...>>..>v..v>..>.>>.....vvv..>vvv..>..>v>.v>vvv..vv..v.v..>.v.>v..>..>.v..>..v>.>v>...>.....
   -1   109 >>.vv.>.>....v...vv...vv....v..v..v..>v.......v..vv..>..>.v...vvv....>..v.>..v.vv...>.>>>>.v>>.>..>v.>v>v>v>.v.v>>v.v.v.v..v.v>>v...v>>v>.>
   -1   110 ...>..>>v..v..v>v>vv...>v>v>v....>.>>>v>...vvv.>.v.v.>.v.>>.>.v.v.v...>........vv..>.v.vv>.>>>...v.>.>.>.v>>...vvv>.v>v...>v>v.v.vv........
   -1   111 .vv.....>...v.>>v..vv>>>>v.v.v.>v.>...vvv.vv.>.vv.>..>.>.>v>.>..>.v>vv...>>>.>>vvvvvv..vv....v..>.....>vv..>v.>.vvv.v.v>..>vv...v..>.vvv...
   -1   112 >..>v..>v>>v.>..>>..v.>.v>>v.v...>..>v.....vv.....vv>.vvv.v>..>>.v>.>.....v..vvv..>...>>v.>>v>>.>>.>v..v..v.v>.>v>.>v....vvv.>.v.v..vv.>.>.
   -1   113 .>..v>.>.v.>..>>..v....vv.v...v...v>.>..v>......v......>.v...v>>v...>.v..v.v>.>...v>...>.>>.....>v.....>.vv.........>.v.v>vv>..v.vv.>.>..>>
   -1   114 >>.v.vv..v>......>v..>vv...v>vv.v>..>...>....>v.v.>....v....vv.>>..>...>>..v>..v>...v...v.>v.v>......>........v.>..v>..v>..v.vvvv>..v>..v.v
   -1   115 ..vvvv..>v.>>.v>.>..>.v.v>.vvv>>.v.>vvv.>>.vv>>.v>.>.vv>.>...>...v>>vv>..>....>.v..vv..vvv.v>.>...>..>..>>.>......>...v.v>.v..>vv..v..v.>.>
   -1   116 >.v>..>..v...>>>>......>.>>.vv...>vv.vv.vv.>>.v...........>>..>>..>.vvv.>.>.>...>v.>>...vv.v.vvv...>>>.>v....v..v.v....>.v>......>.v>.>vvv.
   -1   117 .>..>>...>>>...v.vvv.v>vv>.>v>v>.v....v........>.vv>>.>>>.vv.vv.>..>v.v.v>...>..v.v....vv.v>v.>..v...v>.>..>.>>..>>v>>.>v....>v.>>>.......v
   -1   118 ..v...>>>..v.>.>.>>>v>>>v.v.v.>.v>....v.>v.>...>v..vv>.v.v>.>>..v>...>>.v>vv>>...v...v...>..>....>>.>>>v>v.>>.vv.>.v>>..v>v..v...>v.v..v>>.
   -1   119 >.v..>....v....>.....v.>v>v.v.>>...v>>vv...>>>v.vvv>....>v..v>v>.>..v....v>v.vv..v.>..>...>.>v....>.>>.>.vvv>v.v.v.>.v..>..>.v>.v.>>v>..>v.
   -1   120 ..>.>v...vv...v....>.>.>>>vv.>...vv.v...>.v.>>.>>.>vv.>>..>v>..vv.>.vv.>>...vvv>.........>.>vv.>.v>..>v>>.>.v..>...>.....>vvv>..v....v>.v..
   -1   121 >.>..>v>....v...v...>>v..>>.>.>.>.>>v>>..>>..>..vv..>v>>>>>>.>.>>.>.vv...vv...v..>vvvvv...>..v..>vv.v.>...>v.>v..>.>......>v.>vv..v>..v.>v>
   -1   122 ..v.>.vv>v..>...v>..v.....v>..>vv.v.>>v>>>..>.v.v..vv>.....>vv>...>....>>..>.>.>.>..>vv...vv>v>..>..>.>>.vv>vv.>.v..>..v.>.....>v.v.>.>>>>.
   -1   123 ...v..v.>v>vv....vv.v>>>>..>vv..v.v>.vvv.....vvv.v.>....v.>.>>v>.>..v.....>>.>.v..v>>vv>..>..v.>..>..vv..>v>..>v..>.>...vv.>>...>>..>..v..>
   -1   124 .v...vv>>.>...vvv>v>.>.v>.v.>....>...>.>>>v>.>>vv>..v.>v>..>v.>.v...v.>>v..>v.v>vv>...>..>.v.v..>v.v.v>.v....>....v>....>>>...v...vv>.>>...
   -1   125 >..>.>...v>>...>.>.>>v.>>.v>.vv.>v>vv...v..>vv..>.>>.v.v.v>..>v..>vv.v>...>v.v..v..v>.v....v.>v..>..>.vv..v.v>>vvv>>v.v>v...vv>..>.>..v>.v>
   -1   126 ..>.....v.v>>..vv>.....v..>...v....>>vv.>..v.>>...v..v>v.>...>..>>.v>vvv....>..v.v.>v.>>>....vv.>..>vv.v.>.>>>>.v>..>...>....v..>.v>.v...v.
   -1   127 .v.>.....>....vv.v..>..v>...>..v.>.>.vv.>.v.vv.>..>v>..v>..v..>.>vv.>..>.v.v>>>.>vv.v>.v.>>..>.v>>>...>...vv..>..>>v..v.vv.>.v..>v.>v.vv...
   -1   128 ....v>>.>vv..vv.>v>....v..>.....>v...>.v..>>v.vv.v.vv>.....>.v>vv>.v>vv..>.>v.vv.>..>...>v>..>>v>>v..>>>.....>>>vvv.>.>.....vv.>>...>>...v.
   -1   129 >v...v>...>>..>..>..>>..>...>>..>.>..>>..v>vv.vv>..>>>.>>v....>..v..vv..v..v>.v.v>.vv.......>..>>...>>>>>>>.>.>.v>>..>.>.v......v.>v>.>.>>.
   -1   130 .>vv>v>..v.>v>v>..v.>v.v.>.>v.vvv>v..v..v>..>v..v.....>v...v>>v>v.vv...>>....vv....>>.v>>>v...>..v.vvvvv.vv>.vv..v.v.>.vvv>.>vv..v....v..v.
   -1   131 v>>>>..v.v...>.>>....>..v>>>..>.v.....v...>.>>.>.>>>>>...>>.v>.>..>.v.>>.>>.>...>v>v>.vv>vv.v.>.....>>.>..v.>....vv.vv.>..v..v>>v.>v.>v.>.v
   -1   132 .vv>>>..v>..v.v..>vv>>v.>.>...>>>.....>...v.v..vvv>v.v>vvv>vv.v..v...vv.v...>>>....vvv>v>.vv>>v...v>......v.v>v.>>..>.v>.v>.v.>v>....>..vv>
   -1   133 ...>vvv>>v.>>.v>v>>>.v.>v>>..>.vv.vv>v>>..........v>vv>v.v..>.v.>...>>>.v.v>...v>>...v>.>..v..>>....v.vv...>.v.v.>.......>>v>v.v.>>>v.vv..>
   -1   134 >v.v....vv.v>v.>vv..v>.>..>...>.v>v...>.>>..>>>>v.>...v.....v.vv.v.......>.v..>.>v..>.vv.>.v.vv.>v.v.vv.vv>.v.v.>>>>...v..v..v>v..vv....>>.
   -1   135 >..>.vv>v.v.v>....>>.......>>.>v>>..>>>>>.>.vv>.v.v..v>>.>vv>v.v>v.vvv.>....v>..v.vv......v>vv.v..v>v>v...vv>>..vvv>.v.vv.>>....v.>>...v>v.
   -1   136 ...v...>..>..v...v.>>.....>.....>.v..>>>>>>v.v>>.v>.v..>v.v..v.>.v.>v...>v..v..v>v..v...>v..v>.>...v.>>vv.>>.v>v>...>v>.>>>v...>..>>.>v>v..
   -1   137 .v>v>..>..v.....v....v.>>.>.>.v...v.vv.vv...>.v..v...>v.>...>....v..>>v..v.>>>>..v...>.v.v...>..v.v.v...v.vv.>vv...>.>....>...>.>>....vv>>.

diff --git a/2021/25/part1.rs b/2021/25/part1.rs

@@ -0,0 +1,81 @@
   -1     1 use std::env::args;
   -1     2 use std::fs::File;
   -1     3 use std::io::BufRead;
   -1     4 use std::io::BufReader;
   -1     5 
   -1     6 fn print_map(map: &Vec<u8>, rows: usize, cols: usize) {
   -1     7     for row in 0..rows {
   -1     8         for col in 0..cols {
   -1     9             print!("{}", match map[row * cols + col] {
   -1    10                 1 => '>',
   -1    11                 2 => 'v',
   -1    12                 _ => '.',
   -1    13             });
   -1    14         }
   -1    15         println!("");
   -1    16     }
   -1    17     println!("");
   -1    18 }
   -1    19 
   -1    20 fn main() {
   -1    21     let path = args().nth(1).unwrap();
   -1    22     let file = File::open(path).unwrap();
   -1    23 
   -1    24     let mut map: Vec<u8> = vec![];
   -1    25     let mut rows = 0;
   -1    26     let mut cols = 0;
   -1    27 
   -1    28     for line in BufReader::new(file).lines() {
   -1    29         let l = line.unwrap();
   -1    30         cols = l.len();
   -1    31         rows += 1;
   -1    32 
   -1    33         for c in l.chars() {
   -1    34             map.push(match c {
   -1    35                 '>' => 1,
   -1    36                 'v' => 2,
   -1    37                 _ => 0,
   -1    38             });
   -1    39         }
   -1    40     }
   -1    41 
   -1    42     print_map(&map, rows, cols);
   -1    43 
   -1    44     for i in 1.. {
   -1    45         let mut move_x = vec![];
   -1    46         for row in 0..rows {
   -1    47             for col in 0..cols {
   -1    48                 let i = row * cols + col;
   -1    49                 let j = row * cols + (col + 1) % cols;
   -1    50                 if map[i] == 1 && map[j] == 0 {
   -1    51                     move_x.push((i, j));
   -1    52                 }
   -1    53             }
   -1    54         }
   -1    55         for (i, j) in move_x.iter() {
   -1    56             map[*i] = 0;
   -1    57             map[*j] = 1;
   -1    58         }
   -1    59 
   -1    60         let mut move_y = vec![];
   -1    61         for col in 0..cols {
   -1    62             for row in 0..rows {
   -1    63                 let i = row * cols + col;
   -1    64                 let j = (row + 1) % rows * cols + col;
   -1    65                 if map[i] == 2 && map[j] == 0 {
   -1    66                     move_y.push((i, j));
   -1    67                 }
   -1    68             }
   -1    69         }
   -1    70         for (i, j) in move_y.iter() {
   -1    71             map[*i] = 0;
   -1    72             map[*j] = 2;
   -1    73         }
   -1    74 
   -1    75         println!("{}", i);
   -1    76         print_map(&map, rows, cols);
   -1    77         if move_x.len() == 0 && move_y.len() == 0 {
   -1    78             break;
   -1    79         }
   -1    80     }
   -1    81 }

diff --git a/2021/25/test.txt b/2021/25/test.txt

@@ -0,0 +1,9 @@
   -1     1 v...>>.vv>
   -1     2 .vv>>.vv..
   -1     3 >>.>v>...v
   -1     4 >>v>>.>.v.
   -1     5 v>v.vv.v..
   -1     6 >.>>..v...
   -1     7 .vv..>.>v.
   -1     8 v.v..>>v.v
   -1     9 ....v..v.>