Day 24
This commit is contained in:
424
day24/input.txt
Normal file
424
day24/input.txt
Normal file
@@ -0,0 +1,424 @@
|
|||||||
|
swnenewnenenwneneeseseenwwnesenenenenene
|
||||||
|
neeewseswneewwnwsewwwsewwnwwsw
|
||||||
|
eewswwnwnwwnwwnwnwwnwnwnwnwnwswnw
|
||||||
|
nwwnwnwwnwenwnwnwnwwewsewnwnwwnww
|
||||||
|
senweeswswnwnesenwnweneeenenweeesw
|
||||||
|
neenenenewnenenenenenenwswnenene
|
||||||
|
sewneeewswneneneeenewneneneenee
|
||||||
|
seesenwsenwwsenwswswseseeneseswseswsese
|
||||||
|
ewewswswwwsewnwnwswsewww
|
||||||
|
nwnenwwwwwwwneesenwswnwwwwwsw
|
||||||
|
wnwnwsesenwnwsenwnwnwnwnwnewnenwnwnwwnwnw
|
||||||
|
nwnwnwnwenwwwnwnwnwewnwenwnwswnwnwsenw
|
||||||
|
swewsesenwsenwsesesenesweswneneese
|
||||||
|
swwwwwwwwswwwwswnwweww
|
||||||
|
nenweneesweenweseeneeenwswseeene
|
||||||
|
wsenwneseeewswswswseswswseswswseswse
|
||||||
|
sewnewwwsewwwwwwswnewnewwwww
|
||||||
|
eneesweewsweeeeenweeeenww
|
||||||
|
eswswswseswswswnwwswnwswswwswswswswsw
|
||||||
|
wnwwwnewsenwwwwnwwwsewwwnesew
|
||||||
|
nwnenwnwnwnwwnwsenwwnwnwnenwsenwnwnenwnw
|
||||||
|
swwneswwseswswwnwswneswwwewneswsww
|
||||||
|
swsweswneswwnwseseswnweswewswswswswsw
|
||||||
|
nwwsenwwwnwnwenwnwwnwnwwenwnwnww
|
||||||
|
senwnenwneenenewnenwnwnwnwwwnwnwsenw
|
||||||
|
eneeeesweneenenweneeeeewnee
|
||||||
|
eswneenenwswnesenwnwnww
|
||||||
|
wesenweweweseswnwswsenwneswwwswnw
|
||||||
|
wseenenenenenenewne
|
||||||
|
nwnwnwswnwnwwnwnwenenwnenesenwnwwnwne
|
||||||
|
nenenenenwneneeeeswe
|
||||||
|
neswswwswseswswnwswswswswswneswswwswswesw
|
||||||
|
enewsenenenenesenwseneneenenweneene
|
||||||
|
enwneeeeswneeenenene
|
||||||
|
newnewnenenenenenenenwnwwsenenenweese
|
||||||
|
weenenwneseneeeeneeenesweeene
|
||||||
|
nenwnenwnwnenwnwnweenenenwnenwneneswsw
|
||||||
|
seseeseenwseseseeseenesesesenweeew
|
||||||
|
seswnewswsenwseswwnwseseseseesesesenenw
|
||||||
|
eeeeeeeseeeseweeseee
|
||||||
|
neneweswwswswwseswwswswswwswswswsw
|
||||||
|
swswswswneswsewswswswseswesweseswnwsesew
|
||||||
|
eseseseseseswneswswnwsewswnwneswsewse
|
||||||
|
swswswneswswsewswswswne
|
||||||
|
sesesewseseeseswnwseseseseseseenwsesw
|
||||||
|
sesesesewseseesesesesesenwese
|
||||||
|
swnweseswswsenenenenwwnenewnwnwsenwenw
|
||||||
|
neseneneswneeneneeneenwneenenesewnw
|
||||||
|
nwwnesenenenenenwneneseswnenwneswneenenwnw
|
||||||
|
nwnwnwnwenwwswnwnwnenwnwnwnwswnwnwnwne
|
||||||
|
senewswswswwwww
|
||||||
|
wwswwswwwwnwwswneenewesewwswe
|
||||||
|
wwwswwneswseswsenewswswwneswswneesw
|
||||||
|
nwswewneneeeenwneeeeneswswnweeswe
|
||||||
|
swnenenenwnenwnwewwwsweneesewne
|
||||||
|
nwswwswneswswwneeseseeswswswseswswsw
|
||||||
|
seseswseneeseseesese
|
||||||
|
neeeeweeneeeeeenewsweenene
|
||||||
|
nenwnwnwnenwnwnwnwwsenenwenwnenw
|
||||||
|
nweesesewneeeneenwwneesweswenese
|
||||||
|
eenwsewenwswnwnwsewenenweneewswswsw
|
||||||
|
sesesesewsenwsenwsene
|
||||||
|
eeesewseenwwseeseseneeeneesee
|
||||||
|
wwwswswswwswswneenwswwwseswwwnw
|
||||||
|
nenenewnenesenenwseeseswnwneswnenwnenese
|
||||||
|
ewewneneseeseewnweneswneeswnee
|
||||||
|
seesenewseesesesese
|
||||||
|
sewnwneseseenenwwwnenenwnwnwsenwsenwne
|
||||||
|
enesesesenwswseseswswsesesesesesesesese
|
||||||
|
eseeeewneeeeweseeeeee
|
||||||
|
eeeneeneeeenwseeeeeee
|
||||||
|
sesesenwnweseeneneseseswnewseseseseseswse
|
||||||
|
weeseeeneeeeeenweswneneneenw
|
||||||
|
nwewnwseseseseseswseseneeseswsesewsesee
|
||||||
|
wwnwnwnwewwnwnwnwnwwnwnwnenwwsenw
|
||||||
|
enwsesesenwseneswewnesewneseenwewew
|
||||||
|
nwenwnwnwwswnwsenwenenwnwnwnenwwnwnwsw
|
||||||
|
wnwwnwnenwwnwnwnwnwnwesewnwwenwsw
|
||||||
|
sewseswneenwnwesesenwseeswsesesesese
|
||||||
|
weswnwnwnwnwwsewnwnwwnewnwww
|
||||||
|
nwwwwnwwwwwnwewnwewswnwwwnw
|
||||||
|
wwwwnwwnwwwwsenwnewwwwswwew
|
||||||
|
seswnewneswsenwswswseseswwneneesewne
|
||||||
|
newseswnwwwwwwwnewswswwwwsew
|
||||||
|
nenwnenenwseneneneswnwenwnwnenw
|
||||||
|
enwnwswneenewswse
|
||||||
|
eseswnwsesenwsesenwseseweenwseseswse
|
||||||
|
wewsenesesenewsewene
|
||||||
|
eeswseewsenwsesenwswnenw
|
||||||
|
swswneswswswneswsewswweswwswswswswsw
|
||||||
|
wswswnwseneeesweesesenwnwnwnwsenwsewse
|
||||||
|
ewenenewseeeeneneeenwswneneneee
|
||||||
|
seeeseeseeseneseesesewseesewwsene
|
||||||
|
swsweswswwswseswswnwswweeseswswswswnw
|
||||||
|
nwnwnenenenenwsewnenesenenenenenesenwne
|
||||||
|
neneseseneeewnenewseenwnwnenenwnene
|
||||||
|
swsenwseweesesenwnweeweewee
|
||||||
|
weseeeneeeeeneneeneeeneswee
|
||||||
|
nwnwnwnwneswnenwwswnwnwnwnwnwnwnww
|
||||||
|
nenweneswnenwnwnwne
|
||||||
|
nenweneeneswnewswswnwnenesewenenenwnw
|
||||||
|
swsweeswnwnwwsesesw
|
||||||
|
nenenewnenenenenenenenenenwnewnenesenwse
|
||||||
|
neswwwwswewwswwswswsewwwneww
|
||||||
|
nwnenenenenenesenenwneeneneneneswnewne
|
||||||
|
swwwnwnwwnwwwwnwnwewnwww
|
||||||
|
wwswwewwwsewswswwswwsewenenesww
|
||||||
|
newseseneeneswnenwnenwseweenenwene
|
||||||
|
swswwwwswswwwnenwwwwewsewswswnw
|
||||||
|
nwnwnwnwenwnwnwnwseeswnenwnwwnwnwnesw
|
||||||
|
swnwnewneewswwswnwenwswwnwnwwwnew
|
||||||
|
seneswsewswseswsenwnewswwwnwwswnesww
|
||||||
|
sewwwnwnesenwwwwwnewwwwnww
|
||||||
|
nenenenwseswnwnenenwnw
|
||||||
|
wwswnwswwwwnwwwewewseswwww
|
||||||
|
neneneeneneswseneeswnewneeeneeenenene
|
||||||
|
wsewwwswnewnwnwewwwnwswwnwwnww
|
||||||
|
nwneewneeneneeneeswneeneneenenee
|
||||||
|
neswnwseeswneneswsewswsw
|
||||||
|
eswswsewswswnwswnweswnwneswsesweesw
|
||||||
|
nesewnenenenenwneneseneneneneneneewne
|
||||||
|
nwnwnwnwnwnwnwswnewwwswne
|
||||||
|
swneneenwwswesenenwwnesewswnewwswswnw
|
||||||
|
swnwwwnwnwnwnesenwnwnwwsenwnwwnwnwnw
|
||||||
|
seseneseseneseswseseswseswswsesese
|
||||||
|
swnwswenenenweee
|
||||||
|
seseseeseesewseseswseseseswsesenesww
|
||||||
|
swseesesesewneseswswnwswswswnenenwnese
|
||||||
|
seenenwswnenesewneswneswneewneweneene
|
||||||
|
seeweeweneeeneneenweswweww
|
||||||
|
neswwswswswnwswswnwnenwsesesweewnene
|
||||||
|
eenwwneeswseenweeeeeswewnew
|
||||||
|
eweenweseeeseeewseenwseneswe
|
||||||
|
ewwwwewnwsewwwwwwswwwenww
|
||||||
|
swnewneeneneenenwnenwnenenenenenenwnw
|
||||||
|
sewewswswwnwwwwwenwnewwswenw
|
||||||
|
nwnwnenwnwnwswnwsenwseneneenwswswnwnenw
|
||||||
|
seeseseeesewnwseseeeneseeewsese
|
||||||
|
nenewneneneneneenwnenenwnenenw
|
||||||
|
seseneswswswsweswswswsenesewseswswsesw
|
||||||
|
newwwswwnewnwwwnwsewwwseeswne
|
||||||
|
neenwnwnenenenenenesewnwne
|
||||||
|
swnenewwsenenenwnenwweseseswnesesww
|
||||||
|
wwwwnweewwwnwnw
|
||||||
|
swneswwswewwswswwswseswneseww
|
||||||
|
sewseseseseseseseesenee
|
||||||
|
swsewnwwwneswswseswswwnewsewswswswwsw
|
||||||
|
wneseewewnwsweswewnwnwwnwswsew
|
||||||
|
swsesewswneseenwseswsesweswswseswnwsw
|
||||||
|
nenwenwnwwnenwnwne
|
||||||
|
nwnwnwnwsenenenenenwnwneswnwswnenwnwnene
|
||||||
|
sewwnwwwneswswenwwswwswsweseswse
|
||||||
|
neeneseneeswneswneneenenenenenwnesenwnw
|
||||||
|
swswnwswswswwswswswswseswswswseneswswsw
|
||||||
|
eeeeneeeeeneswesweneeeee
|
||||||
|
swswseeswnwnwswswswswswseswswwsweswsww
|
||||||
|
nwnwnenwnwenwnenwnwnwnwnwnwnwsw
|
||||||
|
swsenwwseseesenwsewsenweseseseseseswne
|
||||||
|
eewwswswswswswsweswenwneweswswnw
|
||||||
|
neeeneneseeeneswneeneewnwneeeee
|
||||||
|
swwsweneswneswewwsenewswswwesesewnw
|
||||||
|
swweeeseesenwsesesweseesenwnwee
|
||||||
|
nwewnwnwnwseswnwnwnwnwwnwwenwnwwnwnesw
|
||||||
|
eeeeeeeeeseeeesesenwe
|
||||||
|
neeneneswsenenewnenwwnwseswneneeenwnene
|
||||||
|
eseeeeeewenwse
|
||||||
|
eeeneesweeeeweeesewneeeee
|
||||||
|
swswsweswswswswswsesenwsw
|
||||||
|
wwswwwwwsewwwwseswnewwwnewsw
|
||||||
|
eswnesenweswewenenwnesweeeeene
|
||||||
|
nwwswnwsweeweeenewneneneneneneswnese
|
||||||
|
nweenwenwnwneswnenwnwnwnwswswswnwenwnwnw
|
||||||
|
neswneneneenwnenenene
|
||||||
|
wwwwwswwwwwswwnesw
|
||||||
|
wwwsewnwnwwnwwnwwwwweewwwsw
|
||||||
|
nwwnwnwnewewwwwnwwnwwwswnww
|
||||||
|
swseswswsewswsweneswseswswwnwsesenesesesw
|
||||||
|
nwenesenenewnwnwnenwneswseneswnenenenene
|
||||||
|
neneeneseneneenweeeneswnw
|
||||||
|
swnwewseswswwnewswswswwweeswswse
|
||||||
|
swseswswwneswswswswswswswswswswseneswsw
|
||||||
|
wswnwseswnwneswwnewnenweesw
|
||||||
|
nwnwwnwnenwnesenwnwwnwnwnwenwsenenenw
|
||||||
|
swneswswnwseseseseswnew
|
||||||
|
wswsweswseswswseswswswswswsw
|
||||||
|
neenenenenwneneneeenenenwsewsenenenene
|
||||||
|
weswswswwswsewwsweneswseswwswnesw
|
||||||
|
wnwnwnwwswnewwwwwesewneww
|
||||||
|
nweneenenenesenwseneeeee
|
||||||
|
sewseesesesesesewneewsee
|
||||||
|
eseseseseesewseeseneesesese
|
||||||
|
eeweeseneenwneweeeseeeeseene
|
||||||
|
swwwwnenewswwswsenwwswew
|
||||||
|
swwswswwwswnwwswsenwseswnwweesww
|
||||||
|
seneneneneneneweswnenenenewnwne
|
||||||
|
nwsewwenwewsewwnwswnwwnw
|
||||||
|
weneneneneswsweweseeeswseseeew
|
||||||
|
neseswseseswseswseseswsesewsewseseene
|
||||||
|
nenwwnwsenwsenwnwswnwsenwnwnwnenwesw
|
||||||
|
eeswsweeenwseneeeeeeenenwewe
|
||||||
|
enweeeeenweeeeeeeseseesesw
|
||||||
|
eseswseseseseneseseseswswneswsesewswsenw
|
||||||
|
nwnwnwnwnwwnwnwswnwewnweenwnwnwnwnww
|
||||||
|
nwwwnwswwnwnwwnewnww
|
||||||
|
enwsesenenwsenwnwnwnenwswswnwnewnwnwenw
|
||||||
|
nwnwnwswnenwnwnwnwnenenenenwnwnw
|
||||||
|
swwnwnwenwnenwwwwwwneswewnwwsw
|
||||||
|
wswwwswewswswwwwwswswswwe
|
||||||
|
wswwesesewswwnwwwwnwnewwswwwsw
|
||||||
|
esewnwesenwsesesweseeeeswenwswnw
|
||||||
|
enenwnenenenenenewenenenesweeenene
|
||||||
|
swneeeeeeewneswenwsenwenwsenwsw
|
||||||
|
nenwnwnenwenwnwnwnwnwnwsenwnwnwnwnww
|
||||||
|
ewswwseneseswswswswwnewnwnwswswne
|
||||||
|
swseseseeeseseseseesenwwseseseswsenese
|
||||||
|
seeeeseweseseseneswesee
|
||||||
|
neeseeeeeweeneseenwneswweesee
|
||||||
|
swnwnenwsenenewnweswnwnenwnw
|
||||||
|
swswswwneswwnwwwwswwsesewnweee
|
||||||
|
nwwwnwwswnwwwweswsenwwwwwwewnw
|
||||||
|
wsweewwenwnwnenwneenwnww
|
||||||
|
nwswnenwnwneswswesenenene
|
||||||
|
swseseneseeeneweswe
|
||||||
|
seseseseeeeeseenweeseswe
|
||||||
|
seswswsenwseswswwswsesesesesweswsewnese
|
||||||
|
eeeneeeeeneneseewnweneesenesw
|
||||||
|
swswswswswnwsweswswnweswswswnwsenesw
|
||||||
|
esweeeneeeenwneeeswenw
|
||||||
|
nwsenwnewwwnewswwsewnwwnenw
|
||||||
|
swwenewwwwswswswweswweenwsww
|
||||||
|
eeeeeneeeeeeew
|
||||||
|
wwwswseenewewnwswneswswswwswnenese
|
||||||
|
newneneseenenenwneneneneneneneeswnenene
|
||||||
|
eenwsenwnwnenwnwnwnenwsewnwseneswwnw
|
||||||
|
swwneswsenesenwwnwenenwswwnwnwnwnenwww
|
||||||
|
swseenwseswswenwswswnwneseseswswwswsw
|
||||||
|
nwnwnwenwwswwnwwseswnewewnwnwnwnw
|
||||||
|
wewwsenwneswwwnwsewwwwnwneww
|
||||||
|
nenwnweswnwnenwnenwnwnwnenenenwne
|
||||||
|
sesesenwwsenwswsesenwenweseseseseesesese
|
||||||
|
wwwnewwwwwsewwswwewwwww
|
||||||
|
neeneneneenenenenenweneswweenesenene
|
||||||
|
swwseeswsesenwseswswswwneswswesw
|
||||||
|
nenewswwewswwnwwwewwswswwseswe
|
||||||
|
enwseswnwsesenwneseewswswswnwenwswne
|
||||||
|
senenwnenwenenwnesewnwnwnwnesenenwwnwsew
|
||||||
|
wsenwneswswwsenwnwwwwsenenwnewewsw
|
||||||
|
neneneneneneneswneneneenenwswnenwswnene
|
||||||
|
wnwnenwnwenwswnwsenwnwnwnwnwnwne
|
||||||
|
enewswnwnenenenenenenwneseenenewnenwsw
|
||||||
|
eeewswwsenesewseneseeeseseeseee
|
||||||
|
wweeswnweneeswenewneeswseeenwnwne
|
||||||
|
swwseseseseswwneseesesesesesesenesesese
|
||||||
|
nwnwseswnwnwnwenwnwswnesenwnwwnwnwnenww
|
||||||
|
eneneneneewweeeswsewweneneeee
|
||||||
|
nwnwnwnwnwnwwswewnwenwnwnwwwnenwse
|
||||||
|
eseseseweseeeesewswseenwsenwsee
|
||||||
|
swswswsweswwnwswswswswseeswseseswswsw
|
||||||
|
nwnesewnesenenenwsewnenenewnenwnenenenw
|
||||||
|
swswwneswwswwswwswswwswwnewsww
|
||||||
|
nwnwnwneenwswwenwwsenw
|
||||||
|
enenwseseseswseseesesesesesewnww
|
||||||
|
seswsenwseseswnwswseseseswswswnwseseswne
|
||||||
|
enesesenesewsesewsesewweseseesesenwsw
|
||||||
|
swwswesewneseswnenewwewseeswswswne
|
||||||
|
eeswewweesesesenwswseenesesesene
|
||||||
|
neswswsweswswnwswswneswseswswswswswswsewsw
|
||||||
|
senwnesenenewweseswsewenenwseseseew
|
||||||
|
sweseswsewseseseswneswsesewswsesesenese
|
||||||
|
neswneneeneneswneneeneneenenenenenew
|
||||||
|
sweenenewswnweneswesweeneenwnenee
|
||||||
|
nwnewwnwsesenesesenwnwnwwnwnewwswnww
|
||||||
|
swwwwnwswswswswswswwsewwsww
|
||||||
|
nweewneneswsesewswnewwwnewswew
|
||||||
|
nesweseeeneseswwnwseswnwseswwnweswsenw
|
||||||
|
esewnwnesenwwswnenwwwnwnewnweswsw
|
||||||
|
nenwnwsenwnenenenwwsweswswnenenwenenw
|
||||||
|
esweeeewseeeeseswweeneeenwne
|
||||||
|
swenwenwwneneswnenweeswnwwnwswsee
|
||||||
|
nwswswswwswswseswswseswneswseswswesesw
|
||||||
|
nwswwnesesesweseswseswnewe
|
||||||
|
nenwnwnwnwewnwnwsenwnwnwnwnwnwwenwnw
|
||||||
|
enwsewnwwwwnweewnenenwwswwswwsw
|
||||||
|
wswswswsweswseswseneswswseswsewswswsw
|
||||||
|
nwnenwnwnwnesenenwnwnenwnenenesenwnenenesw
|
||||||
|
eeeeseneenwseswswesenwsesenwseee
|
||||||
|
enenewsewewenewsenenewseenwneswne
|
||||||
|
neenwnwneswneneswneneswnesenewenwswnee
|
||||||
|
neneseseeneswnwsenenesenwwwnwneneswnee
|
||||||
|
nwswnenenenwnenenewnwnwnwenwnwnenwnwe
|
||||||
|
nwnwnwnwnwnwnenwnwnwnesesenenwnwswnwnwnwe
|
||||||
|
senwnwnesenwnwsenwswwnwwnesene
|
||||||
|
swsewenweseeeseseseeseneeseeenw
|
||||||
|
wnenenwnenwnenenenenese
|
||||||
|
senwsenwnwwswenwnwenwneswnwnenenwnwsw
|
||||||
|
neeswswswswnwswswenw
|
||||||
|
wnewswwwwnewwsewwwwwwwww
|
||||||
|
wnwnwwnwwwnwwnwswnwnwewnwwnwne
|
||||||
|
nenenweswnenwenweneeswneseeeeese
|
||||||
|
sesenenwnenwnwnwnwsewwswswwnewwwe
|
||||||
|
ewswseswswseswsesenwseseseseseseesese
|
||||||
|
seseeeseswswswwewseswseswsesesenwsenw
|
||||||
|
seseseeseesesesesenwseneswsesesenesesw
|
||||||
|
swswenewswswswswswswnwswswwswswswswswesw
|
||||||
|
newwwwwwwwwswwnewswswnwwnweenw
|
||||||
|
swsesewseswswswseeswswneseswswnwswwseswsw
|
||||||
|
neeenweseneswneenwneswnwsenewswwnwswe
|
||||||
|
wewneswswswwnwseewsenewnwnenewsese
|
||||||
|
neneswwesenweneneneswewnwnewnwnenenee
|
||||||
|
neneesenenesewnenwwnesenwneneneneneswne
|
||||||
|
wwwwnwenwewwnwswwnwswwnwwnwww
|
||||||
|
neswnenenenewnenwnenwnenwenwsewnwnenee
|
||||||
|
nenenwswnwneneenwneswwnenenenenenenenese
|
||||||
|
neswwwswwwwwwwswwwsweenwswswsw
|
||||||
|
eneneneeenenwweneswseneneneseeneee
|
||||||
|
enenesenweenewwneneneeeweeee
|
||||||
|
sesewsesewswsesenwnweseneeswnwnewese
|
||||||
|
swswswswwwswnewenwnenenwwswseswwew
|
||||||
|
sewnewnweswwswswenwewnweenwnwnw
|
||||||
|
wwewwwwwwswwswwnwewnenwsesw
|
||||||
|
swsenenenenenwsenenenenwnenenenwneneswne
|
||||||
|
nwwwnwnwenwwnwnwnwwnwwsesenenewsewne
|
||||||
|
wnwwnesewnwnwnwsewwnwnwnwnwwnwnwnw
|
||||||
|
swsweneswswswswwnwswswenwswswswse
|
||||||
|
eseneswneeenwneeweenweeeenene
|
||||||
|
nenwewnwswwnwnwsewwwnwwswwwnew
|
||||||
|
newnwseswwneenenweneesewsw
|
||||||
|
seseseswseneewswneseseswwseweneseswnwsw
|
||||||
|
seseseswwnwnwwswwwwsewsesenenewnwne
|
||||||
|
swnwsewnwnwwnenwwwnwnwnwnesewwwnwwnw
|
||||||
|
nweeswseneeeeeeeesw
|
||||||
|
wnwnwnwsenwnwnwnwnwnwnwnwnw
|
||||||
|
swwnwsewswswweeswnwnwswnwswneewe
|
||||||
|
swseseseseswseseswneneswseewswsenweswse
|
||||||
|
swwneeeweeseeneeenenesenenwseenene
|
||||||
|
neneswnwnenenenenwnenenenenwswnwnene
|
||||||
|
nwwnwwnwsewwnwwwwenenwwnw
|
||||||
|
neenwnwwnwwswnwwnwnesewnwwwswnenesw
|
||||||
|
eeneeeeeweeeseeeeeenwese
|
||||||
|
seswneseseswseswswwswswswswnenwsesesesesw
|
||||||
|
eeneseseswsesenwneseswnwseswseseseesese
|
||||||
|
nwneewswseswwseneseseswneeswnenesese
|
||||||
|
swenwenesewnwneswneneneneneenenenee
|
||||||
|
seewswwnwwwneneseswnwwenwswewnw
|
||||||
|
eeeneeeeeeswesweeseseneswnwse
|
||||||
|
wwwswwwewesesweeswwwnewsww
|
||||||
|
enenenenewnenesenewnenwsenenewenene
|
||||||
|
eeeeenweneseeewseeswwseesesese
|
||||||
|
seseseseswneseseswsesw
|
||||||
|
neswneeesweseeeeeenwsweneeeenw
|
||||||
|
esweeweeeeenweeneeeneee
|
||||||
|
enwnwnenwnwnwneswnwnwnwnwsewnenwnenwe
|
||||||
|
swswwswswswnwwswwswswewwnewwswse
|
||||||
|
senenwnwsweswswseswseswwsw
|
||||||
|
wnweeseseeeeeseseseeeseeesesw
|
||||||
|
neseeswseswseseseeseswnewswwnesewsww
|
||||||
|
seswseswseswseswnwswseweswneeseesewnw
|
||||||
|
wwsenwsenwnwnenwswnewnwnwnwnenwsenwnwsw
|
||||||
|
swswswswseswsewswswnwswnwswswsw
|
||||||
|
ewwwwwswwwnewwwwnwwwewswsesw
|
||||||
|
eeseseenesewseseeseeseeesese
|
||||||
|
sesenwwesweeneneewenwesesesweseew
|
||||||
|
swswnwseswswswseseseswswswsw
|
||||||
|
neweneenenenwswesene
|
||||||
|
neneneneneswneneswswneenenenenwnenenenene
|
||||||
|
wwesesenewswnenwwnweswswswwnwsee
|
||||||
|
wswnewewnwwnenwswwwnwwswnwnwww
|
||||||
|
eseewneneewneeeeneswwsenenwwswnee
|
||||||
|
neneeneneenwneswewnwneswnewswneswenw
|
||||||
|
nwesewneneeneneeneneswneeeneswnenenwne
|
||||||
|
seswnwswseswseswswseswwnweesweswwsesw
|
||||||
|
wnwnwnwswnwnwnwwsenwnewwewwnwsenww
|
||||||
|
neneneneneneeseesenenwneneswnenenenwnew
|
||||||
|
eeneeeeneeseeeeeenewewnwe
|
||||||
|
nwnwswewnwwswswswseneswwswswwswswsese
|
||||||
|
swswswswseenwnwswswswwswswswswswsww
|
||||||
|
enwseneseewewenwseeseseneswewsese
|
||||||
|
wsewneneswswwwnwewswseseseneswnwsw
|
||||||
|
seswswseneneseseneswswswswswsewswswsese
|
||||||
|
eseewseneswnwneeseenwe
|
||||||
|
neswwneseswwseswswsenwswswnwswnwsewnese
|
||||||
|
swswnwswswswwswneswsesenenesenewswswse
|
||||||
|
newswswswneswnenwsewseseswswwwseswswne
|
||||||
|
eswnwnwenwneeseweswweesweenwswe
|
||||||
|
seeeseseenwesweseeesesesesese
|
||||||
|
seseseeeeeenwesenwweeeeseeese
|
||||||
|
eeeeeeenwswweeseeenewesesese
|
||||||
|
nwnenwnwnenenenenenwswnenwnwnw
|
||||||
|
nwswneswseswsenewswweeswnwswwseenw
|
||||||
|
enenwnenenwnwswswnwswswnwnwnwenwnwswnwe
|
||||||
|
nwwswnwswnwnwnweneswnwnwwne
|
||||||
|
neswnenenwnwnenwnwneneenwnwnw
|
||||||
|
nwwsenwnenwnwwnwnwnwwnwneesewnwnwsenenw
|
||||||
|
nwnwnwwnwnwnwnenwnwnwsesenwnwnwnwnwnwnw
|
||||||
|
wwnewwwsewwwwewsewwnwwww
|
||||||
|
wswswwwwwswwnenewswnwwswwwewsw
|
||||||
|
swswsewswswnenwswseswswwsweswswswsw
|
||||||
|
senwseesesesweseswseswswswseswseswsww
|
||||||
|
swenwswseeswswswswwswswseseseseswseswew
|
||||||
|
nwnenenwwswnwsenenwwnwnwnwswnwnwneswswnw
|
||||||
|
nwseswnewwnwenwwnwewsenwwswnwww
|
||||||
|
nwswwwneswnwewwsenwnwnwnwnenwwwse
|
||||||
|
wwneeeeneeeneeeseeenenenenee
|
||||||
|
wsewwwnwswwwwwneewwnewswnew
|
||||||
|
wewseweswwwnwswsewwwwwswswnw
|
||||||
|
sesewnwseeeseeseneseseeewwenwe
|
||||||
|
neswswnwswswseeswswswswwswwseswswswse
|
||||||
|
enwnenenenwnwswnenwwnwnwnwsenenenwnw
|
||||||
|
eenenenwneneneswneneseneeneesenwene
|
||||||
|
nwswewwnwnweeswnwnwwnwsenwswewnwsene
|
||||||
|
eeenwseseswsesenweseeseneneswsewsesw
|
||||||
|
sewswneeeswseneseeseseswseswnwswnwwne
|
||||||
|
swseseswseseseseseseseswsesenwsesenwese
|
||||||
|
nwnwsewsesesesenesesesesesesesese
|
||||||
|
seswseseswseeseeneswswwswwseeswnwnese
|
||||||
|
ewnwsenwsewwswwnwwneseswswseneww
|
||||||
|
nenenwneneneswnenenwneswnwneswneenw
|
||||||
|
newnwswswswwswswwswswswswwwesw
|
||||||
|
wnwswneneeeneswnwwnwnenenwnwseenwe
|
||||||
|
seneeneenenewneneeeene
|
||||||
|
nwnwswnwwneewenwnwnwwwswnwnwswsenww
|
||||||
|
sewneswnwswneseseswww
|
||||||
|
senenwnenewnenenwswneneneseenenenwnenwnw
|
||||||
|
wswneneswwneseswewnenenwnwswswnenwsw
|
||||||
26
day24/part1.py
Normal file
26
day24/part1.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
lines = (x.strip() for x in open("input.txt"))
|
||||||
|
|
||||||
|
blacks = set()
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
x, y = 0, 0
|
||||||
|
while len(line):
|
||||||
|
if line[0] == "n":
|
||||||
|
y += 1
|
||||||
|
x += 1 if line[1] == "e" else 0
|
||||||
|
line = line[2:]
|
||||||
|
elif line[0] == "s":
|
||||||
|
y -= 1
|
||||||
|
x -= 1 if line[1] == "w" else 0
|
||||||
|
line = line[2:]
|
||||||
|
else:
|
||||||
|
x += 1 if line[0] == "e" else -1
|
||||||
|
line = line[1:]
|
||||||
|
if (x, y) in blacks:
|
||||||
|
blacks.discard((x, y))
|
||||||
|
else:
|
||||||
|
blacks.add((x, y))
|
||||||
|
|
||||||
|
print(len(blacks))
|
||||||
51
day24/part2.py
Normal file
51
day24/part2.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import numpy as np
|
||||||
|
from scipy.signal import convolve
|
||||||
|
|
||||||
|
lines = (x.strip() for x in open("input.txt"))
|
||||||
|
|
||||||
|
blacks = set()
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
x, y = 0, 0
|
||||||
|
while len(line):
|
||||||
|
if line[0] == "n":
|
||||||
|
y += 1
|
||||||
|
x += 1 if line[1] == "e" else 0
|
||||||
|
line = line[2:]
|
||||||
|
elif line[0] == "s":
|
||||||
|
y -= 1
|
||||||
|
x -= 1 if line[1] == "w" else 0
|
||||||
|
line = line[2:]
|
||||||
|
else:
|
||||||
|
x += 1 if line[0] == "e" else -1
|
||||||
|
line = line[1:]
|
||||||
|
if (x, y) in blacks:
|
||||||
|
blacks.discard((x, y))
|
||||||
|
else:
|
||||||
|
blacks.add((x, y))
|
||||||
|
|
||||||
|
|
||||||
|
x = np.array(list([x, y] for x, y in blacks)).T
|
||||||
|
lower = np.min(x, axis=1)
|
||||||
|
upper = np.max(x, axis=1)
|
||||||
|
grid = np.zeros((upper[0]-lower[0]+1, upper[1]-lower[1]+1))
|
||||||
|
x -= np.array([lower]).T
|
||||||
|
grid[x[0], x[1]] = 1
|
||||||
|
kernel = np.array([
|
||||||
|
[1, 1, 0],
|
||||||
|
[1, 0, 1],
|
||||||
|
[0, 1, 1]
|
||||||
|
])
|
||||||
|
|
||||||
|
for _ in range(100):
|
||||||
|
grid = np.pad(grid, pad_width=1)
|
||||||
|
neighbors = convolve(grid, kernel, mode='same', method="direct")
|
||||||
|
set_inactive = np.logical_and(grid == 1, np.logical_or(neighbors == 0, neighbors > 2))
|
||||||
|
set_active = np.logical_and(grid == 0, neighbors == 2)
|
||||||
|
grid[set_inactive] = 0
|
||||||
|
grid[set_active] = 1
|
||||||
|
a = tuple(slice(np.min(idxs), np.max(idxs)+1) for idxs in np.where(grid == 1))
|
||||||
|
grid = grid[a]
|
||||||
|
|
||||||
|
print(np.sum(grid))
|
||||||
Reference in New Issue
Block a user