diff options
-rw-r--r-- | day25 | 137 | ||||
-rw-r--r-- | day25.bqn | 11 | ||||
-rw-r--r-- | day25.clj | 48 |
3 files changed, 196 insertions, 0 deletions
diff --git a/day25 b/day25 new file mode 100644 index 0000000..4af9943 --- /dev/null +++ b/day25 @@ -0,0 +1,137 @@ +.>vv..v..>v..>.>..>>.>.v>..v.v.vv>..v.>.>vv.v..v..>.vv.>>.vv.vv>.....>..v.v>.>>v>...v.vv..>>.v........>v.v.v>v.v.v.>vv>.v>vv>..>>>vvv...v>. +.vv...>.v.....>.....v>.v>v..>>.>>vv....>.v>v.v>........>.....>..v..>.>..>v>v>vv>..v.>v.>v..>.>v......>.>>>>v>.v.>.>.vv...>v.>.v>.vv.vv>.>.v +>.v>.vv..>.v...>v.>v.v.vv.>vv.....v.>v...v.v.v>....>..>v.>>.>.vv....>.v....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.>v>v.>v..vv..v>v..>..>v. +.v....v.v...>.v>v..>>..>.>.v.>v.>.v>..>.v.>>..>>.v..>.v>.v>..>>.>.v>..v>.>v.v...>v>..>...>.v.>..vvv.v..vvv.........>>...>.>v...>v>v.v.v>>vv +vv.v...v>vvv..>>...v.v>.v>.v.>.v>v..>v..v..>>v>>.vv>...vv..v..v....v..v...vvvv.v>.>...v..v.>....v>.>v...>......>...v>....>v..v...>....vv... +.>>>v.>..v.v.v>.v..v.v..>.......v>vvv.>.>>..v..v.>..>.vv....>v........>vv..v>.>......v..>>.>.....v.v>vv.......>..v>.v.>..>...>.v.>.>...>..> +v...v.vv....vv>.>.>>.v...>...v.>....>.v.>.vv>.>v.>>..>vv..v>.v....vv>v.>v..>..v.v>v..v..>>..>>v.v.>v.>>.v..>.v.>..>>>.>.v.vv>....>>>v.v.>v. +.v..v.>v.v.>v..v.>v.>.vv.>....>.>v.>..>>..v.vvv>v.>.....v.>>v>..v...>..>.....vv...>>>vv..>v.....v.>.>.>>..>v.....>.>>v.v>>>..v..vvv......v> +v>.v..v....v.>v..v..>>...>v.v...>v>...vv....>vvv>>.>vv>.>v...v>..v...v.v>v.>vv..>..v.>.....>>>......>...>>...v.>vv.>.>.>v.>.>.>vv....>>v... +v>...>.v.>..v..>.v>....>.>.>.v>>.v.v..........>.v..>>..>.>.>.v>vv.>.v....v.v>..>.>>..vv.>..v....>.v..v>...>..>v.v.>vv.v.>.v..>>v>v>vv>.>.v> +.>v..vv>.>v>.>.>vvv.>.v.>>v..v.v........>...v>.....>v...v...v>..>>..v>>>..>...>.>v.....v.>.vv...>vv.v>.>>..v..>>vvv>>..v.>>>.v.vv>>..>>>... +...>.......v.v>..>vv...>>.>.v>..>vv...v.......v.v.v.....>>v.>.>....>..>v.v.>vv..v.>..v.>v>..vv.>..vv.v.>>..>>vv..>...v.v>.....v.>v..>..v>.. +>>..>>>.v..v.vv>>...v.vvv....>.v..vvv>.......>...>.vv..v>.v>..v....v..>.>>..vv.....>v..v>vv.vvvv.>>..v>.>.v>.v...v.vv.v.>>v.>>.>>.>.vv>v.v. +>..>v>....>.>vv.v...v...>.v.....>>>v.v.>..vv.v.....>v>>.v.>vv.>v..>.vvv.v.vv....v..>..>>v..vv>>>.vv.>.v.>.v>>..v..>>.>>>.vv>.v.......v>..>. +..>v>..>..v.>>.vvv..vv..v.v>>>>>>..v>v.>......>....v...>.>....>..>>v..>..vvv>v.>.v......v>>..>>>...>>v.........vvv>...>.v....>>.>.>.>>.v>v. +>.v..>v.v>.>.vvv.>>...>.v..v>v..v.v.v.>vvvv>>..v>.>.>>>..>.vv....>..v.v>.>.>v>v.....>.....vv.v.>v....>.>..v.vvv.vvv..>...>.>vv.>>..vvv..vv. +..>>vv.v.>.....v.v.>>vvv>v.>>..vvvv.>.>.>....>>v.v....vv...v.>.v.v>>..>...v..v.>>.>.vvv>>.vv.vvvv>.>v..>v..>.>....>v>v.v>vv...v....vv...>.> +>.>...v.>...>...>.v..>.v>>>.>.vv.vv..vvv>>.>..v.v..v.>.vv.v.>v.v..vv.vv>.v...v.v..v...>>..>v.v>>v...>>>...>..v...v.>..vv>>.>v...>>>.v...>>v +..>>.v.>v..>.>..v...v.v..>v..>.v.....>..>v.v>>..vv.v.v.>>..>>..v>..>vv.......v>.vvvv.v>>>>...>>.>v.>.v.>v>..>>.v...v.v.v.>.v..>v...>..v>v.> +>v.v>.v....v>vv.>.v.>.>>...v.v.vv.>....v...>v.>.>>...v.>v>vv.>...vvv..>v.v>>.>>..vv.vv>>v.>...v>v>...v>..>..>.v.>>v.vv.v......v>vv>.v....v> +.>>..v..v..v......vv..v.v>..v..v...>>>.v....v......v>.>v.v...v>......v.v>>v.v...>vvv>>v>.v.vv..>v>v>...v>.vvv.>v.>vv...vvv..v..>.v..v>..... +>....v>...v.vv>..>....>..v>v>>v.v.v>...>..v..>.v....>..vvvv..>.v>v>.vv..vv>>v>...>>.....v....v..>vvvv.>v...>>vvv>v.v.>.>>>v>>vv>.v.vv.>>.>v +>........v.....>.>v.v>.v.v.>.>.v>.v...v.>>.>...>>>v.v.vv>......v>...>v>>v.>>.>v..>v.>.>...>v.>.v.>....v.v..v.>.v...v.>....>...vv>vv>v.v...v +.v>vv..>>>>.vvv.>>..v.v......v>.>>...vv>v.vv...v.>>>v...>v..>..>>>vv..>....vv..>.vvv...v......>.....v..v..>.>v..>>>>...>.....vv..v.>>>vv..v +.....>.v.v..v>>.>v..>.>.>>........vvv.v>>.v.....>>.vv..v>>.v.v..>..v.v.>v>v..>.>.v..>v>.>....v..>.v...>>.>..v....>v>v.>...vv...>..>v>>.>.v. +v>...>.>..>.>..v.v.>>....v>.vvv.>.>>.>......>.v.>.......vvv.v.>v>.>>.>.>..>v>.>>.vv.v...v..v....>>v.>.v.>....v>>.>v>vv.>>.>>...>..>.v>v>vvv +..v>.vvvv.>>v>>.>v.>..>.v>.>vvvv..vv>...vvvv.vv.>>...v>>.....v>..v>>>v.>..>.v..>v>.>>v.>.v...>..v..>>.>>.>.>.....v.>.vv.v.>>.>.>>>...vv>.v> +vvv>v>vvv>v.>..v..vv>.vv...>>v..vvvvv>v.>v>.>>>..v>vv..>v.>.>.v.>..>>.>v>v.>..v>>.>vv..vvv>v.>.>vv>v..vv>.>.>v.v.>>>.......>v.vv>....>.>... +>>..v>.>.vvvv>.>.....>.>>.vv>..v..vv....>.v..>>>.v.>..>>vv.....>>..>>....v>.>.>.>.v.........>..v.v>.....v>...>.>..vv.>.v.v>....>...vv>>v.>. +>>v...>.>v.v..vv.....>.>.>.>...v..>v.v>>.....>v>v>>vv..v..v..v....v.v>..>>...>...v.>>v...>...>..v>.>..>..>v.>vv>v>.>v>..v...vvv>...v..v.>v> +....>..vv.>vv>....>.v>.v>vv.>>.>>..v>>.vv>.....>.....>.v>....>>.>v.>.v.>>v.>.vv...........v>.>.>v.v..>.>...>...v>...v>>.>>v>.v.v.>.v.>..>.. +...>v>>v>v>v.>.>>v.v>v>....>>.>.>vv.v>v.v.>vv.v>vvv.v..v...v.>.>...v>...>.>v.>v>v..v..>vv.>.vv.>.>vv....v>>>.>>>>..>....v>v>v.v.>..v.>>>v.. +..>.v.v..vvvvvv...vvv.v>.....v...>.>...>..>>.vv>v>.>>.vv..>>vvv>.>vv>.v.>v..v..v..v..v..>v.>.v...v.v..>vv.v>>v.v..>>...>..>v.v.....v.>vv.v. +.....v.....>>v....v..v.....v>.vv..vv..v>...>>.....vvvvvv..v..>.>>....v>.v>..>...>>..v..>..>.......v....>....>>.v>.v.......>>>v.vv>v.>.....> +>.v>.>>.>.v.>.>...v.v......v.>>v>.>.>>...>v>v>>...>.>..>v..>>.v>.vvvv.v>...vvv....v...>vv>>.v>..vv>vv....v...>...>>v.>>>.>.....v..vv.v>.>>v +>>v.v...vv..>..v.>..>.>.v..v>....v....>vv>>v.>....>..>.v...>.>..>...v>>.vv...v.>...>v.v.>>v>>..v.>v.>.>vvv>v..vv.>...>v>>.>>.>>..>v.>vv.v.. +.v..v>...>>>.>.>>vv.v..v...>.>>v>vv.>v.v..>..>.>....v.>.vv>>....v...v>.v>>>vv.>..v...vv.v...>..>..v>vv>..v>.v.vv>>...v.>.>>....v........vv. +v>.v.v.>.>.v>..v..vvvv...>vv.>v.vvv.>>>.v..>..v.>..>.>.....vv...v>>....v>vv>.>.v..>v.>.v>>>vv..v.v.>>.>v.>.v>..v>>....>>.>v..>...v........> +v....v>>>...>v..>v.>..vv.>.vv..v.v>.v>vvv...v>>...v>vv..>.>.>>.>v.v.v>>.>.>...>>.v>v.>..>>........v..v.>>.v>.>vv>...>........>v>...vv.v...> +.>.>v>.v>.v.>vv.v>.v.>v.>..>v.>vvv..v..v.v.>v.>v>v>>...>v.>..v.v.v>..>>.v>..>vvv>v..>...v>.vvvv.v.v.>>.vv........>v..vv...>v.>..vv>v.>...>. +.vv>>...v.vv>.v>v.>..>.>>..v.vv>.v.v>v.vv>v>.>.v>v>..v.>.v>v.vv>>.vv>..v.v>....>v.>.v.v.>>..v.vv..v..v..>v...v.v...>..>v.vv.>>v.v...v>>>..> +..>>>.>.>v>....>>>..>.>.v>>>..>v>..v.v.......v..v>vv.v....v.vv>.>...>>.>v.vv>v.>.vv>.>vv...vv.>..v.....vv.......>...vv.v>.v.>.>v>>.v.v..v.. +...>...>v..v>.v>.....vv.>.vvv>>..vv..>.v.v>v.>>v>.>.>v.>..v....v.>.>...>>>....v>.>..v.v.>..>>v.>v.....vvv...v...>.v>>>.v>......v...v>....v> +..>.>v.>...vv.vvv.vv......v.>v>...>.vv>v>..>....v.>...vv>v....v>v.>......v.....v.v.......v..>....>.v.>.vv..>v.v.>v.>v..>.v>v....>v>....>.>. +>.>.>.vv.v>.vv.>..>.vv..>..>v......v.v>>.>..vvv..>...>..>.....>>.v>.vv>>v>.vv.v..v.v>.>...v.>.vvvvv...v>.>...>>....vvv.v.vv.v......>.v.vvvv +v...v>>.>.v.v>.>>v>>v>vv.vv...>vvv>v.v>....v.v>v...v....>..v.v.vv.>v>.vv.>vv.v..v>vv>.>...v.vv.v>vvv>.>.vv>>.>.>>...v..>>v.>v>>>v>v..v.v>.. +..v.v>>>v>.>..>>....v>v.v.v.v..>.v......v...vv>>..>...>.>.>>..>.v...>v>v..v.....>v>>.v>.v>>.....>.......>vv>>v..>>>v....v.v..v.>.v.v>>v.v.. +.>>v>v>..........>vv.>.v>>>v.>>vvv....v>..>>>v...v.>>.>.v>......v>...vv..>.>v...v.>v>>..>.v..>..>.v....>..>.>>v>>.>..v.......>.v>>.>....vv. +v>>..>>.v>.......v.v..v>..>>>>>vvvv>..>>vvv>..>>...>.>.>.>vvv>.....v>.>..>..>.>vv..>.>..vvv>vv>.>.>.v>......v.>v>.v>...v>..v>>>...>.v..>.>. +.v>>vvv..>vv...>.>>vv.>...vv.>..>>.>v>>..v>....v>>...>..vv>v..>>.>>......>>...>...v.>..v>.>v...vv.v>>v>vv..>>v>..v.>...v>....v..v..v....v.. +.v.>vvv.v>.vv>.vv.v>.>.>...>.v..v>..v>vv.>..>>.v.v.>.>..>vv...v.>.>>..>>.>..v..v>..>.v.v.v>vv>.v>>>v.>v.v.>..>.v>..v.vv...>>.v>..v....>..v. +>.v.v>.>>v...>v>>..v.vv.....>..>..>>..>.v.....vv.....>.v>v.v.......v.vvv>.>vv>.v.>.>..v>>.>..v.vv.>.>>.....v.>v>vv...>.v.....>.>v.>>>..vv.. +>...>>.v>v.v.>>>.vv>.v>v..>....v.>.vv...>.vv..>..>.v.....v.>v>...v.v....vv>>..>>..>..v.>.>v>v.v.>.>v..v....v>>vv>.>>vv.>>v.vv....v>.....v.. +v...>.v..>v..vv........v...>>...v...>.v>.>.vv...v..>>.v>..v..>.>>>......>>>>.vv.>.>.v......>v.v>..>.>>v.v...v..v.vv...vv..>>>vv...>.>>>v... +>...>.>v.>v>.....v.....>.vv.>v.vvv>.v>>vv....>>vv>....>v.>v..v>...v.>>..v..>..>.>v....v>.v>.v>v>.>>.>.vv>.>....>...>v....v.vv>..vvv.vvvv>v. +>.vvv..v..>>.v.v....v..>>.v..vvv....>.v.>vv...v.>v.>v>vvv.v..>...>v>.v>v>v..>>>>..v>>v>.>v>>.vvv......vv>.>.>.v>.>v>.....v>>>.v...>..v..v.v +...>>..>>vvvv.>...v>.>.v>.>>.>......>>>...>>.vvv...vv.>.....>.>vvv>....>.>>v>.>...v>..v..v..v.>v...>..>v......v..vv..>.>v.vvv....v..v>.v... +...v..vv.>..v.>v..>.....v..vvv>..v.v.>..v.>.vv.v.v.>.v>.>>>..v....>>v.v.>.v>>.>v>vvvv>.>v......v..>.....>.>....>..>.>vv.....vv.>.>>...>.>.v +>...v...v..v.>v.>>.>...v>.v.v>>....>.>>v.>..>>.v..>>...>..vv>v.v.>.v.v.>...v.>v.....>.vv.>..>>.>.>.vvv.vvv.v.>....vvv.vv..>..v.>v.......... +.vv>v...>.v.>..>vv.v..v..>.v>>>...vv..>.v>>vv>..>.>>v>.v...>.vv.vvv..v.v.vv>.>..v>v.>>..>v>>...v..vvvv..v..>vv>...vv...>>...>.>>>.>...>v.v. +>>.v.v.v.>>v.>>v>.>...vvv>>>..>>.vv....>vv.vv>vv.v..>.v.vv..v>>.v....v.v.>.>..v.>>.>>.v..>>.vv>v>.>vv>..v>>..vv>>>>.v>.>>v.>.>v..>.>.>...v. +..v....v.v.v>.>.v.>...v..>.v>.>vv..v.>..v..v..vvv>>.>..v>..v...>>>>vv>v>vv.>...v.v>.>..>vv>>..>vvv.>v>>>v>vvvv>.v..>.v.>.vv.>.>.vv>..vvvvv. +...v>.>>.>>>.>.vv>.>>.>>>..>v>>.>.....>.>.>.v>>v..>.vv>v.v>>v...vv>vv>.>..v.vv...>.v>.>v..v...vvv..v.>v>>.v.>.v>>...v...>vv.v>.vvv>>.>..v.. +v.>.>v.vv>vvv.>>v...>>......>v.>..>v>v.v....>...v..vvvvvv..>v>v..vv>...>>...>v.v>v>>vv>..>v..vv.v>.v.vv>.v...v.>v..>v>.v>..>..v..>.>..>..>. +.>>v>.>>..v.v>...v.v....v.vv..>v>....>v.v......>>.>...>>.v>.>...v.v.>.v>>v.>>>......>>.v.v.>...v....>>.v.v>.>>v.vv..>>v>v>v.v...v.>>.>...>. +>>........vv..vv>v>>..>>>..vv.v>>.>vv>>>>.v.>>v>...v...v>>v....v.....>v..>..vvv.v.....vv>v>v>v>..v>.>vv>v.v.v>...v>.>vv.v.v>.v..>.v......v> +..>v..>v>v>>>v.>>....v.>>vv>v>>..v>..v..>>.....>v>..>>..>....>v..v.....>vvvvv>.v..>.v>v.vv.>v....v....>.v>.v.>.v>>...>..>.v>....>..>v>vv..> +>>>>.>..vvvv..>>.v..v...>v...>..vv..>>.v.>v>.>v.>v>>v.>>..>.>v>v.>v..v>vvv.>v>>.>vvv.>.v>v.v.v>>>>.v>v...>v.>v>.>>>v.v.>v>.v.>....>v.v>..v. +.v>>.>>vvv.>..>.v>>>vvvv>>...>..>vv..>..v..>v..>...v>..>v........v>>>.v>.v>.v..v>vv...>>.v>v...vvvv.vv>vvv>.v.>...>.>.v.>>.v>v>...v>..>>..> +.>..vv.vv.v.>v>>v..v>>>>v>>...v>...>.>>>.v..v......>>>>>....v.>>....v>v.v...vv..vv.>vv...v.v.......>v>..v>>.>v...>.v....v>>>....>.>.>.>>>v. +v..v.v>..>...>.v.v....>v...>v...>.>..>.....v>v....v>.>..>.>v....v>vv...vv.vv...vv>v..v..>>...>>..vvv..>v..>>v.vv>.v>..>...>v...v.>v>v...vv. +v.v..>.vv>..v>.v>.v..v>>v...v..>.v...vv.....>vv.......>....>>vv.>..v...vv.v>vvv..>v.vv..v..>>...v..>>..>..>.v>....v...>...v>.v.v...v....vv. +.>>>.>.......>>v.>...>......>.>.>.v>v..v...>>>.>v..v.vv>>..>.>.>.v.>>v.v......v>v..>.>..>v......>vvv.>>v.>.>...vv>>..v...>..vv..>.v.>.>.v>. +v>v...>>>.v.>>..>vv.vv>..>.>v....>v..>>.>.v>....>v>.>...vv....vv..>>v>...>.>v...v.>.vvv.>>..v.v>>>....>.v.v.>..v.....v.>.>v..>....vv.>v..v> +vv.vv>>>.vv.v...v.>.....>....v.>>>...v.>v.v...>vv.vv>.vv.v......>>...>.>.>..v.v>.>vvv>...v>>v.>....>v>..vv..>.v.v..v>v....vv.>vvv.>vv.v..>> +>>..vv...v....>.>v.v>.>..>v.vv>.v....>>v>v>.vvv......>..>.v..v.>..v..>v..>.v.v>>....v.>.v>>..v>..>>vv...>v>...v.v.v.v.v>vv>v>>v>v.....v>... +...v.>>>.>.v.v>.>>..v.>.vv>.>.vv....>>.v.vv.>.>.>...>.v.v.v..v...v>v..>>.>.>..>.>>....>..>>>....vv>v.>>v.>.v>.>v...v>>v....v.>v..vvv>vv>>.> +.v>.v.>>..v.v.>v>.v.>>....v.>.v...v.>v......vv.>vv..>>>...>vvv.>.v>vv>..>>>..vv>....>v.v>.>>>.v>>v...>>...>v..>.>...>>.v>..v>>v.>..>>.>>v.> +....vv>>..v.>.v.>>.....>.>....>>>v..v...v.>..>.v......>..v>>v>..vv.....v...vv>...>>.>v>...>.>.>...v.>.>>v>.v.v.>...>>....v.>.v>>>..vv.>v>.. +..vv.>v>>v...>>vv.>v...v>>.>>.v.v.>v.>v..>>v.......>...vv.vv>..v>..v>.......>>v...vv.>vv..>..>v.....>vv.>.v...vv.v..>>v>.>.>.vvv>......v... +>vvv>.....v.v>>.vv..v>.>v>.>.v>>>v..>.v>..vv..>>.v..>.v>..v.>>...>v..>>v.v.>>v.>vv.>.v>.v....vv>..>>>>v.v>..v.vv>.v>vvv>>.v.v>>v>.vvv.>.>>v +>v.v.>v..>...>.>v>v>>vv.>.>.v...v.>.v.v>.v.v>>.....v.v>.>...vv.>..vv.v>v....>.vv..>>.vv..vv.v>.>>v..v.v..>..v.v.>...>..v.vv.v..v.>v>>vv>v.> +.>v.v..>.>..v..>v..v.vvvv.....>.v..>.>>v.v..>>vv>v.>.>.>...v...v....>..>>vv..>.>...>.v...v.>.>.......>>>..>>.v...v>..>.>vv...>.>>>v...>>>>> +vv.v..v..>v......>...>.v.....>>.vvv>>>..v.v.v>..>v..>..v.>..>>...vvv>v>>..>>vvv.>v..v>...vv....v.vv.>.>...........v.>>vv.>....>v>vv.>>.>.v> +>>>.>.>.>.>...v>>..>.v>>v.>>v.>vv..vvvv>>..v.v>..>>.v...>..vv.>.v..v.>.vvvvvv..v>>...v....vv>.>>v>v..v.>>v..v..v.v.v...>v>.v.>>>>.>>.>>.... +...>>v>v.>v.v.>.>>>>v..>vv..v...v..>v..>v...>>>..>.v.>>..v.>.vvv>.v..>.....v>>......>v....>v.>.>.v..>..v.v>>..vv....>..v.vv.v.v...v..>>.>.v +v.>v>.....vv>>.>.v>.vv....v.....>v..>>>.>vv>..v.v>...v>vv..v.>v>...>.>v...>vv.vv.v..>>....>.....>..vv..vv>...>.vv..>v..v>v.>.v>..>>v>..v.>v +..v>.>>.v.>v.vv..>..>v>v.>vv..v..v.vv....v>vv....>.>vv.>>..>..>.v.vv...>..v..v..>v..>....vv.v......>v>..v>>..>.>.v..>.>....>>.>v.v.vvvv.>.. +v..>>v.v.....>v..>..v.vvv.v>v....v..>.v>..>>v.>...>v>...v>v>.v...v.>>.v....v..>.v...vv>>>...>>.>>v>vvv>..>.>.>>>v>..vv>...>..>.vv>v....v... +vvv>v>vv.v>v>vv..>>.vv.>v.>.>>.v>..v...>..>v...v>.>....>v>>.v.vv....v..>.v.>......v>vv>v.>..>v>>..vvv>>vv.vvv>..........>.vv....v>>.>v..>>> +v...v>v..>v.....v>>..>.vv..>>..v>.....>..vv>.v...v.v>..vvv.....v..>>v>v..v>.v>..>..>v>.v>>.>..>...vv.>>v..v.>.vv.v..>.>>>>>.v>>..>.>.>vv>.. +..>..>v>.>v.v.>.v>vvv.v.v.v.v.>.>vvv.....v.>...v>vv>v>.v.>>>.>.>>.v.>..v.>>>>.>..>vv>v>v>.v.>v...v.vvv>.....v.>>>>.v.v>>...>.v>..>.>..vv..v +.>..vv>.>v...vv.vv>...>..>..>..>..>>..v.vv>...>.......>...v>>>.v>.v..>vv.v.vv.v..v>.v>.....vv.>...>>>>>>.>>v..>.v>.v...vv..v>>.v>....>...>. +.v..>....v..>.>...>>v>......>.v.v>...>.>..>v...>v...>>..v.>..>v>...v>.>..>>..>.>.vv.>...>v.v..v>>..>.>.v.v..vvv>...v>.v>>.v...v..>.>.>.vv.. +>..v..>>v.>>>...>vv.v>v.>>..v..........>..>v..>v.v..v.>v.>..>>v>.>...>..>..vv....vv.>...v>>v.v..v...v.>v>>.....v....v>v>>>..>>.v..vv>v...v> +vv>>v..>.v>........>.vv>.v.v...v.>>......>v.v.v.>>..v.vvvvv.>...>>....>>>.>>..v>vv>.v.v..v.>>..>v.>v..v..v..v>....>>vv>.v>.>vvv>v...>.v>... +..v>..v.>.>>..v>.>v.v>v.>....>>..>.>v..vv.......>.vv.>.v..>>>.>>>>.v..v.v......v>....v>.vv....>.vvv>.>v>>....>>>v>.>>.>v.>>.v.vv..>>>..v..v +.>>v>.>>..v..>>v.>>..vv....v>>...v..vv..>v.v....v>..>>..v..vvv>....v.v>.vv...>.>>>v..v>v.........v..>vv....>.vv>...v>.>v..>v>.>v..>...v..>. +>..v........>>>v>.v.vv.>>vvv.>.>v...>vv...v..>..v.>.v>>....vv.v.v.>..>>>vvv...v>>vvv.>.>>>..vv......>vv..>>vv>>..v.vv.v.v....>..>..>v...>v. +...>.v.v>.>.vv.>v.vv.v...>v>v>.v>...v.>.....>.>...vv.>.>.v..>vv..v>vv.>.>....v>.v>v>>vvv>.......>.v....vvv.v>>>v..v>vvvv.......vv........v. +.>..>>.>vv...v.v>>>>>...vv.>vv.v......vv.vv..vv..>>v.>>..v.>>..>.>vvv..v>.>v>v>v...v...vv.v..vv...>....>v>.>....vv>..v.>.>..v>v..>vvv.>v.>> +v>.v>>..v...v>.v.vv......v>vv.>.v.>.v.....>..v....>>...vvvv...>.vv...v>>.>>.>>>>.....v>.>.>.vv.vv....>.>.v>>>...v..>v..>>>..v..>vv>.>....vv +.v.>vv....>.....vv.>..vv..>v>.vv>>>.v...>v.v.>.v..v.v...>..v....vv>..>..vv>v>>..>.>v>v>...v>.>>...v.v...vv.v..v>vv.>.....v>...>>v>v.......> +v.>.v..>>v.v.>v...v.>>>v.>.>>>>>..>v.v.v...v.>v.........>>....>v>>....v..v>>>.vv.>.....v>>v.v>>..........>.>vv..>.>.>....>>>v.>>>v..>...v.. +v..>.>>>v....v>>.v>.>vv.v..v>.v.v>.>..>>.vv.>>v>..v>vv.v....>vvv>>v.v.v...>>.vvv.v>v.v.v>..>.>.v.>>...>.v>>...>>.v..v>>.v>v.>.v>>v.v...v..> +>v..>v.v>vv...>..>v.....v..>v.v.v>vv.vv.>......>.vv>...v..>....>>v..v>vv.v>.....v...>>.>>....>.v.....v.>.v...>.v.v..v..v....v.vv>..v.v>v..> +.>v.vv>.>>.>v>.vv.>.>v>..v.v.>>v.v.v>.>v.>..v>>vvv...v.vv>>...v>>.v.>v....vv>>>vv>v.v.>.v>>>v>.v.v...v.>.>..>>.>>...v..>>v>>.v.vv>..v>v...> +..v.>>v.vvv.....v..>.vvvv.>...v>>>.vv>v...v>>v.>...v>.>.v.>v>.>.>...>>.>.v>...>>.v..v...>...>.v.>v.vv.>.v.v>.v.vvv>v..v.v..>vv>>.....>.vv.. +>v....>.....>v.v..v.vv.>>v.>v.v.....v>>>v..v.>vv.v>.>.>v.>v.vv>.v>v>.>...v.vvv..>>>>..vv>..>v.>.....>.>vv.>..>v...v>.>>.v>v.>>..>>v.v.>.>v. +v.>v>>.....>.>>v>.vvvv>>>.>v.v>...vv.....v..>vv.v>.....>...vvvv.vv>>.vvv.v..v.v....v.>....vv>vv.>....v.v.>vv...v..v.>>vv...>vv>.>.>>.v.v>.. +vv>>....v>..vvvv>v>>.v>>.>..v.>>>.>.v..>.>>vv....v..vv>>v.vv.vv>.>...v...v.v.>v.v..v..v..>v..vv.....vvv>..v>>.....v>>.v.....v.>..v.>v.>vvv> +>v...>.>..v.vv.......v.v.>..v.>...>...v....>>.>>vv>.>>...>..>.v.v.....vvv>..>.v>..v>vv..>v.v>>.v>...>>.v>vv.>>v>.vvv.>..v.>...v..v.vvv>v>v> +..v.>>vvv..>.....vv>.v>>v>..>...>vv.>..vv>.v...>v>>>..v>>v....v..v...>.v.v..v..v..>.v...v...>.>>>.v...v.v.>>>.v.....v>....>.>v>vvv..v>>..>. +>...v...>.v.....>>v>v..v.>>v>v..>>v.v>>...>v......>.>.vvvv...>v.>..>v.>.v>>.v...>.vv.>....>v......>..v.v.>.v>..vv>v...v>.>>v>.v.>..>....>v> +v.>..v.>.>..v.vv..>..>.>.v>v>v......>v.v..vv>...v>>.>..v>..>>..v.....v.v..>v>.>>.>.vv>..>>..vv..v>..v...>..>v..>>v..>v..>.>vv.>v..vv..>.>>> +.>.v>..>..>......>.>.>..v.>..v.>.v>>.v......>..>....>.>>.vvv.....>..>.v.>.>.v>..>..>>>vv...>..>.>vv...>>v.vvv.v.>.v>v>>>>.>>v..>vvv.vv.v>>> +.v.vv.>.......vv..v.>>.>>v>>>v....>...v.v..vv>>>>>.v.>.v>v>>.v.>v.vv>vv.>v>>.>>.>v.>v....v>v...v.vv..v.>>.v....v.>>>.>>v.>>.v.v.>.v......v. +..>..>.>vv....>.>.v.....>vv>.>>...v.vv>v>>.>......>v...>>v.>.v.v.>v>>.v.>.>.v.....v>v.>.v....v..v>.>>....v..v>v>..v.>....>>>v.vv..>>>v..... +.v...v..v...>>>vv.vv..v.>.vv>....>....v.>.vvv.v..vv>...v.>>v.v>>.v>.vvv...>..v.>...v>v>v>vv...>>v.>.vv.vvv.v>...>.>>.v>.v.>.>..>..v..>v.... +...v>>..>.>vv>>>v..vv.v>.>>>.>..>>.vvvv>...>>vvv.v..v>.>vv>v.v...>>....v.v....>..>..>.>>v.>.vv.vvv>.>v...>v>..>.>v>>.v>>.vvv>.>>vv>>>>vv..v +.v>>.v.>>...>.......v.v>.>...v........>.v.v.....vv....>.v>....>.v.v>vvvvv>...v>v.v.>v.>.>>>..vv.>.>v>.>.....v>..v>>...>v...>.v.v>..>...v.>. +v>>.vv>vvv>.......>vvv..v.v..>>..v.>v>.vv>.>>v>...v>.v.v>v.>.>...>...>..v.>v....v.>v..>....v....v....>>...>.>.v.>.....>..>.>v>..>.>v>...v>> +...>..>v..>>>v..v.........v..>....>vvv..v.>>.>..v>...>.v.>v.v..>...>>>...>.v>>....v.v.>>>v>..>>.v.>...>.v>.vvvv.....>..v.>v.v.....v>..>.>.. +.>v..v>...vv...v..v..>......vv.v.>>.>.........vvv.>.vv.>....v>..v.v.>v.v..>vv.v.>.>>...>v>>.v...v..>.>.....>v.v.......>..>.vv>...>..v.>.... +>v>>.>v.>>.>>>>>v...>..>..>..>>v>...>>v....v..v.v.>.....v.v..>>v...>.vv>.>.>.v>>vvv...>.>.>.v.....v.>.v.vv....v.v.vv.v.v....>vv..v...>..v.. +>...v.>v....v..vv>>>..v.v..v....vv.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.vv>>>..>.v>.v...>>..>..>..>v.vv>v.>>v>v>>v>>v>>.v>vv>.>.>>vv..>>>.>..>.>vv.>.v>vv>.v>v.>v.v>.>.v.>..vv>....v.v.>v>.>..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.>.....v..>.>>...>v..v>..vvv +>....vv...v.v>>v>vv..v....v.vv.vv>>......v>v...v.v>v...v>>v...v>>..v.>v...v.v>..>.vvv..>.>>..>.>.vv..>..>>.>>.>..>>.>...>>>>v>.v>.>...vv.vv +..v..>.vvv>.v.>..v...>vv>.v.vv.v>..v>.>.....v.>v>vvv.vvvv..>..v.>v>vvvv.>.vv>>.>.v.v>.v>.>vvvv...>....v.v>.vv>..>vv...v..v.>.v..>>.>.>...v. +.v...v...vv.>v..v>v>v..>>v..>v.v.>.>v>>.vv>>.>....v.>>.v>....>vv.>>..>.v>>....v.>..v>...>.>...v>>>v>v>vv>>>.vv>.>>.vvv..>v....>..>.....v>vv +.vv>.v.>..>..v.....v.v.>...>v>v..v..>v>>>>v.v..>vv..v>>.>>v>...v.>.v>v.>>>vv.v..v.>...vv...>v.vv..>vvv.v...v..>>v>......>.v..>..>>..>v.v..v +.>>.v.>..>v.>vv.>.>.v.>vv.>.v.v..>v.v...v>>.>....v>v.>>....>v..v.>...>vv..>..vv..>.vv.>...>..v>>v.v..v.......>...>vvv>..v...>.v>.>v>..>.... +v.v.v>...>.....v.v...v.v..>.v>.vv>v.........>..v>.v..vv>..>.v>v.v>..v.>...>..>v>v>..........>.>...v>.v...>..>v..v>....>..vv..>>...>..vv..>> +v>......v.>..v.>...v..>v......v..v.>..>..>v...>..v....vvv...>.vv....>.>>.>....>v.>>>>>.v.vv..>>>>>>..>v..>.v....v.>v.vvv>>>...v....v..vv..> +>.vv.....v>v.v.v>v>.v>>v..>.v..v..>..>.....>.v.v.>>>..v..v>...v...>...>....vv.>v..vv....v.v>>v>vv..v..v.v>v.>v>vv>.........>.vvv..v.v>>..>. diff --git a/day25.bqn b/day25.bqn new file mode 100644 index 0000000..2af1c5e --- /dev/null +++ b/day25.bqn @@ -0,0 +1,11 @@ +_fixcnt ← { 𝕩 ≡ 𝔽 𝕩 ? 𝕨 ; (𝕨+1) 𝕊 𝔽 𝕩 } + +d←>•FLines "day25s" + +•Show 1 { 𝕊 ⟨east, south⟩: + east ↩ ((¯1⌽˘east)∧¬south∨east) ∨ 1⌽˘(¯1⌽˘east)∧south∨east + south ↩ ((¯1⌽south)∧¬south∨east) ∨ 1⌽(¯1⌽south)∧south∨east + east‿south +} _fixcnt (=⟜'>' ⋈ =⟜'v') d + +# 601 diff --git a/day25.clj b/day25.clj new file mode 100644 index 0000000..6489d9c --- /dev/null +++ b/day25.clj @@ -0,0 +1,48 @@ +(ns org.vuxu.aoc2021.day25 + (:require [clojure.string :as str])) + +(def data + (->> (slurp "day25") + str/split-lines + (mapv (partial mapv identity)))) + +(defn step-east [data] + (let [lx (count (first data))] + (vec (for [y (range (count data))] + (vec (for [x (range lx)] + (cond + (and (= (get-in data [y (mod (dec x) lx)]) \>) + (= (get-in data [y x]) \.)) + \> + + (and (= (get-in data [y x]) \>) + (= (get-in data [y (mod (inc x) lx)]) \.)) + \. + + :else + (get-in data [y x])))))))) + +(defn step-south [data] + (let [ly (count data)] + (vec (for [y (range ly)] + (vec (for [x (range (count (first data)))] + (cond + (and (= (get-in data [(mod (dec y) ly) x]) \v) + (= (get-in data [y x]) \.)) + \v + + (and (= (get-in data [y x]) \v) + (= (get-in data [(mod (inc y) ly) x]) \.)) + \. + + :else + (get-in data [y x])))))))) + +(def part1 + (loop [i 1 + data data] + (let [data' (step-south (step-east data))] + (if (= data data') + i + (recur (inc i) data'))))) +;; => 601 |