Day 25 Part1

This commit is contained in:
Karl Spickermann 2021-12-26 15:00:03 +01:00
parent 2e59d1bdc0
commit ac1f606d4a
4 changed files with 237 additions and 0 deletions

84
src/day25/day25.go Normal file

@ -0,0 +1,84 @@
package main
import (
"AOC2021/src/helper"
"fmt"
"os"
)
func main() {
args := os.Args[1:]
input, err := helper.GetInput(args[0])
if err != nil {
fmt.Println(err)
}
field := make([][]rune, len(input))
for i, row := range input {
field[i] = []rune(row)
}
run := true
counter := 0
for run {
run = !step(&field)
counter++
}
fmt.Println(counter)
}
func step(field *[][]rune) (noMovesFound bool) {
toEast := getAllToMove(field, '>')
executeToMove(field, toEast)
toSouth := getAllToMove(field, 'v')
executeToMove(field, toSouth)
noMovesFound = len(toEast) == 0 && len(toSouth) == 0
return
}
func executeToMove(field *[][]rune, toMove [][4]int) {
for _, move := range toMove {
cucumberType := (*field)[move[0]][move[1]]
(*field)[move[0]][move[1]] = '.'
(*field)[move[2]][move[3]] = cucumberType
}
}
func getAllToMove(field *[][]rune, cucumberType rune) [][4]int {
toMove := [][4]int{}
for i, row := range *field {
for j, _ := range row {
if (*field)[i][j] == cucumberType {
destiny := getDestiny(field, i, j)
if (*field)[destiny[0]][destiny[1]] == '.' {
toMove = append(toMove, [4]int{i, j, destiny[0], destiny[1]})
}
}
}
}
return toMove
}
func getDestiny(field *[][]rune, i int, j int) [2]int {
switch (*field)[i][j] {
case '>':
j++
if j == len((*field)[i]) {
j = 0
}
break
case 'v':
i++
if i == len(*field) {
i = 0
}
break
}
return [2]int{i, j}
}
func printField(field *[][]rune) {
for _, row := range *field {
fmt.Println(string(row))
}
fmt.Println()
}

137
src/day25/day25Input.txt Normal file

@ -0,0 +1,137 @@
>.v>vv>>..vv>..v.v......>v>>>v.>v.>..v...v......v>....>.vv..>>..>>vv.>..vv>>.>...v...v.....>.vv..>v...>.>>...v>.>>..vv....>>.v.v>v>v>vvv.vv
...vvv.v.vvvv>.v.>..>.>>>v..>v...>..v..>.v>>.v..v.....>v..v.....>vv..vv...vv.v...vv>.v.>..v..v.>>.v>>>v.>>>.v..vv>>.....v.....v.v>>v......v
..v>..v>.>>vvv>>...v.v..>>....>vv>.>v>v..>>>v...>.......>.>>>v.>>v..vvvv...v.v.v.v...>.vv.>>v>...>.....>>....v>..v...v.....v..v>>...>.vv.v>
..>.....>v>.>vv.v..>>>.>...v>.>.v.>.>vvv....v...v..>.......>v>vvvv>>vv>>>.v>v....vv..v..>>.v>>v.>..vv..v.>..>...>....>.>.>.>..vvvv>.>>..>>.
....>.>vv.>.>>.>..vvv.>vv......>...v.v..v..v>...v.v>>..>...vv..>>.>..>v>..>..>...vv.v..v>..v..vvvv..>.v>>.>..>>v.>v>v....>..v..v..>..v>...v
vvvvv.v.v.....v>.vvv.............>vv.vv>v.v..>>v.>..>v>v...>v>v.>vv.>.>......v>vv>.>.>v..v>>>.v>v>.>.v>>.>>.vv.v>>>vvv..>>>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>.vv.v..v>.>..v....v>.......v
...>..v.v.v>v.>..>..>.>>>v..vvvv>...>.vv>>..v....>.....>.v>>>v.vv.>v>..v..>>>..vv..>.v..v>..vv.>>.v>v.v>.....vvv>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.......>..>.v>>..v..v>vv>.v>v.v>v....>..vv.
....>.v..>..vv..>>.>.v>>>.....>>v..v..>.v>...>....vvvv>.v..>.....>..>>v>>>vv....>.v>>.>>.>.v>vv..v....v.>>>.v>.vv...>.>.>>vv.>>.v>....v...>
.>.v>>v>.>.......v.v>v>v..v...v..>>>v.vv.v.vv...v....v>.>>.v..>>>v.>>..vvv.v...v.>vv..>v.v...>..>>vvvv........>v.>....>.v.>...vv..>>....>.>
v>>.v...>v.>....>>.vv...>.>.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.
.vv.v.v...>vv..vv.vv.vvv>.>....v....>.>..v..>.v>.vvv.vv>v..v.....v>.v..>..>..v>>...vv>..>...>>.........>..v...v>........v...>....>..>>>vv>.
.>v....>..>v>>.>>>...vv>.v.vv..v....>>>..v.>>>>v.v.>..vv.v.>v.v....>.>vvv.v..v...>vvv>.v.>vv.v..>>>.v>.>...>v.>..v>.vv...>....>>.>v>.vvv>.v
..>.....>v.v..v>.vv...>..vv..v.v>.>.vv.....>.vv..>v>v..v.v.v....>...v.vv.....v.>...>>.>..vv.v.vvv....>v..vv.>....vvvv.v..>v.>...v>>..>>.>..
v.>>..>.vv.>.>....v.vvv.v...vv....vvv..>..v.vv..>>>...>.....v.>>....v.>>>.>>.vv.v.v.v>.v>>.>vvvvv>.>....v>>.>>.v.>.v...v.v>.....vvv>v..vvv>
..v>v.v>.v..v..>.>vvv..vv.>..>v....>....>..>v>v..>>.v>v..v..>v.>>>>.>..v.v.vvv>.>....v.>v...v>>..>..>vv...v.>..>..vv..v.vv..>v.>..>>>>.>>.>
v.>vv..>..v.>vv>....>..v..v>v.vvvv.>..v.v.>v..>..>>....>.vvv>.>>>.v>.v..vvv....>.v.v>v.vv>vv>..v.>v..v..>>...>.....v.>>v.>>>vv>>>v.....v.>v
>>>v>.>>.v>>..>.>>>..>>>.>..v.v.>.......>v>vv>v>.v.vv>v>.>v..v.>v>vv.v.>....>vvv>v.v....v.vv>.v...>>v.>v>>>..vv...>..vv...v.v.v.vv....>>vvv
.>.v..>...>...vv.>v..>..v.>v..v.v>.>...v..vvv.v>>.>vvv>v.v.v>>..>.v>.>.v.vv...v.v>.vvv>..>.>>..vv>....>>.v.>..>...>.>>v.v.v..v.>>..v>.>..v.
.>>.v>>..v>>.>.....v>vv>>>v.....v....v>>..v.v>v.v>vv.>>....v>....>v..>>.......>.>.vv>...>.>>>..v.....>.v.>>>..>v..>>.vv>.>vvv>>vvv........v
...>v>>vv..v.vv>v...v..v.....>>>>.v>>>v>v...>.>v..v.>.....v>..>.v..>>vv..v...>>>vv.>v..v.>>..>....>>.v..>>>.....v..v>>v.>...v>..>>.v.vv.>.v
.vvv...>.v>>..>.....>.>..v>.>.v...v>>..>.>>v..>...>.v.>vvvv....>.v....>.v.....vvvv>v.>.>v..>...v...>>>>...>vv.>>v.v>.v.v.>vv..v.>v.>v>>v.>.
>v.v>..v...>.>>>v.>.>.>v....>v...v.v.....>.>.vvv>.....vv>...vv>...>>.v.v.........>vv>v>..>.v.v>>v>v>.>..v......v>.>>>>>vv..>v.>...>>v..>v..
>..>v.vv..v>>>..>>>v>.>v.vv.vv.>>...v>.vvv..>...>>.vvv.v......v...vvv.v.vv.>.>.>>v>>..v>>...>>>v.v.>....v>.vvvv>>>.vv.v>..v...v.>.vv.v>.>v.
>>v.>>vv>v..v....v>v.>>.>...>.>v...>>..vv...vvvvvv...>..v>...>v.v..>>.>.v>.v.v.>>>.v.>v>>..>.vvv>vv..>v>>..v...>...v.v.>.v...vv...>v>.v..>>
.>.v......>>.v>.>..>..v>vv>...vv.>>v..>..vv.vv..>>..v..vvv..v..vvvv.>.>>......>>.v>>....v....>>.v.v...v.>......>..v>.v.>v>..v.>..v.vvv.v>>.
>..>.v>>.>vv...>>v>>...v.>v.v.>>v.>..>>..>.v..v.vvv>>..>>.v..>..v....v.......>>....vv>.....>>.>.vv......v>vv.v..v>v.......v..>>..v.v>>>v>>v
vvv..>..v>>..v>.v..>.>...>vvv.v.vvv....>.v.>>.>v.v.>.>v.>>vv>v>.v>>..>..>..v.>v.v>..v>>..>.vvv..>v.>.v.v.>vvvv.......v>.>.>..v>>>>>>..vv.>.
....v..vv....>v.>>v.v.>.>v.>..>.>v.v.v>.v...>>v..>..>.vvvvv.>vv.>>>v.v.v..vv.>>.>.>.v.v>..v.>vv..>v..>.v>..>.>v.>v.v...>v.v.>v...v..>vv>v.>
.....>.v.v>>vv.......>.>>.vv>..v...v..>>>..>>v>>...>>..vv>>>..>...v>>>vv...v...>>...v..vv.>v..v>.v>..v..v.>>>.....vv..v...v...>vv..>..v>...
>.>v>.>>.>v>>v.>v.>>>....>.....>>..v>.v.vvvv..>..>v......>...>..vv...>vv.>>..vv..v....>.v..vvv..v>v>...>.v.....>..>.>.>>..>.....>....v>>.>>
vv.vv>>>...>>...>...>..>....v>v.v>.v>v>.>vv>..>.v..>v.>v.v..v..>v..>vv>..v.>.>v.v..>>>v>v.>v...>.vvv>.>>v.>>v>.v>..>..v>....>vv...>v.>>....
>vv.v>v>v>v.>v>v.>v..>vv.v>>.>...v>.v>...v>.vv>......>.v.>....v.vv..v>>...v......vv..>..>v.v>>>......v....>.>>....>.v>vvv.>>........>.vv...
vvv>......v>..>..v>..vv.>...>.>>.v..v>.v.v>v..>.....v..>..>.>>...vvv.>>.vv..v>>...>.>.v..>.>>v..>>.>>v.>.>.v>>>>v.v.v.v>.v....>v..v....v>>.
...v.>vv..>.v.vv>..v..vv..v..v..v..v....>..>v.....v>....vv.>vv>v>...v.>..>...v.>v.>>.v>vv>v>...v>v>>...>..v>.>.>>vv>.v..>>>vvv>..v......>vv
v.v..>v.....>v..>vv...>>..>.v....v>v.v.v..v>>...>>.v.v>...>>>v...>>.>vv...v.v>v....v.v.v...>...vv..>....v>>v>v>.v....v.>>..>>>>>.>.>.>v>.>.
>.v>.vv.>..v...v>>...>vv....v>.>v>v>>v.v.>>v.>>..v...v.........vvv....>.>.....vv.v...>>v.vv.>>vv.>..>.v.>>...>v..v>v.v>>vvv>v.v.>v>.>v>...>
v..v.v.vv...>>.v>..v.....vv>>v>>>>v...v..v..>...>..v>..>>.>>>v...vv.v.v>..>.vv>....v>.v>..vv..>>vv..v..>...>>>v>v.v..>..>>vv..v>.v..v>v.v>>
v...v>v...>v>v>...>..v.>v...v..>>>v>..v.....vv..>....vvv>>v.......>..>>>.v>v.v.vv>.>>>>>vv>>>v.v.>>.v>>.>..v>v.v..>.>>.>v...v.v.>.>.>...>v>
.v.>v..v.v.>.v...>v...>..v>>>v..v>.>v.>v.>...>v.v..>.v>v>>v>.......>>..>v.>>.......>v>..v>.vvv..vvv.v.......>....>v>.....>...v>.v>>>.>v.>.v
vv....>v.....vvv.>.>vvv..>......v>>v.>v>.v.v.vv.v>v.v......v.>v>>vvv>v.v.>..v>vv.>.v........>...vv>v>......v.v>>>.>.v>>>v.vv...>>...v>.>..>
.v..vv.>.vv....vvv>.v.....v>v>.v>..vvv..v...>>..v..>>.>>v..v.>vv...>>>....vv>.v..v..vv..>.>>>...>>v..>..>.v>.vv>..v.>v...>.v>.>..>vv.v...vv
>....>>>v..v>v..>v......v>>>.>..>.vv.>...>.>>>>>v..>v>..>>v......v>v...v>...v...>.>.>.v.v>v...v...v>..v>>v...>.v>>...v...>>..>.>vv>..>..vv.
.v..v........v>.>.v>v.v>.>v.v.>>>..>..>.v>.>v>vv.v.>v....>.v.vv.>..>v>vv.>v.>..>.v..v..>v....v>vv....v.>>.>....v.>>.v...>v>..>...>...v.v>..
>>.v.>.v>.>vv...v>>v>..v.v.>v>.>....>>>..>.v>>v.v.....v.v.....>>...v>>.vv>......v>>>.>.>v>v........>....v>..v.>.>..>>.....>v>vvv.>..v.>>..v
.v.v..>>.vvvv..vv.>.v.v....>.v>..>v.>v.v>..v....>>>.>>>>.....>.v.v>>v>.v>>v>..>.vvvvv.v>vv.>.>v>v>>v.>........v>.v>.>>v..>.vv>>>>.>.v..>.>.
.v...>v.v..>v.>v.>>..vv>v>.>v>.v.>v....>.....v>...vv>v.v>v>..>v>.v.>...>>.v...>>vv>..v.>>v>......v...v.........v.>v>..vv..>.>..v......v>...
......v..>v..>...v>.>vv>...v.v..v.vv.v.>..>v.vvvvv.>..vvvv..>vv...v>...v>>>.......vv.>.>.>>....>..v.>>..>>...>>>.>.vv.vv>v>>..v>.>..vv.....
..>v.......v.>vvv>..v.v...v>.vvv.>v.v.>...v>v>>.>.....v>>vv.>.>...>v..>.v.vvv>>.vv.>v...>v.>..v.v.>.v>.>.>.v.v>v..>..>...vv>>vv.>>>..>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.v.......v.>>.vv>>>>v...v.>>....>.>>vv>v..vvvv>..v
.....>...v..v.......v.vvvv>v.v..v..v>>v>..v.v...v>..>..>>v.....>>...v.vvv.>v.v...v>>..>v.>.vvv..vv..>vv......v.v..>..>...>v>>v.v..v....>..>
....>..>....v....vv>..>..>v>.>>>v...>v>>..v>.>v...vv>.>.v.>.vv...v>.....v.....v.v..v..>..v>v....v.v>>>>..v...v.vv..>...v.>>..v>.v.v.>.>>.>.
.vv....v.>>>>v>..v..>vvvv.v.>v.vv.v>..v...>..v...>>>.v>.vv>.>>.v.>v.>..>v>...v..v.>...v>.v...>>.>...>....>..v.>...>>.>.v>.vv.v>v.vvv.>.>v>.
>vv..v>.v....v.vv..v>v.v...>.>...>v..v>>.vv.vv.>..>>.>..v...>v..>v>......>.>...>v>>vv.vv>v.v>vvv>...>......>>.....vvv....v>.vvvvv>>vvv>.>v>
>vv>v.....>.v.>.>v..v.v.>..>.>>...v.v.vvv.>..>>..v...>vv.>.v>.v.v>....v..v.>v>...>>.v...v.vv>.>v.v..v.v.>..>>.vv.v>vv...v>v..>..>>.vv>..vv.
.vv.vvv>..vv.>>...>..v...v..v.....>>..>>v..>vv.>...>>...v>>v.>.v..v>v>vv.>.v>v..v.>vv.v.>>>>v>...>..v..>>>.>..v>.>..vv..>>.v.>vv.vv.>>.>..v
v>..v>.v.....v......v..>...v>....v>v.>...v...>.>>.....>v....>v...vv>>v>>..>v.>>.v..v....v.vv..v>..v>v>.v.v.v>v....>..>vvv.vv>v>>..>.>.vv>.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..vvv..>>v.>v>...>....vvvv...>v..vv.v>.v>.v>>>.v.v.v..v..v.v.>..>>.v..v...v.v.....>.>..v..vv.......>v>.>>..vv>>>v.>.>..v..vv.vv.>.>v>.....
>......>.>.>v..v>vv.v..v>.>..v.......v...v..>v>>>>v>.v.v....v..>.>>v...v.vv..v..v>>>....v...v.>>>>vv..>..>v.......>.>>...>v>>v>..>v..v..v.>
>..v..v>.....>v>.>v...v.>>vv..v.vvv...v..v.....v.v.v>>..v..vv.v>v.v.v...>...>.>.....v>..>..vv>vv....>v.....>..>..v>>v.v...v.>>v....v>>>.>>>
>v>>>v.....v.v.v.v.>v.>.>.v.......vv.>>.vv...>...vv..v..>.v..>.>>...vvv.>vv>..vv.v.>>>v>>vvvv>>v.>.....>>v....v..v....>.v>.>.>>v>.v>..>.>v.
v...vvvv...vv>.v.v...vvv>.v>>...v..........>.v>>..>v..>>v..v.v>.v.vv.>.vv...v....v..>...>..>..>v.>vv>v.vv>.....vvv.vv......>.v.......v.>v.>
...v..>v..>...>>>vv..vv>>.>.>>vvv..vvv..vv.v>v.v..>....>>..>.v.v>..>>>v>>.v...v.>.v...vv..>>>.v>..>..v>>v>..>..>..vv..>..>.vv..v..>>.v.v...
v>>>.vv>.vv.>v......v..>v..>>..v>v..v..vv.>>.>>v....vv>v>.>>.v>>>>.v>....vv>>v.>...>v.>>vv.....>....v..vv.v.>.>>.v.>v.vv.>>.v...>vv.v>>>...
>vv.>v..>..>>.>>>.v...v...v.>.v..v>..>>>v>..v.v.>.>..>..>.>>>>.>v...>.>...>.....v..vvvv.vv>>....v>..v..vv>..v.....>>...>.v...>.>>.v...vv...
v>>>...v.vv..vv..vvv...>.>v.v.>>...>...>.v...>v>v.>>>..vv>>v.>>>.....vv.>..>.>v>>v>>..>.>>.v.v.>.>.v.>>..>>>..v.>...v...vv.v>.v>.>.......v.
.....>..>..>>.....>.>>v.v>>..>>v>>.v..v..vvvv.>.v.v...>..v.v>....vv>>.>.>v..v..v...v..vv>>..v....>..>.v...v.v....v.....vv>>>>v......>..>.vv
>..>..v.v>.>>v>...>v..vv>.vv>v.>vvvvv>.v.v.v...v.>v.>..v...>.>.>.v>>.>.....>>.>.v.v>.v....>.vv.v.>.>v>>v.v>>>>.>v.>>..>vv.vv..v>v.>v.v.v.v>
...vvv>>v>>.v>....>.v.vv..>vvvv.>.>>.v.>>.v....>..>v.>vvvvv.....v>>v..>>v..>..vv..>vvv>.>>>..>.v...vvvv.v..v..v..vvv.v....>v...>.v.>......>
>..v.....>.>.>.>..vvv.>>>.....>.vv>.v>.v>.>.>>>..v..vv.v.>vv..v>..>.v.v.v..vv..>.>.>.v..vv.vv...vv>v>.>>.>>>vv....>..>v>.>.v>.>>....v...>..
...v.v..>>.v..v.v>.v>>....vvv.>v.....>.v>>.>>...>.>....>..>>>...v>vv.v>..v>v.>>v...>v>.v>v>>>>.vv...v..>>..>.>...>..>.vv...>.>..vvvv.>..>.v
>v.v.v..v.v.v..vv.>.>...>.v>>.>.>vv>.>>v>.>>.v.>.v.v>..v.vv.>.v...v..vvv...vv..>.>>.>v.vv...>vv>.v>>>.>>..>...>.>v..v>v>..v..v.v...v.>v>.vv
..v.v...v....v..>vv>vv>v.>vv>....>.>>.v>..v.>v...>>>v.>...>...>..>.>...vv..v>v.>>>v...>...v.v.>...vv....vv.v.>.vv...>v.v..vv..>v.....>>>vv.
>.>.>>>..>>>.>>>v>...>.v>vv.....vv>..v...>.v.v>>v.>>........>>.v>v>v.....vv......>.v.>.>>>v>..v>.v...v..vv>.v.v>>....>.v>...>..v>v>v>...>..
v>>vv.>>>>>v>>.>v.vv>.>.>.v>vv..>v.>vv.>v....>.>...>>>v..vvv.....vv..>v...vvv..>v..vv>.>>>>.>...>>...>>>.v....v.vv>..vv.v..>v...v.>.v.vv..>
>.>>>v........>.v>...v>..>.>.>>vv..>..vv.>.v..v>vv>..>...v..>.>v>vvvv>>v.>>.>..v..>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.>>..vvv.v.>v.>..v>vvvv>>.v.v.v.v......v...v.v..>v...>v
>>.vv..>.v.>>>>>..v...>.>.v.>>.>vvv.>>>.>..>v......>>v.>.>.v>>.v...>v>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.>>.vv.vvv.v..v>>>>v...>v>>.>......v...>.>....vvv.>..>.>...>..>.>vv
.vv...v.v.>v>...v.vv..vvv>>.......>.>....>vv.v.......>vv>v.>....>.v>.>.>.v.v.v..v.v.>...v>..v.vv...>v..>v>v.>v>.v.vv..v>.v..v.v>....vv.vvv>
vv.>....vv.v>.v.v.vv..>v.vv>..v.v>..v.vv.v..v.v.>.>.....v>.>....v>.>v...vv>.v>.v>...v>>..v>>....vv.>....v>.>>...vv>..>.>...v..>......v.vvvv
..v.>vvv.>.v.>>.>.v.>.v>>...>>..v>>vv>.vv.vv>.v.vv>>.vv.v>..vv>>v....v.>...v>>..v..>v.>>v>v.>...v......v...>v.>........v.>>...>vv...>.>v.v.
>.>>v>.v>>>..>v..>v>>v.>.vvv..v.>..>.v..v.........v>v.>..>v>.>v.>v>.vv....v..vvv........>>.>>.>>>>..>.vv>..v...>.>....vv>v...>v.vv>>>>>....
.vvvv>..v>.v.v.....v>vv..v.vv>vv>v.v.>v...v>>v..>..>.vv>vvv>.v..>v>vv>......v>.>.v.v...vvv.v>>>.>..>vv>>.v.>v.>...>>.v>>v>>.v.v>>.v>v..>.v.
v.v...vvvv..v.v.>v>...v>.>..vv.vvv>>>....>v.....v>.>vvvv>vv>>.>.v>>.v.v..>..>v>>>vvv>.>>..>.>>..>vv.>v.v...vv.>v>vv..v.>>>.>v>..v..vv>....>
.vv..>vv..>..>.>.v>.>.>>..>..>.>...>>v.>>.>.>vvv>..>v.>.>v......>>.>....>.v.>>vv.v.>vv....>vv..v.>v.v.>v>>.vv..>.v>>..v.......>.v>>.>..>v.>
>v>..>.v>>.>.v..>vvv....v.>..>.vv.>...v>>..>..v..vvv>v>>.v.vv>>>v>>>>>.v.>vv.>..v>.>...vv.vvvv>vv.>vv..vvv..v...>.>.v..>..>v>>>v....v>>.>.>
v.v.vv>.>vv.>>....vvv.v>.>.>..v.>.vv..v>>..>>v>>.vv..v..>vv>>.>.>..>>.v>..>..vvv.>..vv.....v>>>.>.v..v.....>..v>>..v.vvv.>.vv....>>v..v>.v.
>>>...v...v.vv..v..vv..>.>..v....vv...>vv>>>v..v>..>v.....>vv.v..vv>.vvv..vv>.v>v>.v....>v...>.vv..>....v.>vv>.>vv..>.vv>...>v.>v..>v>..>.>
..>.....>.>..>v.>..v>>.v>.>....>..>....>vv.v...v..>>v..>.>.>>.>....v.>>v.....>.>....v.v>..v.....>.>.....v>>.>v>.v.vv.v>v>...>.vv>..vv...v>.
.v.....>>v...>vv>>v.v..>..>.>v>.>.>>>vv.v>.v>v......>.v....>.>>vv..>v..>..v...v.>..v>v..>..v...>.>.v>.v>..v.....vv.vvv>..v>v...vv.>.>...>.>
>.......>..v.v...v>v.v..v>v.vv..>.>>>...v..v..>>>.v..>..v>..>..v..>.>.>.v..>>.v>.v..>vv>v.v.vv>..>.v..vv>vv.v.......>.v.>...>vv..>.vv.....>
.>.>..>.>vv.>v.vvvv.>>>.v.>.v..vvv>>>>...v..v>v..v.>.>.v.v.vv....vv......vv..>.>>>>..vv..>>v>..v>>>>v.>>..>.>v.v.>...>>>..v.v.>.vv.>vv.v>..
..v...v>...>..>.>...>v.>v.........v..>>v....>>>.v.>v>.v..v>>>v....vv..>..>v.v.>.>....v..vvvvv..v.v.vv...v.>vv...v>>>>..vvvv..>>>v..>vv>...v
.>v>.>.>.v>>.>>..v>...vv.......>..>...v.>v.>.v>.>vv>>.v.v.vv...v>....vv>v.v...>v..v.v.v>>v>v>>>......>v..>...vv..>.>.>..v.>>>v....>v.>.>.vv
>v....v.v..v...>>.>v.>>.v>v>....>>.v>>v.v>>v>vv>v.>>..>..>v....>vvv.......v..v>.>>v.>>v.>...v>..v..>vv>v.v>.v......v.>.vv>>>.......>v....vv
.v>>.>>>.>.v.>...v..>>>.v>v.>.vvv>.>..>..v..>v.v..>.>...>vv.v.v.>..>>v>.>v>.v...>>>>v.vv.vv>>>v.v.>vvvvv>>>..v>>....vv>v.>v>.v..v...v..v>v>
...vv.>......v..>v..>..>.>.v>.>>.vvv>>>v>v..>.vv....>>v>..v..v>.v>>.>>.>..>v.>>.v>.>.>.....v..v..v.>>....>v..>.v......v>.v..>>vv...>vvv.vvv
v.>......v>.>.v..>vv>v>.>v>...v..v>>v.vv....v>vvv>.v.v....v.v>....>.>v.vv.v>>>.>>>>v>>v...v...v..v>.v>>vvv>vv.v.v..v.>v..vv>.v.>.v..>vv.>..
..>>>v>>...>.>.....>v>vv>v...>v.v>v>>.v>>>v>..>v.....vvvv...v..>>.v.v>..>.>.>vv...vv...>>.>....>>v.>v.>.>...>v.....vv...v>....>v....v..v>..
..>v..vv.>...v..v.v..v.v>vv......vv.v.....v.>....>...>v......v...v>>...>..>......>>.>>..vv>...v.>.v.v>>>v.....>>.>>...vv.>.>.>vvv...>>>.v..
......v.>>.v>>vvv.v>..>v.>.vv....>v>>..>vv>>>.>.>..>....v..>vv.v..>v>..>..v..>v.>.>.......>>>v.vvv...>..v....>>v.>>>....>v..>.v>>>..vv>>v.>
.>....v.vvvvv>>v..v...vv.>.>.v.>>...>.>.>v.>v...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
...>...>.vvv.v.>..>v>..>v.>>.>v..v.vvvv...v..v.v.>vv.vv.v.>...v...vv....>v>.v.>>v.v.>>>v.v.>...v>>..>v.>v..>......v>>.>..v.v>>v>v..>..>>.>.
.v..v.v.v>.>...vv.v...>.>vvv>...vv......>v.v......v...>..v...>..v>..vv>v>>v>>.v>...vv>.>.v.>vv>v..>v.>.v..v.>..>..>...v.>v.v..v.>>vv.vv>..>
.v...v...>vv...>v.v>>v.v.>v>.v>>v...>vv......>......>..v.vv...v.>>..v..v>>.v.v>v.>>.vv>>..>..vvv...>.v.>>v...vv>v...>.>.v.....vvv.vvvvv>.v.
v>>>>..>.v>>>v>...v..>..>>>v>>..v>.>vv...>v>>.>.v.....>v..>vv...>v.>v....>vv>...vvv.....v..>vv.v.v.v>.>v....v....vvv>.>>..>v.....>v>.v.v>..
.>..v..>>v.vvvv>>.>>>vvvv.>>.v....>.>>.>vv...>.....v..v..v.vvv..>>..>.vv>v...v..v>>v>>.v.vvv>v>.>.v>...v..v.vv....>>.>.......>..v.>>v>...v>
.>..v.vv>.v.>.v.>v.>v..v>..>.>.vvv..v>>..>.>v.vv>v....>v>..>.v>v>..>v........v.>vv...>.vvv>......>>.v.v...>v...v..>v...>v>.v..>.>>>.>.>....
...>...vv.>v>..>.>.v.v>>>>>>vv>...>v.>.>v...>>.>.>v..v.v.>......v.vvv..>...v>>v>..vv>.....>..>>v...>>>..>.>..v..v>v.vv.>...v.v>>.>v....>>..
....>.vv.v....v.v>.v>v.vv...v>.....v>.>v.vv.>v.>..>vv..v.vv..v>.v>....>..vv>v>v>v..>>.v....v.v>..>..v.>>..vv>>v.........>v>.>>.v.>..>.vv>..
>.v..v.>...v...v>>v>>.v.vv>>>........>v>>.vv.v>.>.>.>..v....>vv.>.>....v.>..>.v.v.>..v.v.>v>v.>>>..>>.>.vv>v.>>>.........>..v>v.v.>>v.>>>.>
..v..v..v.v>...v>v..>....>........>v.v>v.>>..v...vvv....>.>>v....>.>..>.>...vv..>>v>v>.>>v..>>...>....vvvv>...v.v.v.>...>>........>.>...>..
...>.vv.>>....>.>.v>...>>>>>v..v....>..v.>..v...>....v..>.v>.v>vv.>v>....>...>.vv..vvv.>vvv>>.vv.>>>.v.......v.>>>>..>...v.v..v...v.v..>v>v
vv....>..vv>>>>vv..>>>.>....v..vv....v>..vv.>.>>..vv.>.v.....>.>.v>...>.v.>v..>.>..>>>..>.vv>>v>.v>.>>.....>.>.v.>..>..vv.>....vv>>>>>>.v>v
.v>>v.vv......v.>>v....>.>.>v..v>v..>>.>>>.vvv>...>...v..>..>>.vv>.>...>>..>>.>.v..>>v..>>..>.v.v>v>.>......>v>v.>.v>v>..v>......v...>v..vv
.v.v.v..v.v..vv>v..........>....vv>v>.v.v>...v>v>>.....v...vv>..vvv>.>....v.v...>>.v....vvv>.vv....>.>>..v.>.vvv>..v..v.>.>..>v....>.>>>>>.
vv..v.........>>v.v.v.>vv>>.v.vv....>v.>>>>v...>>vv.>.v>...vvvvv..>.>>vv.>v>vv...>..v..vv>..>>>v>.v.>vv.>.>.>..>..vv..v>..>>.v..>.>vvv.>...
.vvv>>vvv.>>..>...>v>>.vv.>>..>>v.vv.vvvv.v>vvv.>...>>....>..v..v>>v.v..>>>...>.v.v>vv...>>..vvvv.>v>v.v..>.>...v..v>v.v>..>...vv>..>....>.
.v>.>.>>>.>.v.vvvv>.>v>..>.vv.>.>>...vvv.v.....v>..>.>.>vvvv>>.>.>.v.v>>vvv>..>..vvv>>vv>>.v..vv>>v...>>>..v..>>..>vv....>>.v>.....vv......
.v.>v.>vv.v.v..v>....vv.>.v.v>>>.......v.>.>>.v...v>.>...>....vvv>.vv>v.....v...v..>..>....vv.>.....v>.v.>.>..>vvv.v.>..vvv.>vv...v......v>
v>....v>>.v>.vv>vv.>.>..>>...>v>..v..v......>v>...v..v>..>.>....>.>.v.v...v.v>>.vv.vv..>.v>...>>..>.>v.....v..>>..>>>..v..>...>v.v.v.>>.v..
>..vv.v.>.....>...>v>>>...v>>.vvv..>.>.>...vv>>....>.>.>v>>>.v..>v>vvvv>..v>v.v..>v>.v>>>.>>..v.v.>...v..v.v.>>.>.vv..v.vv>v..v......>v.v>.
vv.>....>.>v..v>.vv.>...>.......v>.>v.>.>.....v.v.>.>.>v.>>vv...>.v>.v...vv>.v.vv.v..>vv.>...v>.>..>>>v>.>v..>v.......>>v>v.v....v..v>.>.>.
v.>>..>vv.v>.>....v..>>>.>>...>.......>v.v.>>.>.>..v.v..>>v.>v.vv...>>......vv>>.v.v>..v>.>..>....v>>.>v...v.vv.>.>>.>>>vv>...v.>...v......
.....v.>.v....v...>..v>v..>.v>..>.>v.>>>vv.>>v>.vv.>....>v.>.v..vvv>.>.>.vv.>...v>>.>.vv>.v.....>v..>v.v...>.>>v...v>vv.v.v.v>>>v>...>.>.>>
v.>....v>>..>v.>.vv.>vv.......v..>.>v.>.>.v..v.v>vv.....v....vv.>>..v.>v...v>.v>.vvv.....>>v>.>.>v............v.>.....>.>...>>.....>.v.>>v.
...>>>>>v..>...v...>.vv.>..vv.v..>.>>..vv.v.>>.>>....v.>vv>..v.>>>.v.>.>.v>..vvvvvv..v>>>..>>...v>.>v..vv........>>v>>.>v>..>v>.>..>...v.v.
vv.>v>v>>>v.v.v.>v>>vv..v>.>v.>..v>....>.vvv........>>v>..>v>.v..v.v>v>.v>.vv.vv>v>>v..v.v>.v>>v...>>.>>>...>>>v.vvv>.....>...v.vv>..>v>.v.
...v...v..v....v.>v.>v.v>..>vvv...vvv..>>v.>.>.>.v.....v>vv.>v.v>>.vvv.v>v.vv.vvvv..>.>...vv.>....vv.>v.>..v......vv>.v>.>..>v.v>v...vv.v.v
vvv>.v>......v.v.v..vv.>v..vv>.....v.>.vvvv>.v..>v..v>v>vv>.>.vvv.>>v....v>>>v>vv>v.......>....>.>...v..v.v....v..>>v...>>>.v.v..v..>v>vv..
>>v..v..vv.vv>.>...v>>>.vvv>>>v..v>>.>>v..>.>>.v.v.v..v.>v..v.>.>v>>.v...>v>>....>vvv>>v>v>.>.v...v.v.>>>....>.>>v>...v.>.>....>.vv.>...v.>
v.vv.......vv.>......v>....v..>v......vv>.v.....v.....>..v...>v>.vvv.vv.....vv>.v>v>..v....>v....>>....v..vv>.v..>>.>>...>.>.vv...v>>..vv.v
v..>>>...>>.v>>...>..>.v>v>vv.>......vv...>>...>v>....>v>.>.>.v>.>....v..v.v.........>>>.....v.vv.....>v>>v>vv.>>..v.>v>...v>>v.vv.v.>.>.>v
...v.vv>..>vv...v>.>v.v>v...vv.>v..v.....v...>....>>>>>..v.v>...>..>.vvv.vvvv>..>.>.v>.vvvvv...v.>v....>.v>vvv..v.v...>.v>vv>>..v.....v>>>.

9
src/day25/day25Test.txt Normal file

@ -0,0 +1,9 @@
v...>>.vv>
.vv>>.vv..
>>.>v>...v
>>v>>.>.v.
v>v.vv.v..
>.>>..v...
.vv..>.>v.
v.v..>>v.v
....v..v.>

7
src/day25/day25Test2.txt Normal file

@ -0,0 +1,7 @@
...>...
.......
......>
v.....>
......>
.......
..vvv..