Compare commits
2 Commits
8abb183072
...
c9e4d63abe
| Author | SHA1 | Date | |
|---|---|---|---|
| c9e4d63abe | |||
| c0b03656c1 |
496
input/2020/day24.txt
Normal file
496
input/2020/day24.txt
Normal file
@ -0,0 +1,496 @@
|
|||||||
|
enesenwwwsenewswsewenwwnwwnwnwswse
|
||||||
|
swneswseesweswneswwwwseewnewswsw
|
||||||
|
neneenenenenwneseneesenewenenwnenenesw
|
||||||
|
weeswnenenwneneeesweneswenwneene
|
||||||
|
nwnwnenwnwwnwnwnwnwwsewnwswnwwnwnwnw
|
||||||
|
nwwwnwnwnenenwewnwseewnwswnwwnww
|
||||||
|
senwweneewewswweswsenwnesenwwnwswnw
|
||||||
|
nwnwnenenenenwnesenenenwneswnwnweeswwsene
|
||||||
|
wswnwswneneswswswswswnesweseswwswnwswsw
|
||||||
|
neeeeeweseesesweeneweneesw
|
||||||
|
wwenewwwwwwnwnwwwwwwwwse
|
||||||
|
swneswswseseswswswsw
|
||||||
|
seswswsewseesesese
|
||||||
|
nenwneneneewseneneneenenenenenesenenew
|
||||||
|
swswwwnewwsewwwswwwswswwnesew
|
||||||
|
wwswwwwwwwwwwwswewwwwe
|
||||||
|
senewnwwnwswnwswnwewnenwenwewsenwnwse
|
||||||
|
wnwnwenwwnwnwwnewnwswsenwnwnwnwwne
|
||||||
|
nenwneswnwnwswnwnwesewwnwnwnwsenwnene
|
||||||
|
wsewneeseneseseseswnesesenwswenwswnwe
|
||||||
|
nesewnwwwswnweneenwswwesenesw
|
||||||
|
swsesenwswsesesewswswneseseeswnesesesewsw
|
||||||
|
neneswswwswswwswseswswewwswswswsew
|
||||||
|
eeeneeneneneneesweenewneneeee
|
||||||
|
seeenesesweseeeewwneeseeseee
|
||||||
|
nweeweeneeswenewe
|
||||||
|
seswwnwseeswseseswswe
|
||||||
|
wneneeswnesenwseneeneneneenwneneneenwne
|
||||||
|
newnenesenenenenenewneswnenenenenenenenese
|
||||||
|
wswswswswwswwwwweswnwswsewswswsw
|
||||||
|
eeeeeenesenwewseeneeneneweee
|
||||||
|
sewnwwnwnwwwnwnwnwnwswwwewnwww
|
||||||
|
sewesenwswwneswnwnwnwsweseseeswwse
|
||||||
|
nwwewnwweswswwwwewnwnwnwwnwwswe
|
||||||
|
swwwswnwswswenwneswswseswsweswseswsene
|
||||||
|
eneeenwswseseeeeeesenwenwwsweee
|
||||||
|
swseenwseesewnwnewnwneeeswswesenee
|
||||||
|
swwsesenwnwnwwwwnewenwnwewwwwsw
|
||||||
|
seeeeeeeeswnweeenwnwnewswesw
|
||||||
|
seenwswnenenwnewnwnwnwnwe
|
||||||
|
esenenweeswseeeseeweseseeeee
|
||||||
|
swswswswseswswswswnenw
|
||||||
|
neneseswsenenewneenenewwnenenenenenenene
|
||||||
|
wnewwenweswswwwswseswswwwnesene
|
||||||
|
seneneneweenwnwseeeweeseseeeene
|
||||||
|
neenwsweneneeeswwnwwneeenewnene
|
||||||
|
seseneswwneswseswwsesenwseseseswsesese
|
||||||
|
wweeeeeeswsenweeneeee
|
||||||
|
newnenenwneseneneeneeneneseneneeneene
|
||||||
|
wewnwnwwwwwwsenewnwwnwnwwwse
|
||||||
|
weseeseseswnwsewseneneeeesewwe
|
||||||
|
swswswswswswswswswswswwneswswwwswswe
|
||||||
|
swsenwneeseswseswswswswseseneseswswswsw
|
||||||
|
seswnenwwswswswneswsewwnewseswswwwsw
|
||||||
|
swswswneswswseswnwswseswseswswseneseswsw
|
||||||
|
wwwwnewesesewswwwnewwwne
|
||||||
|
enweeneseneeeeswnwesw
|
||||||
|
eesesenwseseeseseesesese
|
||||||
|
nwswseenesewwseesenee
|
||||||
|
wwswswswwswswwneesw
|
||||||
|
newwseswwnewswwwwswnwewnewwsww
|
||||||
|
nesenenenewenesenenenenwnwswnenwnwnenene
|
||||||
|
swnwswswneswswneswswswswseswswseswsweswwsw
|
||||||
|
swswswswswswneseswswseswnwswswswsweswsw
|
||||||
|
nwwwwswwwsewwwwewnwewswwww
|
||||||
|
neneeneeewneeneeeneenene
|
||||||
|
swnwnwnwneswwwseeenewnewswsenwwnww
|
||||||
|
nenenenwnenwneswnenwnenenenenene
|
||||||
|
nwweenwesweeeeeeseeeeewnenese
|
||||||
|
weeeneeseeeseeeseeeewe
|
||||||
|
wwwwwnwesewwwswewwwwenww
|
||||||
|
seneseseseseseneswsesesesewsewsesesese
|
||||||
|
eenwneneseeeeeesweenweeeenee
|
||||||
|
neseneseseseseseeseswseeeeseewee
|
||||||
|
nwswnweeeeseeseneeneneswswneneee
|
||||||
|
sesesewseseswesesesewseeneeseesese
|
||||||
|
seswnewwswewnwswneneswwnwnwnew
|
||||||
|
wneseneeeewsesewneneneenenwswnwne
|
||||||
|
wnwnenwnwnwnwsenenwnesenwnwnwnwnwnwnwnwwnw
|
||||||
|
wwnewnwwswweswewswseeewenwsw
|
||||||
|
eneeneseeneneneewneweeeneeeneew
|
||||||
|
nwwnwnwwnwnwenenwnwnwenwnenwnenwnenw
|
||||||
|
nwsenwnwenwnwswsenwsenwnwnwnwnwnwswenwnw
|
||||||
|
eeseseeeeeseseeeneesenwseeswe
|
||||||
|
ewenewneeneswewneseneswsewswwese
|
||||||
|
nwwwwswwswswwse
|
||||||
|
newnwnwnwwwwnwnwswsewewnwwwwnwnw
|
||||||
|
seswswnwwseseseswseesw
|
||||||
|
sewseweswwwwwswwwwwswwwwnwne
|
||||||
|
senenenenwnwnwnwnwnwnwnwnw
|
||||||
|
swswswwwwswswwnwwwswwesewwww
|
||||||
|
seeneseseneseesesesewsesesesesenwseswsw
|
||||||
|
wnenwnwsewwwnwnwwwwwsewwnwnew
|
||||||
|
swswswswswneswseswswswseseseswswnwsesese
|
||||||
|
neneneneneeneenenesenenwnenewnesenenee
|
||||||
|
wseseswseneeseswneseswseswswwwseswne
|
||||||
|
nenenenenenenwnenenenesenesewswneneenwe
|
||||||
|
seeseseseeseneesesenweeewseewsese
|
||||||
|
neeewneneneneseneenenenenenenesenwne
|
||||||
|
nenewnweneweseenwnwsesewnwswnwnwnw
|
||||||
|
sewnwnesenenwneswwnenwnwnwsenweneswe
|
||||||
|
senwnwnenwswnwnwnwnenwenenwnwnenenesenw
|
||||||
|
wnwwwwwsewnwwwewwwweseww
|
||||||
|
swnwnewnwnwsenwsenwnwnwnenwneswwwnwenenw
|
||||||
|
wnwseswnewwweewneneeseseesenww
|
||||||
|
wseseseseeseseseseseesesesenwswswswnw
|
||||||
|
neneneneneneneseneswnenenwneneneneneenewne
|
||||||
|
neswswswswswswsesesesesewsewneswsenesw
|
||||||
|
nenwneswnwweseeenwnesweneeneeese
|
||||||
|
seesesesesesweeseseseesweenweseenwse
|
||||||
|
seeswseseseswseseseswswswnenwswswseswsw
|
||||||
|
swneswswseswswswwswswnwswseswswswswseneswsw
|
||||||
|
nwseseesesewneeseseeeeeseewenesese
|
||||||
|
nenenenewneneswneswneneswswneneneneene
|
||||||
|
nwswnwnenwnwnwnwswnewnwnwnwenwnwnwnww
|
||||||
|
nwwnwnwnwnenwnwnenwsenenwnenwnwnwnwnw
|
||||||
|
senenenwnwewwwneeneewnenwsew
|
||||||
|
nenenenwneneneneswneneneeswenenenwnenw
|
||||||
|
wwneweewseswseseneneeseeeseese
|
||||||
|
neneneeswnenenewneneneneneneswenenene
|
||||||
|
eeeeewseeeneneneeeeeweenwsw
|
||||||
|
nwenenwnwswwsenwnwswneswnwnwnenwenenwne
|
||||||
|
eswwswneswswswswswnwewswswwswswwswswsw
|
||||||
|
enwwwwnwnwnwwewwnwnwnwnwseeww
|
||||||
|
seseseneeseseseseneseseewwseesesesese
|
||||||
|
nenenweneswnewenw
|
||||||
|
nenenenwneneneseswnwnwsenwenwewnenenwnw
|
||||||
|
nenenenwnwnwenwnwswnwnwwnwnwnwnwnwsenw
|
||||||
|
neeneneneeneneneneneneenesw
|
||||||
|
neeeneeeswnwnenwsewswswnenwsenwnee
|
||||||
|
wenwwwswenewwwsewswswnewswwew
|
||||||
|
seseeneeseseseneseseesesewsesewsesesese
|
||||||
|
swewnwwsenwnwwseewwnwwwnewwnw
|
||||||
|
wesesweeneeenewnwsweenenwneeesw
|
||||||
|
nwnwswnwnwnwnwnwenenwnwswnwnwnwnwnwenenw
|
||||||
|
nwsenwwswnenwneeesenewenwwwnw
|
||||||
|
ewseeeeenweseseseeeewseeseese
|
||||||
|
wnwnwsewwnwneswwnwwnwnwwnwwwnwnenw
|
||||||
|
swswsenwwswwenenenewseswswewswnesw
|
||||||
|
wnwswsesesesweeswseswswswswswseswswsw
|
||||||
|
eneeswnwwnwnwsweenwenwnwnewnwswswnwne
|
||||||
|
seseswswseseswseswsenesesewsenenwsesww
|
||||||
|
eeeneswnwnwnwneneseneseneenewnenwsee
|
||||||
|
enweseesweswneeweseenwneeew
|
||||||
|
newneneneneeneneswsenenewnenenene
|
||||||
|
eneswwneneenwnenesenewwnenenesenene
|
||||||
|
swswswswswsesenwswswswswsw
|
||||||
|
eeeneewewneeeee
|
||||||
|
swswsesenwswsenwswseswsweswseswnwseswswenw
|
||||||
|
sweneseswswesenenenwnwwnwnwneswe
|
||||||
|
wnwnwnwwwwsweneswnwnwnwewwnwww
|
||||||
|
seseswswswsesenwwseeseswswswswweese
|
||||||
|
seseeseseseseesesesenwnenwsenwsesesesew
|
||||||
|
wnwnwswnwwwwwwsewwwnenwwwwe
|
||||||
|
wnwwsenwneewswnwsenwnenwwnwesenwnewsw
|
||||||
|
swnenwnenenwnwwnwnesenenwnwnenwnenenenwnw
|
||||||
|
wwewwwwnwswwwnewwwswwwwnw
|
||||||
|
neneeeweesesenweneneswneeeewne
|
||||||
|
swswswseneneswwseseseneseseseswswswswswsw
|
||||||
|
nwnwnenwswwnwwwwnwwwwsew
|
||||||
|
swswswswseswsesesenwswsewseseswswesesw
|
||||||
|
nenwswnwnenwswnenwnwnenwnwnwsenwnwneenw
|
||||||
|
wseseswswswneseswseseswswsenwswswne
|
||||||
|
swnesesewseneseswswnwswswswswnwswseswswswsw
|
||||||
|
wnwnwnwnenwsenwneenwswnwnwnwenwsenwswnw
|
||||||
|
enenenewnenenwnenenenwnenenenenw
|
||||||
|
enenwnenwsewwwsweenenewnwnenwene
|
||||||
|
swwswsewnewswneswswwwswswwswwswwsw
|
||||||
|
neneswseeneeswewenwwswswweesese
|
||||||
|
swnwseswsenwsenweewenwsweeneeese
|
||||||
|
nwenwnwnwnwswnwnenwnwnwnwnwnwnwnwwsenw
|
||||||
|
seseseseeseseseeeeewesenesesewe
|
||||||
|
eswsenwnwneswwswwswnwwwwseeswsenwe
|
||||||
|
enenewnesenewnwnwnwswnwnwnenesenenwnenw
|
||||||
|
wneneneeneeeeweenewnenesweesene
|
||||||
|
enewnweneneeneeeswneneeeeenene
|
||||||
|
nwswsesenwnenwnwwnwnweswswnwnwneeew
|
||||||
|
eseeewneeneeeeeneeeeeseewene
|
||||||
|
sewnewwwwwwwsewwwwwwwnwwe
|
||||||
|
newnenesenweneneneweneenene
|
||||||
|
swseswswswswswswswswewswswswswswnwneswswsw
|
||||||
|
eseneneseseeseseeeeseeeeeswsewse
|
||||||
|
enwneenenewneeneneneswnenenenenenene
|
||||||
|
nenenwnenenwseneneenwnwnenwnweswnwnww
|
||||||
|
nwnwenwnwsenwnwnwnwnwwwse
|
||||||
|
nweswswwswenenweeeseseseeeeeee
|
||||||
|
nwnenwswnwwnwenwsewwnwneswnwnwnwnwsee
|
||||||
|
seeseeseseneewswweseseswswwwswswsw
|
||||||
|
nwnwnesenwenwnwnwnwnwnwwnwneswnwswwnwnw
|
||||||
|
seseseseswseswesesesesesesenesewswsenw
|
||||||
|
swswwswseseseseswsewseseneseseswneswswsw
|
||||||
|
nwnwnwnenwswnwnwnenesenenwnwnenwnwnwnenw
|
||||||
|
swnewwnwneenwnwenwsenwnwnwsewnwenw
|
||||||
|
eeenwwweeeewseneeswesenese
|
||||||
|
swenewneseneswneenwnesenenenwnenewene
|
||||||
|
nwnenwwwwwnewwwwwwwsesenwwww
|
||||||
|
seseswneseseseeenewwsese
|
||||||
|
enwneeeswenewneeeeneeseneeee
|
||||||
|
seseeseneseeeeeeswwnenwseswsesese
|
||||||
|
nwnesesenenenwnwnenwnwnenenwnewnwnwnenw
|
||||||
|
wwswnwnwewewswneseeswswswseneswsw
|
||||||
|
nwsenwneneneneneneeseewnenenenenesenwse
|
||||||
|
nesewswswneneswneswseswswnewswswsenese
|
||||||
|
swswwsesweswnwseseswseseswseseseseswsw
|
||||||
|
senenwswenwnwnwwnenwsenwnwnwnenwewnwwnw
|
||||||
|
nenenenwnwneswswneswnenenenenenenenenene
|
||||||
|
enweneswneneneeswneneeewneenenee
|
||||||
|
nwnwswnwwnwseesenenwwswwnewwsenwnwnw
|
||||||
|
neswseseswneeswneneswswneswenwwswwwe
|
||||||
|
swwneeneeneswwewnwneseeenwnenwnewne
|
||||||
|
wswwwseenwnewneswwnwwwnwseew
|
||||||
|
seewwnenenwneswwnenwneseneenenenene
|
||||||
|
swwsenwswsweseesenwwwswswwnewnesenew
|
||||||
|
neswswswnenesenenenw
|
||||||
|
nwwsewwwnwwnewnwwnenwwseswnenwswwnw
|
||||||
|
nenwneseeewneeeeseneesweneenwsee
|
||||||
|
seswseswseswnwnwswswseswsweseswswswswse
|
||||||
|
swwswneswswswswswswneswsweswswswswwswsesw
|
||||||
|
senesewseseseeewseweseseseeseesese
|
||||||
|
swnesenenenwneneneswnwnwne
|
||||||
|
wsesewwenenwsesewneneseseseswsesese
|
||||||
|
newseswwwswwwnwswweswwewswwww
|
||||||
|
nweneeneneeswnwwenenesweneseneene
|
||||||
|
esweneenweeeeseweeeneeewew
|
||||||
|
neswnweswswnenweseswswnesewswsenwsese
|
||||||
|
nwnwnwnwnwwenwwwnwnw
|
||||||
|
swswseseswswswswswswswswswsweswneswswnwsw
|
||||||
|
neneswnenwnenenenenenwnenwne
|
||||||
|
seeseseneseseswseseseseswsesesenwsesesese
|
||||||
|
nwnenwnwseenwnewewswsewnwwswswnew
|
||||||
|
wseesesweseseeneeenwseeeeeenee
|
||||||
|
swwwsewesewnewnweenwswswwwwwsw
|
||||||
|
eeneseseeseseseseswseewse
|
||||||
|
eeeneseeeeeeswseeenewseeee
|
||||||
|
swseswswsewenenwnwwnweswne
|
||||||
|
ewwnenwswnwnenwnwnwnenenwnwenenenwnw
|
||||||
|
neswswswswswnwswwswsewsw
|
||||||
|
seseeseswswewsewsenwseseneewsewneee
|
||||||
|
seswseswenwwnwswwswewnweseswnwnw
|
||||||
|
sesesenesesesewswseseswneseswsesesesesese
|
||||||
|
neneneneneseenenewneeneneswwnesenenew
|
||||||
|
nweeewneenwswneneswnewne
|
||||||
|
nwwewwswwwseswwswwne
|
||||||
|
nwnenwnwnwnwsewnwnwwnwewnwnwnwnwwnwnw
|
||||||
|
seneneneneenenwnewneneneswneenenwswnenese
|
||||||
|
swseswnwseswswseseseswnwnewseswswswswswsesw
|
||||||
|
nwnenenwnwnenwnenwnwseswneneenwnesenwne
|
||||||
|
nenenesweeenenenenewne
|
||||||
|
eewneeeweeeeseeeneneewene
|
||||||
|
swsweswswswswswswswswneswnwseswnwwseswsw
|
||||||
|
wwswwwnwnwewseweswnwnesenwwwew
|
||||||
|
seeneenenenesenenesweweenenenenwnene
|
||||||
|
newewseewnwwnwwwsewsenewswswe
|
||||||
|
sweeseweseseeeseeenesesesenwese
|
||||||
|
neswewwwseswwwswsww
|
||||||
|
wewnwnwnwnwnwwwnwwswesenwnwenwsee
|
||||||
|
seswsewsewseswswenenewseenwnwnwswse
|
||||||
|
swswseswseswseswswswnwswswnwsenesesw
|
||||||
|
nwnwsenenenwsewnenenenwsenwnesesenwnwnwnw
|
||||||
|
swnenwwwwwseswwneewswswwwnesene
|
||||||
|
seseseswswsesenesesesesesw
|
||||||
|
eneenwneenenenewswneswnesweee
|
||||||
|
nwnwneswnenenwsenenenenenenenwnenewnene
|
||||||
|
seswnewswswswnwswsenwwsweswswnwswesee
|
||||||
|
swswswswswwswswswewswneswswseswswswneswnw
|
||||||
|
swswswswswseseswsenwseneesesesesewwsese
|
||||||
|
seneeesweeeeeeweeeee
|
||||||
|
senweseeeenweeeenwenwsweeswese
|
||||||
|
swswneswseewswswnwswswwsenweswswswesw
|
||||||
|
ewneeeeeneweeeeeeweseesesese
|
||||||
|
nwseswseneeseeseesweeweseesesee
|
||||||
|
neeneswnenenewnwnenwnenenenwswneenewne
|
||||||
|
eswwswswnwnwseeenwweswnwnenwswswse
|
||||||
|
wwswnewwswnwwwswwneneeswwseswne
|
||||||
|
neneneneseneneswneneeneeewne
|
||||||
|
wwwnwwnewsenweseewwwewwnew
|
||||||
|
neswwsweewneswsenewsesewwsenwsesese
|
||||||
|
seswwsweenwweseneseneseneeenwwe
|
||||||
|
senwsesweseseswnwseeseswsenesesenenewsw
|
||||||
|
swseswswswswnenwswswwswswswswswwswenesw
|
||||||
|
nesenwnwnwnenwnwnwnenwnewnwnwnwnwnesenw
|
||||||
|
seswswswwswswwswswswswneswswenewnwswsw
|
||||||
|
nwnwwnwnwnwnenwenwwwenwswwswnwnwnwnww
|
||||||
|
neseenesenwnwsenwwneesewnewwswenwnenw
|
||||||
|
wnenwnwnenenenwnenesenwnenenwnenwnenwe
|
||||||
|
nwnwnwnwnenwnwnesenwnenwnwnenewnwnenwswe
|
||||||
|
enwswseeseseseewseeswnweeseeeee
|
||||||
|
eeeeeesenwseseeee
|
||||||
|
swsesweweswwswswswswnwnwwswswsw
|
||||||
|
neseneneeeenwweneenenenene
|
||||||
|
swwsenwnenenwnesesewneeswwswseswnwswswse
|
||||||
|
seeenweesesweseeeweeeseeswnw
|
||||||
|
sewsesesesesenesweesenwswsesw
|
||||||
|
nwnenwwnwnwswnwnenwnwwnwnenwnwnwnwsenwe
|
||||||
|
neenenwneeneswnenwneswneeneeneeneene
|
||||||
|
seseeeweseseeeeseese
|
||||||
|
nenwnenwnenenenenwswneneneenwnenenenw
|
||||||
|
wwwwswswwsweswnewwnewsewwwne
|
||||||
|
wwnenwnwsewnwnenwsenwnwnwnwnwwwnwnwsw
|
||||||
|
seseseswswsesenwwsenesesesesesesene
|
||||||
|
nwseswsesenwwswnenesenenwsw
|
||||||
|
swswsweswswswseweswnwswswneseswswswnwsw
|
||||||
|
enweesweneeneeneneeeeeneeewe
|
||||||
|
seswseseseseswsesewseseseswswsenwesese
|
||||||
|
seswsesesesenwnewsesesesesesesesesesenwsese
|
||||||
|
swswswnwswswswseswnweswswswsw
|
||||||
|
newnwwswwneeneneseeneswnenenenwnenwnw
|
||||||
|
swwswnwwswswnwswwewnwsweswswswseesw
|
||||||
|
sweswnwswenwwswswwwwsweswswswswswsw
|
||||||
|
nenenwnwsenesenenwnwnwnenenenenenwnwswnwne
|
||||||
|
wnwseswwewwnewwswnwnwwswewsesww
|
||||||
|
seseneseseswsesewswsesesesene
|
||||||
|
wwnwwwewwwewwwnwwwwwnwsww
|
||||||
|
wneeneesenwseeeeeweeesweswene
|
||||||
|
senesenwsweseeseesewseseenesewwsee
|
||||||
|
nwnwnwsenwnwswesenwenwnwnwnwnwnwnwswnwnwnw
|
||||||
|
eeweeeeeesweneeeseeneeneee
|
||||||
|
wwsenweswsewswneswswnweneswneenww
|
||||||
|
eeneneneeneeeeenewswneneeseenee
|
||||||
|
swwseseneswseseweseseswneesenesesese
|
||||||
|
eeeeneneneneneweeee
|
||||||
|
swsenesewseswsenwnenwsesweswsenwswswswnw
|
||||||
|
nwnwswsweswnenwnwnwnenenwnwnwnwnwsenenw
|
||||||
|
swsesweseseseweseeseswnwsesesenwseswsesw
|
||||||
|
eneeseneswswsweeweewnewne
|
||||||
|
neneeseenenenewenenenewnenenwswesw
|
||||||
|
sweeswwewsweewnwenwnwnesesenwesw
|
||||||
|
swswswswswswneswswswsw
|
||||||
|
eseseeneeeseewenwweeeeswsesese
|
||||||
|
swswwnwswnwwwswewweswwwwswswwe
|
||||||
|
wwewswwnwwwwwswwwwwweww
|
||||||
|
enenwnwwnwwwwsesese
|
||||||
|
wwwwnwswwwswswwwewwwew
|
||||||
|
wnenwneeswneneneseneewsw
|
||||||
|
sweswnenenwewsesenwsenw
|
||||||
|
wsewwenwnwnwwwnwwwnwnwwwnwww
|
||||||
|
eseeeeeeseeeseneeneeewwwee
|
||||||
|
nwwnwewsewnenenwwnwswwnwwwswnwse
|
||||||
|
wwswwwwweswwswwswswewwwneww
|
||||||
|
swnewnwnwnewseswewnesweswswesesw
|
||||||
|
nwnwnwswnwnenwnwnwnwnwnwewnwenwnwnwnw
|
||||||
|
swseweswnesewneesenwnesenwwseesew
|
||||||
|
wenweseesenwseswsesweswnenwneenwse
|
||||||
|
seeneneneeeenweneene
|
||||||
|
nwnwnenwneenwneswnenwnwnwnwswnwnwnwnwnw
|
||||||
|
esesesweswneneneswnwnwnenwneneseww
|
||||||
|
nwnwwenwnwnenwnenweswwenwnwnwnwnenesw
|
||||||
|
senewsewswswseseneswseseseseswsesesese
|
||||||
|
nwnwnwsesenenwneneswnwnwewnesewnenese
|
||||||
|
neesesewseseneseseseeseeseseesewsese
|
||||||
|
swnewneswwswswwwnewsesesenwswswnwsew
|
||||||
|
neseseswswwseseeswsesesesesesewseswse
|
||||||
|
swsweswseswswneseeswswswnwnwswwwswneswnw
|
||||||
|
seeeeseswsesesesesenwsesesee
|
||||||
|
nenenwnwnwnwnwswsenwnwnwne
|
||||||
|
eswsweswswsweswseswswwnewswwswswswsw
|
||||||
|
seneswneswswseswswseswswseswswsenenwswswsw
|
||||||
|
eswswseswnwnwsesewseseswseneeswswnesww
|
||||||
|
seseseesesenwsesesenesewseseseseseesesew
|
||||||
|
swswswswnweswswnewswswswswswwneswwswsw
|
||||||
|
neeswnenenesweeneneeneneeneenenewne
|
||||||
|
neswwswnwnwnwwseseneneewwsesewsew
|
||||||
|
eseseswwwseenesenesesenenwwnwseseswee
|
||||||
|
swswswseseseseswwswneeswswweswnwsesene
|
||||||
|
neneneneenesenwwweneswnwswwnwswnenwne
|
||||||
|
neeeneeeseeneswnenenenenwewnee
|
||||||
|
nwwnwewsenwnwnwenwesenwneewwnwsw
|
||||||
|
seswewnwwnwwswnwsenwnwswseenesweene
|
||||||
|
seswseneseswswseseseweesewwswwnesw
|
||||||
|
neseeneneneswneeneenenenewneneneenw
|
||||||
|
nwnwsewnwsenesenwwnewenw
|
||||||
|
senwneneswewnenenesenenenwewwnene
|
||||||
|
nenwenwwswwwwwwwwwewwwwse
|
||||||
|
sesenwsesesenwseesesenwnwswswsenewese
|
||||||
|
eeenenenwnwsweeeeeeeeeeneneswe
|
||||||
|
swwwseswwseswswwswwneswswwwnwsww
|
||||||
|
nwnwwnwwnwnesewnenwnwwwwnenwwwesese
|
||||||
|
seswswnwswseseseswseswneseseseewswsese
|
||||||
|
seswswneewneneeswswnwswwwswswnweswse
|
||||||
|
nwnwnwnwwnwsenwnewnwnwnwneenenenwnwnesw
|
||||||
|
nenwnwnwnwwnwesenwnwnwnwnwsewwnw
|
||||||
|
neswwnesenwneswwenwnwsenwnweeswsese
|
||||||
|
wwnwnwsewnenwwswwnwwwnwwnwnwwew
|
||||||
|
sewswseseneswseseswswneswseneseseswsesw
|
||||||
|
swwwnwwwswwswwwwwsewwwnwesww
|
||||||
|
seneswswwswwnwenwnwwswseeswwwwwwsw
|
||||||
|
neneswneneswnenesenenenewnenwneneneenw
|
||||||
|
nwswseseneseseswswswnewswseseseweswnesenw
|
||||||
|
nenenenenwneseneeneneneneneeswnenenwnee
|
||||||
|
swseneeeeeeeweneswneweeswwnw
|
||||||
|
nenenwneeneswneseenewnwswwnwenenenw
|
||||||
|
senenwnwwnwsewsewnesenenwwnewsewww
|
||||||
|
swweeenenenenewseeeeewsenwnee
|
||||||
|
nwneeseseseseseseseseseswse
|
||||||
|
eeeeweeeeweeneeesweneee
|
||||||
|
swswseseesesesesesewseseseseneswsewnesesw
|
||||||
|
eeenwseeeswnweeeeeeeeeeeesw
|
||||||
|
swswswswsweewswswswwsweswseswswnwnww
|
||||||
|
sesewsenwseeseeseeeenwnweswnesesesw
|
||||||
|
seseesesesesewseseeswseeseneesesenw
|
||||||
|
neeenwnenwsweneneseeenee
|
||||||
|
seenewesenwseseeseseseseee
|
||||||
|
nwswswsweswswwwwwswswswwswsw
|
||||||
|
wwwwnewwswnewwwnewwseswseww
|
||||||
|
eeseseseseseseseseesesesesenwenw
|
||||||
|
wwewwwwwwwnwwwww
|
||||||
|
swswswwswnewswneswswseswwswswwwswsw
|
||||||
|
wswneswswswwwwneswwseswswwswwswswsesw
|
||||||
|
nwnenwnenwnenenenewneneneseenwsenwswnwne
|
||||||
|
wnweswenwneeswswweseneseneeeenw
|
||||||
|
wnwneneneenenwnenenenene
|
||||||
|
newswwswweeswseseswswwseneswwnew
|
||||||
|
wsweneeseseseseseseseeseeseseeswene
|
||||||
|
sesenwseswseseseswseewnwseseswsese
|
||||||
|
seswnwnwneesenwseneewswnenwee
|
||||||
|
nwnwnwnwsenwnwnesewwnenenenenenwnenwnwnenw
|
||||||
|
senewesweeneswewsenwe
|
||||||
|
sewewswswwwwswnwwwnewwwwwswsww
|
||||||
|
eeneeeeeneeseneeeneneneeswnwnw
|
||||||
|
swseswwsewswseseswswseneswswswseseswneswsw
|
||||||
|
nenenenwneneseneneneneneneeeeneneswnwne
|
||||||
|
wnwsenwnwnwwsewnwnwnwnwnwewswnenenw
|
||||||
|
nweeeeeneesweneeeeneeneeswesw
|
||||||
|
sesewwnewwwwwnwwwnewwseeww
|
||||||
|
nwswswnwswneswwwnwswswsweeswnweeneee
|
||||||
|
wwwwwwwwswwwwwsewwnenewww
|
||||||
|
nenwsenwseeswneswseseswswenwswswseswsww
|
||||||
|
swswwswnwswwswswwswswwswwwewwnwew
|
||||||
|
wnwnwnwnewseswwewnwwwnwnwwnwsew
|
||||||
|
weseeseseseenenewseesewswsesesese
|
||||||
|
nenenenwnwneswnwneneseneneenwnenwnenew
|
||||||
|
nwseeeeswnewsewseeeeesesewesee
|
||||||
|
wwnwwewwwwnwenwnwwwwswnwwww
|
||||||
|
nwnwnwswnwnwnwenwnwnwnwnwnwnenwnwnwnw
|
||||||
|
wseswweseseneswnwneseswsewswswseese
|
||||||
|
neewseeesweeneenee
|
||||||
|
enwseswswswseseswswswswwswswsenwnwe
|
||||||
|
sewwnwwewwsewwwwwenwsewwwne
|
||||||
|
wewswswwnwnenwswneeswnwnesesenwesw
|
||||||
|
swswnenwneswswswswswswswswwswseneswswswse
|
||||||
|
wswwswswwswneweswewnwswswwsewwe
|
||||||
|
wnwwnwwsewswwwwwsenwwwswnenwswnee
|
||||||
|
seseeswenenesesewsewswneneseseesenwse
|
||||||
|
sesesesesesesenweneseseseseneswsewswsese
|
||||||
|
wnwnenenesweneeweneseeeseeene
|
||||||
|
sewnwwnwnwwnwwwwnwnwwsenwneww
|
||||||
|
wwswswwnewneseswnewwsenewswwwsew
|
||||||
|
nenesewneswnwenwwnesw
|
||||||
|
nweeeeeeseeesenwneswneeweene
|
||||||
|
nwnwwnwnwnwwnwnwwnwnwwwwew
|
||||||
|
seseseseseseseseswsenwseswsesesenesesese
|
||||||
|
seeswnwswnwnwseswsenesesweswse
|
||||||
|
seseeseseseseeseseenwsewseseswnenesewse
|
||||||
|
wweswnwwwnwsewwnwnwwnewnwwnwnwenw
|
||||||
|
neneswswswswswswwswneeswwswseseswswswse
|
||||||
|
sewnwseseswnwswseswsesenwseswseneseseswe
|
||||||
|
seseseseseeneseewseswneseeseseseseese
|
||||||
|
ewswseswnewswwwswwwswewwnew
|
||||||
|
swwewwswnesenesenwwnewnw
|
||||||
|
seseneseswsesenwseseswwnesesesewse
|
||||||
|
newswwswwswswswwswwnewswswswwsesw
|
||||||
|
wseneeeeswnwneenweneneweeeeeee
|
||||||
|
wswsewswswneswsewneneneswwwwswwsw
|
||||||
|
swwneeneswswwwswwwsenwswwneswnene
|
||||||
|
seeeeneeeeeswenweeeseseswsese
|
||||||
|
sesweeenwnewnwnwneeenwswsewsenwsw
|
||||||
|
seswnwseeseewnwswneenwnwseswneesee
|
||||||
|
neswnwwnwnwswnwnwnwnwnwnwenwnwnwnwnwnw
|
||||||
|
swseswswswseswswneswsw
|
||||||
|
neeswneneeswsewnwnwneswewnenwenee
|
||||||
|
swswseswswseswseswnwseswswweswswswneswswse
|
||||||
|
seseewseeseeeswseseseneseeewee
|
||||||
|
eeeeeseeweswwseene
|
||||||
|
swswswswswswswswswswseewneswswswswswsw
|
||||||
|
senwwwnewseesesenwnwenwwswnwnenwnwnw
|
||||||
|
eeeseswneesweeeeenweeeenee
|
||||||
|
newswnesweneneweneneneene
|
||||||
|
nesenwnenenwnwswseswenwwwwsww
|
||||||
|
senewswswwseswswnwwsw
|
||||||
|
newwwwsewswwwwswnwsewswsw
|
||||||
|
nwnwwnwnwsenwnwwnwnwnwnwnenwnwwwenw
|
||||||
|
swsenwnesesesewswswswswswswswswseswswsw
|
||||||
|
seneseseswwesewseseneseseeese
|
||||||
|
wwwsewwwwnwnwswwwwwwwewwsw
|
||||||
|
neewneeswenenenenenenenenenenewnenew
|
||||||
|
nwnenwenwnwnwnwwnwnwnwnenewnwneenene
|
||||||
|
enwwwwwwwwwsenwnwwewww
|
||||||
|
senwnwnwnwnwenenwwswneenesweewswswne
|
||||||
|
nesesesesewsewnesenwseswseswsenwsesesw
|
||||||
|
seseswswswseseenwseseneswnwnw
|
||||||
|
seseseseseseeeseeweeseseswnwsenesenw
|
||||||
|
nenewwswseseswseenwenesenwwwesenwswse
|
||||||
|
nwnwnwnwswwnweswenwnwnwnwnwnwnwenwswnw
|
||||||
|
wwwenwsesewnwnwnenwsenewsenwenwwse
|
||||||
|
swsewswnwwwswewnw
|
||||||
|
enwnwsenwnwenwnenwnwnwnwnwwswnwnwwew
|
||||||
159
src/day24.rs
Normal file
159
src/day24.rs
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
use aoc_runner_derive::aoc;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
|
||||||
|
struct Pos(isize, isize);
|
||||||
|
impl Pos {
|
||||||
|
fn step(self, dir: Direction) -> Self {
|
||||||
|
match dir {
|
||||||
|
Direction::E => Pos(self.0 + 2, self.1),
|
||||||
|
Direction::SE => Pos(self.0 + 1, self.1 -1),
|
||||||
|
Direction::SW => Pos(self.0 -1, self.1 -1),
|
||||||
|
Direction::W => Pos(self.0 -2, self.1),
|
||||||
|
Direction::NE => Pos(self.0 + 1, self.1 + 1),
|
||||||
|
Direction::NW => Pos(self.0 -1, self.1 + 1),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Copy, Clone)]
|
||||||
|
enum Direction {
|
||||||
|
E,
|
||||||
|
SE,
|
||||||
|
SW,
|
||||||
|
W,
|
||||||
|
NW,
|
||||||
|
NE,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Direction {
|
||||||
|
fn parse(input: &[u8]) -> Option<(&[u8], Direction)> {
|
||||||
|
match input {
|
||||||
|
&[b's', b'e', ..] => Some((&input[2..], Direction::SE)),
|
||||||
|
&[b's', b'w', ..] => Some((&input[2..], Direction::SW)),
|
||||||
|
&[b'n', b'e', ..] => Some((&input[2..], Direction::NE)),
|
||||||
|
&[b'n', b'w', ..] => Some((&input[2..], Direction::NW)),
|
||||||
|
&[b'e', ..] => Some((&input[1..], Direction::E)),
|
||||||
|
&[b'w', ..] => Some((&input[1..], Direction::W)),
|
||||||
|
_ => None,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn iter(input: &[u8]) -> impl Iterator<Item = Direction> + '_ {
|
||||||
|
struct Iter<'a>(&'a [u8]);
|
||||||
|
impl<'a> Iterator for Iter<'a> {
|
||||||
|
type Item = Direction;
|
||||||
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
|
match Direction::parse(self.0) {
|
||||||
|
None => None,
|
||||||
|
Some((rem, dir)) => {
|
||||||
|
self.0 = rem;
|
||||||
|
Some(dir)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Iter(input)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
|
||||||
|
enum Tile {
|
||||||
|
Black,
|
||||||
|
White,
|
||||||
|
}
|
||||||
|
impl Tile {
|
||||||
|
fn flip(&mut self) {
|
||||||
|
*self = match *self {
|
||||||
|
Tile::Black => Tile::White,
|
||||||
|
Tile::White => Tile::Black,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[aoc(day24, part1)]
|
||||||
|
fn solve_d24_p1(input: &str) -> usize {
|
||||||
|
let mut tiles: HashMap<_, usize> = HashMap::new();
|
||||||
|
for pos in input.split('\n').map(|line| {
|
||||||
|
Direction::iter(line.as_bytes()).fold(Pos(0, 0), |pos, dir| {
|
||||||
|
pos.step(dir)
|
||||||
|
})
|
||||||
|
}) {
|
||||||
|
*tiles.entry(pos).or_default() += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
tiles
|
||||||
|
.values()
|
||||||
|
.filter(|×_flipped| times_flipped % 2 == 1)
|
||||||
|
.count()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[aoc(day24, part2)]
|
||||||
|
fn solve_d24_p2(input: &str) -> usize {
|
||||||
|
let mut floor: HashMap<_, Tile> = HashMap::new();
|
||||||
|
for pos in input.split('\n').map(|line| {
|
||||||
|
Direction::iter(line.as_bytes()).fold(Pos(0, 0), |pos, dir| {
|
||||||
|
pos.step(dir)
|
||||||
|
})
|
||||||
|
}) {
|
||||||
|
floor.entry(pos).or_insert(Tile::White).flip()
|
||||||
|
}
|
||||||
|
|
||||||
|
for _ in 0..100 {
|
||||||
|
let mut tiles_visited = HashMap::new();
|
||||||
|
for &pos in floor.keys() {
|
||||||
|
run(&floor, &mut tiles_visited, pos);
|
||||||
|
}
|
||||||
|
for pos in tiles_visited
|
||||||
|
.into_iter()
|
||||||
|
.filter_map(|(k, should_flip)| if should_flip { Some(k) } else { None })
|
||||||
|
{
|
||||||
|
floor.entry(pos).or_insert(Tile::White).flip();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
floor.values().filter(|&&tile| tile == Tile::Black).count()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn run(
|
||||||
|
floor: &HashMap<Pos, Tile>,
|
||||||
|
tiles_visited: &mut HashMap<Pos, bool>,
|
||||||
|
pos: Pos,
|
||||||
|
) {
|
||||||
|
if tiles_visited.contains_key(&pos) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let n = neighbors(floor, pos);
|
||||||
|
let black_tiles = n
|
||||||
|
.iter()
|
||||||
|
.copied()
|
||||||
|
.filter(|&tile| tile == Tile::Black)
|
||||||
|
.count();
|
||||||
|
let tile = floor.get(&pos).copied().unwrap_or(Tile::White);
|
||||||
|
if (tile == Tile::Black && (black_tiles == 0 || black_tiles > 2))
|
||||||
|
|| (tile == Tile::White && black_tiles == 2)
|
||||||
|
{
|
||||||
|
tiles_visited.insert(pos, true);
|
||||||
|
} else {
|
||||||
|
tiles_visited.insert(pos, false);
|
||||||
|
}
|
||||||
|
if black_tiles > 0 {
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::E));
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::SE));
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::SW));
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::W));
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::NE));
|
||||||
|
run(floor, tiles_visited, pos.step(Direction::NW));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn neighbors(floor: &HashMap<Pos, Tile>, pos: Pos) -> [Tile; 6] {
|
||||||
|
[
|
||||||
|
floor.get(&pos.step(Direction::E)).copied().unwrap_or(Tile::White),
|
||||||
|
floor.get(&pos.step(Direction::SE)).copied().unwrap_or(Tile::White),
|
||||||
|
floor.get(&pos.step(Direction::SW)).copied().unwrap_or(Tile::White),
|
||||||
|
floor.get(&pos.step(Direction::W)).copied().unwrap_or(Tile::White),
|
||||||
|
floor.get(&pos.step(Direction::NE)).copied().unwrap_or(Tile::White),
|
||||||
|
floor.get(&pos.step(Direction::NW)).copied().unwrap_or(Tile::White),
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -14,6 +14,7 @@ pub mod day20;
|
|||||||
pub mod day21;
|
pub mod day21;
|
||||||
pub mod day22;
|
pub mod day22;
|
||||||
pub mod day23;
|
pub mod day23;
|
||||||
|
pub mod day24;
|
||||||
pub mod day3;
|
pub mod day3;
|
||||||
pub mod day4;
|
pub mod day4;
|
||||||
pub mod day5;
|
pub mod day5;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user