mirror of
https://github.com/mx42/adventofcode.git
synced 2026-01-14 13:59:51 +01:00
Add 2020 day 24
This commit is contained in:
597
haskellAoC/inputs/2020/24
Normal file
597
haskellAoC/inputs/2020/24
Normal file
@@ -0,0 +1,597 @@
|
|||||||
|
nwnwesenenewnwswnwweewswwweswwsew
|
||||||
|
wswnewwwwwwwswswseswswswwwwesw
|
||||||
|
eeneeeeseswenweeswneneeneeneene
|
||||||
|
nwnwnwnwnwnwnwnwnwnwsenwnwnwnwnwnwwenwnw
|
||||||
|
swneswnwneseswenwnwnwwseneneswnenenene
|
||||||
|
nwnenwnenwnwneenwnwneneneneswnenene
|
||||||
|
seneswsesesesesesewnesesesesesewsesese
|
||||||
|
neseseesewwwnwswseseseswseneswswseee
|
||||||
|
eneneeeneeeneneeenewneneneee
|
||||||
|
seseeeneseseeseseseeeeseeewse
|
||||||
|
swneswewswwswwnwenwsewwnewwwww
|
||||||
|
wswwwwwwnwwwnwsewnew
|
||||||
|
neeeneeeeeeeweeeneneseneeenw
|
||||||
|
eneewenwnenwswnwneswnwnwswesenwnwne
|
||||||
|
eeeeeenewsweeeeseene
|
||||||
|
swnwseswseswsenenesenewsesesenwsesesesese
|
||||||
|
wswnwnwwwwwwwwwnwwseenwwnwnwnw
|
||||||
|
neeweseseeeenweewweesenwnee
|
||||||
|
swswnenwsweenwwswswswswswnwswwwswsee
|
||||||
|
nwseseewsenwswnenwnwsewneswewnwnwnwenw
|
||||||
|
nwnwnenwswnenwnwnenwnenwnenwnwnwnwswnwnwe
|
||||||
|
swneenwneneswnenenenenenenenenwnwneneswnene
|
||||||
|
senwnwneneneenewnwnwnwenwnenwnenwwnwnw
|
||||||
|
swwnwwwwwwwswneswewwwewwswe
|
||||||
|
neewneweswnwnweseswnwwneeneswnwnw
|
||||||
|
nenenweeeeneneswneswnesweenenenewe
|
||||||
|
seeswswwswswswswsweswswseswwswswswswsw
|
||||||
|
seseseseneeseseeswsesesesenwsesenwswse
|
||||||
|
ewenwsewnwwnwnwwnwwnwnwwwwww
|
||||||
|
sewnwwwnwwnwewnwwswwwwnwnwww
|
||||||
|
wswnweswswwswwesesweneseswneswwesw
|
||||||
|
sewswswneswswwswswwswswswswswwwswsw
|
||||||
|
swseswwseswswswseswseseneseseneseseswswse
|
||||||
|
seswswesewseswsesenwseseesewneseswswswsw
|
||||||
|
neeenwneneswneneneeneswenewnwenesw
|
||||||
|
wsewenewwwwwwwnwwwswenwnwswe
|
||||||
|
neseswseseswswswsenwnwswwswseswseneesee
|
||||||
|
swnenenwenesweeneeeeswnwneenenee
|
||||||
|
wwwwwnwwwswwswwwwwseww
|
||||||
|
seenwseeseseseeweseseeeeenwsese
|
||||||
|
seeswnwsesenenweneseenwswswseswsesese
|
||||||
|
swswweneweeeeswseneenwnwneeene
|
||||||
|
wnwwswwwwwswwseswswswswwwwsw
|
||||||
|
nwwnewewnwewswwswewnwwwnwwswe
|
||||||
|
eeewseeneesweeeenwwnwseeeese
|
||||||
|
wswswneswswswnwswswwwswwswswswswwesww
|
||||||
|
neweneeswnwnwenenenwnenwnwnwwnwsesw
|
||||||
|
seswesesenenwewnwneewnewnwnewneew
|
||||||
|
swwenewsenenewneneneneneneeswswewe
|
||||||
|
nwnwnwseenwwnwnwwnwnwwneswwnwwwnw
|
||||||
|
nwnwswswwwnewswneewwnwwwwwnww
|
||||||
|
wnwnwwwnwenwnwewwnwswnw
|
||||||
|
swswswswswwswswneswswswswswseswwswswnw
|
||||||
|
sesewswseseseseeseswsesenwseseseesesw
|
||||||
|
eeweneeneeeeesweeneeeenee
|
||||||
|
wnwnwnesenenwnwswswwnwnwnenenwneeseswnw
|
||||||
|
seswseswswsesesesesesesewseseseseneese
|
||||||
|
seseseeseseweseseseeseseeseese
|
||||||
|
enweneseseeseeseseseseeeeseew
|
||||||
|
eneneneeneenenenenesenwnene
|
||||||
|
nenwnenesenenwwnewnwnwenenwe
|
||||||
|
wwneseneswswsenewwwwwwseeswwnwe
|
||||||
|
seseeeseseseseswnwwseesweenenesewnee
|
||||||
|
wwneseswsewseeseseswsesesenwsesesesee
|
||||||
|
swswswswswswesewwwswswswnewswswsww
|
||||||
|
eesweeswswwswenwenwnwnwsenwnwswe
|
||||||
|
nenenewneneneneneneenewneneneneenene
|
||||||
|
wwswnenwnwnwenwswnenwswswewnewesesw
|
||||||
|
eeseeeseeseeeseseweneeseeeewse
|
||||||
|
ewwwnwnwwsenwwwwnwwwwwwwww
|
||||||
|
seseneswsesenewseseswseseswsesesesesesesese
|
||||||
|
seneseneseswwseesesesesesenewseswesenw
|
||||||
|
nwswswnewswswswwwswwwewnewsewse
|
||||||
|
swnwswseseswneweseseseseswswenenwnwsw
|
||||||
|
eeneenenewweeeeeneeseewnee
|
||||||
|
wwnwwwwnwwewnwswwwnwewwne
|
||||||
|
swwswswswwnwsweswwswwwswnwseswswsw
|
||||||
|
wwswwwwsewewswnenwwsewswswnwswsw
|
||||||
|
nwsenwnwswnwnwnwnwnwnwwnwnwnwnwwenwnw
|
||||||
|
nenwnwnwnwnwnwnwnwnwnwsenwneswwnwnwnene
|
||||||
|
nwseeswesenwseseswsewnesenww
|
||||||
|
nenwwnwnwnwsenwnenwwwnwnwnwswnwwnwnw
|
||||||
|
swwwswswwwswswswnewsw
|
||||||
|
nenenwneneneneswnwsenenwnenenenwnenwnwnw
|
||||||
|
wwwnewwswswseswwwwwwsenwwwwwsw
|
||||||
|
nwnwewwwnwswnwwnwneeenwswewswsw
|
||||||
|
swswswswseswswswswswnweswswswswswswsweswnw
|
||||||
|
nenwenewnenweswneneenwnenenenenwseneswne
|
||||||
|
seswsenwwnenwseseseswsewsenesesesenw
|
||||||
|
neenweneneeeeneeeneeesweneeesw
|
||||||
|
nwnwsenwnwnwwnwnwnwnwwnwnwnwsenenwnenwnwnw
|
||||||
|
swseswseswwswswseseseneswswseswsesesese
|
||||||
|
sesesesesesenwseseeswswseseeseneeese
|
||||||
|
wwnenewwwwwsewwnwwswwwwnwse
|
||||||
|
nweeeswnweswesenwsenweweenwswe
|
||||||
|
swseswswseswwswswswswswswswswswwneeswse
|
||||||
|
wwnwnwwnwnewnwnwnwnwsewwewnwnwse
|
||||||
|
enewwswneeneswe
|
||||||
|
sweneswswswnwwseswswwswewseswnenenesww
|
||||||
|
ewwwswwwnesewwsenweneswnwneswesw
|
||||||
|
swwwneswswswnwswwswwswwsewnenwswewne
|
||||||
|
seeseswseswseswsenwswseseswseseesewse
|
||||||
|
senewnesewnwwsewseseneseswneseseenwse
|
||||||
|
swwnwwewwwnwwwnwwwwnwnwwnwnw
|
||||||
|
wsenwswswswseseswswneseswseseswswsesese
|
||||||
|
nenenwnwnenwenwwnwnwneeswnwswnenwwesw
|
||||||
|
weeseneeeeeneneeeneeeewenenee
|
||||||
|
nenwneeseenenenenenenenenwneswnwnenewwnw
|
||||||
|
eeeeeeseeeswneeseenwesenwesew
|
||||||
|
nwnwnenenwnwnwneeswenenenwnenenwwnene
|
||||||
|
swwnwnwnwnwnwnwnwnweeneenwnwsenwwnw
|
||||||
|
nenenenwnwneswnwswsenenwnwneenenenenwnene
|
||||||
|
eeeeeeeeeeeeewe
|
||||||
|
swnwseswsesenwsenwseswnenesenwewswswse
|
||||||
|
neswneneeneneneneseneneneneneenwnewne
|
||||||
|
nwwnwsewnwwsenwwnwnwnewwnwnwwnwnwnwnw
|
||||||
|
neswsenwnenwnenewwsesesewnwseneenwnwne
|
||||||
|
nwnwnwswnewnwnenenwnenwenwnenwnewsenw
|
||||||
|
eneewneseseneseswseseeenwsww
|
||||||
|
seesenwsweseseseeseseeesesesesesenw
|
||||||
|
senwnwnwswwnwwnesewwnwnwnenwenw
|
||||||
|
eseswneswseswnwnwsweseenewnenwnwsese
|
||||||
|
senwewseenwswneeeeeeeeeneee
|
||||||
|
swnwsenwwnwnwneneswnwewwwnwnwnwnwnwwnw
|
||||||
|
swwsesenwsesenwseeeseneseeweseseee
|
||||||
|
wwwwswwswwswwnwwswsewseneswswswsw
|
||||||
|
nenwwsewswnwnwenwnwnwnwenwnwweenwnw
|
||||||
|
swseeseeseeeeeeeeeeeeeenw
|
||||||
|
eeswweeeeneenweeee
|
||||||
|
seseseeeewseenewseeseseseseneesese
|
||||||
|
wnwnwnwnwnwnwnwnenwnwnwwsenwnwnwnwnwnw
|
||||||
|
wwswwwwswwwwwwewwwwnewww
|
||||||
|
seswnwsweweswneswseswswsesewswnwsese
|
||||||
|
swwwswswseswwswswswwswswwnwwnwwswe
|
||||||
|
swnwwnwwewnwnwwnwnwnwwnwwwwnww
|
||||||
|
nenenenwnwswswewsenwnwsenwnwesenwwnwse
|
||||||
|
seswneseneseswseseseseswseswwsewsesese
|
||||||
|
neswnenenenwnewneneeneenene
|
||||||
|
swnwswnenwneenwenwswsenwnwnewnenenene
|
||||||
|
swneswswswswwwswswswswswswswswnewswswsw
|
||||||
|
enwnwewnwswwwwnwwnwwneswwesww
|
||||||
|
senenwnenwnwnwneewnwnwnwnwnwswnenwnwsw
|
||||||
|
senwnenwwnwnwneeswnwseswnwnwseenwenwnw
|
||||||
|
wswwwwseswswwwwwwwwwneew
|
||||||
|
swwswsenwswswswswswswnwswswswswnesweeswsw
|
||||||
|
nenenenwnenenwneswneseseneneswnenew
|
||||||
|
nwewnwnwneswnwswswseseeeesweewseee
|
||||||
|
neswswwwswneswwswswsweswswswswwswsw
|
||||||
|
nwnenwnenwswneeneneneneneneswnwenenwnenw
|
||||||
|
eseeneeeseweeneseesesweeeee
|
||||||
|
neneneenwnenwewsewnenwwnenenwnwew
|
||||||
|
sweeswnwnwneeswnwwswnwnwe
|
||||||
|
nenwnenenwnenwneswneenenenenwnenesenwne
|
||||||
|
eneseswswseswneneswswwwswswsesesewsese
|
||||||
|
nwnewwnwwnwnwswwwnwwwnwwenwwsww
|
||||||
|
ewswseeeseeneneneenew
|
||||||
|
esesesenewnwwseneseseseseswnwse
|
||||||
|
nenwnwnwnwnwnwsenwsenwnenwnwnwwnewwsese
|
||||||
|
ewwwwnewswwswnewwwww
|
||||||
|
ewwwnewwnwewswnwnwwswwwnwwew
|
||||||
|
nweswswswswnwswsweswswseswwnwswseswee
|
||||||
|
seenwsesenwsewnweneseswseseseseseesese
|
||||||
|
senewseswesenwsenw
|
||||||
|
swneswswseweswseswseswneswwseswsewsesw
|
||||||
|
wnwwwswnwswnewneswseswsesewweew
|
||||||
|
nwnwsenwnwnwwnwnwnwnwnwnwnenwnw
|
||||||
|
ewenwneenwnenwneseseswneswnenenenwnwsw
|
||||||
|
seseseseseenwsweseeeseseesesenewse
|
||||||
|
eseseseseseeeeenwneeeseswwesenwee
|
||||||
|
wnwesweeswenweeeeeeeeeneee
|
||||||
|
newwnwwewswweeewnenwwswnwwsw
|
||||||
|
wwwwwwnenwwswswswweewwswswsww
|
||||||
|
senwseswsweswswswseswswwswsweswwswswsw
|
||||||
|
neneneeweneneweeeeseeenenenenee
|
||||||
|
nwswnwnweneneswsesweneneneneswsenewnene
|
||||||
|
swswnewwswnwsewwwswswwwswwwwswe
|
||||||
|
nweswsewenweeswweewneeeseesese
|
||||||
|
eeeswseeeeweeeenenwe
|
||||||
|
wswwwwnwnenwwwnwnwwnwswnwwwew
|
||||||
|
swwsweeswswwswswwseswswseswseswswe
|
||||||
|
sweswnwsweseswnwsenwswseswswwne
|
||||||
|
swsesesenwswseswnwswswneseeswseseswweswse
|
||||||
|
newwwnwwswnwnesewnwnwenwnwnwnw
|
||||||
|
eneswsesesewwenewneswseeseneneseswse
|
||||||
|
neswswwwwwswwwsenwsweswswneswww
|
||||||
|
sweneeeeneeeswesweneneneeenee
|
||||||
|
senweseneseswwswswenw
|
||||||
|
wweswwsewneswnewswneswwwsw
|
||||||
|
eeseseseesesenewsesewsesesesesesese
|
||||||
|
enwenesesesweeseeeeeeseeswesenwnw
|
||||||
|
nenenwnenenenwwswneneneneneneneneneenene
|
||||||
|
seswnewnenwswnwnwnwnwwnwnwswnenenwwnwsw
|
||||||
|
nwnenenwnenenwnwsenenenwneswnwnenenwnenee
|
||||||
|
seseswsewsesesweseswwsesesweseseswse
|
||||||
|
nesenwnwnenenenenenewneneeneneneswnenenene
|
||||||
|
nwswseswswseswswswseeseswswseswswnwswswnwse
|
||||||
|
eeeseeseneewnweeseeswseesewsee
|
||||||
|
nwnwnwswnwnwnenwnwnw
|
||||||
|
eeneeneenweeneneswenenenenweesw
|
||||||
|
wswseswswswswswseweneswsenenweswww
|
||||||
|
nwnenenwnwnwnwswenwnwsenwwnwnenenenenenwnw
|
||||||
|
wnwnenenenenwnwnenwnenwnwsenenw
|
||||||
|
seesesesweseeeseseseseseesenwse
|
||||||
|
swseseseswseseswwsesesesesesesenwseeswse
|
||||||
|
nwwnwwwwwwnwnwwsewnwsenwnwwnee
|
||||||
|
nwwnwnwwnwwnwsewwnwnwnw
|
||||||
|
eeneneneseeneswneneneeeneweewee
|
||||||
|
eneewneneneneneneeseneneswneneswnww
|
||||||
|
seswnwsesesesesweseseswswseeseswswsesesew
|
||||||
|
neeseneneenenewne
|
||||||
|
sesesweewweseseeseeenenesesewew
|
||||||
|
wsewswneswwwswswswswseesweswwnesww
|
||||||
|
eswswwswnwewneseneswwswnweenwwsw
|
||||||
|
swswswwesweswnwnwswswswswsewswsewsw
|
||||||
|
ewwswwwwnwsewnwswnewswswswwsww
|
||||||
|
eneeenewneeeneseneeneeeswnenenwne
|
||||||
|
swwwwwenwwwnwwwewseeswwwne
|
||||||
|
enwenweewsweswseeeeeseeeee
|
||||||
|
wnwwwwswwwwwswnewnewwsewenesw
|
||||||
|
seeseesesesesesewse
|
||||||
|
sewnewnwsewsewnwewnenwwwwnwswnewnw
|
||||||
|
swswswswswseswswnwswnwswseseswsesw
|
||||||
|
nwnwnwwsewnwnwnwnwnewnwnwnwnwnwnwnw
|
||||||
|
nwswswseswseswseneseseneeswswseswwswsenwse
|
||||||
|
seewneseseeeweseeeeseseseeeswsenw
|
||||||
|
eneseeweeneeeeneeeweeneneee
|
||||||
|
swswswswswswwweswwswnwseswswswswswnee
|
||||||
|
nenesewnenenwnenenene
|
||||||
|
ewwnwsesewnenwsewseneweswwnwswnw
|
||||||
|
sweneneneneesenenenenewenenenenenene
|
||||||
|
neeneneneneneeewneeeswneeneneew
|
||||||
|
wnwsenwewnwnwenwnwseswnwneweswnenenw
|
||||||
|
swswseseenwswewswswsewswswnwswseeenw
|
||||||
|
nwswwswenewewwwswswwwswwwwse
|
||||||
|
eeseseeeeeswenweeseeseeenw
|
||||||
|
neswnesenwnenenenesenwneenene
|
||||||
|
seseneseseseseeseswsesesewswsesenwsesesese
|
||||||
|
eseswseeseeseewnwwseesesesesesee
|
||||||
|
nwnwnenwnwewswnwnenenenw
|
||||||
|
weeseneeseenweneeeneeneeeee
|
||||||
|
neneneneeneneneneneneneeenenew
|
||||||
|
swwswswswswswswsenwswswswswseswneswesw
|
||||||
|
nenwnwnwnenwsewnenwenwenwsenwnwwsenwne
|
||||||
|
senwwwwneseewsenewnewwwwswnwwsw
|
||||||
|
swswswwsesewwswwwneneseenewswswswsw
|
||||||
|
newseeeeeneeseeseeweseeeseww
|
||||||
|
neneseeenenenenewnesenenwnenenenenenene
|
||||||
|
seseseesesesesesesesesesewseseseswse
|
||||||
|
newswswswswswneseswswneswswseswswwwnesw
|
||||||
|
eewneseneesenwenwneswsesewesesewse
|
||||||
|
seseseseseneseseeeeeswee
|
||||||
|
ewnenenenwnwnwnwnwnenwwnenwnwnenwenene
|
||||||
|
eweweneeswneeneeneesweenenenene
|
||||||
|
seseseseseswseewesewnesenwseseesenese
|
||||||
|
neswwseeseeswsenewnenwneswnwsenwneene
|
||||||
|
sewnwewwwnwewnwewswnewnwwswww
|
||||||
|
nenenesweeneenenwnwenenenesweeneese
|
||||||
|
nwneeseesesesesesewnwseswseweesese
|
||||||
|
nwnwnwnwnwsenesesenenenenwswnwwnwnenwwnwne
|
||||||
|
swnweswsesesesenwseseseseseseseneswnwse
|
||||||
|
eseseeseseeseseseseewsesesesewenesee
|
||||||
|
eswnwnenenwneenwneswneneneswnwswnwswne
|
||||||
|
neseseseeswsewswswswneenwwsww
|
||||||
|
eeweeesenwwsenweeeeseeee
|
||||||
|
swwswsweswswswswswsewne
|
||||||
|
senwwwweneseneweesenwnenenwnwwnw
|
||||||
|
seseseseeesesenwseesweeseseesesee
|
||||||
|
eeeneseeweeneneeeene
|
||||||
|
nwswwwenwnwnwnenwnwswswnenwnwnenenwnwsesw
|
||||||
|
nenenenwnwnwnwnenenenenwsenenwwnenenene
|
||||||
|
swswsweswswewswswswswswswswnwswnwswsw
|
||||||
|
ewswswswwwswwswnewseswwneneswwsww
|
||||||
|
swswswswnwswswswswseswsw
|
||||||
|
eswswswswwwnwswwe
|
||||||
|
esesweeseseeenesenwseeseseeseseese
|
||||||
|
swswnewswswwswswwswswswswswwseswsw
|
||||||
|
wnwnwwwnwewwwwnwwsenwnwww
|
||||||
|
seeweesesesesesenwenwswseeeeswe
|
||||||
|
swesenwnwnwnwwnwnwneenwnwswnwnwnenwnwnw
|
||||||
|
nwnwnwwwnwnwnwnwnwnwenwwsenwnenwnwnw
|
||||||
|
nenenenenenesenewneneneneneneneswenene
|
||||||
|
neswswswswnwseswswsewwwswwswsweneesw
|
||||||
|
nweseseseeseesweseneeseeseseeswsee
|
||||||
|
swswwwwwswwswwneswseewwwwwww
|
||||||
|
seeseseseseseeseesesesewsesesese
|
||||||
|
enwneswnwnenenenenwsenwswnenenenwnwse
|
||||||
|
swseswnwwswswswswswswsweswswswswsesesw
|
||||||
|
wnwwnenewneneseswswnesenwswwesewnesew
|
||||||
|
neseseseseswseseswswseseseseseswse
|
||||||
|
wwswewwneswswwwwswnwwseswwswwse
|
||||||
|
seseseseswwneseneneswswnewewenwwne
|
||||||
|
sweweseseswsenwneswwseseswsesesese
|
||||||
|
eeeeneeneeeeseeeeeswseweese
|
||||||
|
nwenwenwnwswnwswnwnwnenwnwnwnwne
|
||||||
|
nenenenewneeneesenwewneweeswseesee
|
||||||
|
nwnewewwwwwseswswwsewweneswnww
|
||||||
|
sewwnwnwneswwwnwwwnwnwwwsewwww
|
||||||
|
eeeeneeswneeeeenwnwewseswee
|
||||||
|
eswnwwwwswnesweswnesewswnwwwswswsw
|
||||||
|
nenwnwneswnenwnewnenesenwnenesenwenese
|
||||||
|
seseseseseseswnwsesesesesesenwe
|
||||||
|
nweswnwswseesenenenwswseesenww
|
||||||
|
eeeeswneweneeeeeenwnwseeesese
|
||||||
|
wswnwneswswseenenwswneswwswwnee
|
||||||
|
seenwnewneewwsenenenewnwnwseneswswse
|
||||||
|
nwswwswnwswneneswsweseswse
|
||||||
|
newnenenwnwneswnewnenesesenenwsenwnwnwne
|
||||||
|
swswwswwnwswswswneswswswewwswswswsw
|
||||||
|
swwswswneswwswnewwswwswswswsewww
|
||||||
|
wwwwenewnwsenweseewwseewww
|
||||||
|
wwwwseewwwwwwwwwwneww
|
||||||
|
seswseneseseseswnesesesesesenwswswsesese
|
||||||
|
swswneswswseenwnwseswswnwsesewswnesese
|
||||||
|
nwnenenenwneneneseneneenewnenenenenenw
|
||||||
|
eeeewesweneneneeweeswnweswnenw
|
||||||
|
seeseesesesewsenesese
|
||||||
|
nwnwseenweenenenenesweeswneneswnenenene
|
||||||
|
wswwwwswwnwwwswnwwwsewwwwwse
|
||||||
|
eseswewnwnwesesewswsweneseswnwesw
|
||||||
|
swswnwswswswseseswswswswswewswswswnwsw
|
||||||
|
ewsenenwneswseneswneswnenw
|
||||||
|
swnwnwnwnwnwnwnwnenwnwnwnweewswnwwwnw
|
||||||
|
eeeenwsenewwswswwnwwwnwwwnew
|
||||||
|
seseesewseseseseseneswweseseseseese
|
||||||
|
neswswwewswwswnew
|
||||||
|
nenenwneneenwseneneneneseeswneenewne
|
||||||
|
seenweseswseeseeese
|
||||||
|
wwwnwwwnenwesesenwnwnwnww
|
||||||
|
nwsweeswnwneseseneenwswseneswwseseneswse
|
||||||
|
sesewswsenwseseseseseswsenese
|
||||||
|
enenenenwneenesweneneeeneneeeene
|
||||||
|
nwnwneeswneneswnwnwnenenenenwenwnwnwne
|
||||||
|
swneesesesewswwnwseseneseswnwnwnesew
|
||||||
|
swsesesesenesenesesesesew
|
||||||
|
seneewnesweneneeneneneeneneenenene
|
||||||
|
ewwswseswwswsenwswwwwwswnwnwswsesw
|
||||||
|
eeeswseeneeeeeswseneseesewnewnw
|
||||||
|
seseswsewswnwseseseeswseesesewsesese
|
||||||
|
nenwswseeswnwnweenwnwneswneeswswsewnwse
|
||||||
|
seseesesweneseesese
|
||||||
|
eswnwewsweseeseeweseeesenenwse
|
||||||
|
eesenweenwswweswnweeeeseswenwse
|
||||||
|
nwneneneneneneneneneswnenene
|
||||||
|
nwnwwnenewwnwnwnwswnwwwswnwwnwwnw
|
||||||
|
seeneeewseeewsenwseesweeeseee
|
||||||
|
sewnesewweneeeenwwnewwswswwswnw
|
||||||
|
neswswwnwnwnenwnwnwwsenwnwnwnesenwnwnenw
|
||||||
|
swnwswswnenwseswneeswnweesenwnw
|
||||||
|
neswswnewnenwseeneewenene
|
||||||
|
nenwneneseswneneneneneneenenenwswnenwsene
|
||||||
|
seswwswwwneseseswswswnwnewwsesenwnesw
|
||||||
|
eeeseenwseeneseenwseeeeseweee
|
||||||
|
nwnenenesenenewnwnenwnwswenwsenenenew
|
||||||
|
nwneneeseneswsenenewnwnwnewne
|
||||||
|
wwwswswswwwsewswswwneswwneswnewse
|
||||||
|
wnwnewsenenwnwenwnw
|
||||||
|
nwwseswsenwwseswswwswwnweenwwwnwsw
|
||||||
|
nenwseneswnenwswnwenwnenwnenwnwnwwnwswe
|
||||||
|
nenweneeseenweenenwsweneseneenene
|
||||||
|
sweswswwnwswswwwwwswswswswsweww
|
||||||
|
wwneseswesewsenwwnwnenwnw
|
||||||
|
wswswswewwswwwwwsewwwswnwwww
|
||||||
|
swswneeswswswswseswseswnwewnwsenwswsesese
|
||||||
|
swwnwswsweeswneswsweseswswsenwswnwsw
|
||||||
|
wneswneseswseseswswseeseseswwseseswsese
|
||||||
|
seswnwnwswswswswsenweseswswwnwswswese
|
||||||
|
swneseseeseeseseseseseseesewneseseseese
|
||||||
|
swswswswseswswswswswswswseseneseswneswse
|
||||||
|
sewwswwswweneswswswwswswswwwswwwsw
|
||||||
|
swswswswswswswswswswswnwswswswswswswnese
|
||||||
|
wwwswwwwwwswwsenwwwwwwnesww
|
||||||
|
seseseeseswwseeneseswsesesesesenwsesesese
|
||||||
|
enwnwnenwwnwnenwnwnwnwnenwnwnenwwnee
|
||||||
|
swswsewneneswsenwseeswseseneeswsenwsenesw
|
||||||
|
sweswswswswswswsenwswswswswswswswsww
|
||||||
|
seseseseseswsenesesesewseseswswnwseseswse
|
||||||
|
seneenwweenwsesewwneeswnenwwenee
|
||||||
|
enwenewseeneeewnweseswnesenenene
|
||||||
|
wwseswswswneswswswswswwswwswsw
|
||||||
|
swseseswwneswwnenwew
|
||||||
|
eseweswswnesenweneneesee
|
||||||
|
nwnwnwnesenwnwnwnwnwnwswnwenwnwnenwnwne
|
||||||
|
swwwwwseswwwswneswswwwwswwww
|
||||||
|
nenwnwswnesweseeswnenenwneenene
|
||||||
|
neenwwewneeseneswsenwswswewnese
|
||||||
|
nwnwwnwwwenwnwnwnwnwnwswenwnwwnwnwnwnw
|
||||||
|
wwnwwwwwwwwwwwwewwww
|
||||||
|
newweeneseseenwneseswnwneeesenwnw
|
||||||
|
esweeenewneswnenenenwenee
|
||||||
|
swswwswwneswswswswwwwswwswswsw
|
||||||
|
nenenenenenenenenesenenenenewneneneswne
|
||||||
|
seseseswsesesewsesesesesenesese
|
||||||
|
ewnwseswwswswwneswswswwneswwwswnw
|
||||||
|
newnesenenenenenenenenenwweneswnenene
|
||||||
|
swneseneseseneswwsenesesesewseswswswnw
|
||||||
|
nwnwnwwnwnwwwnwnwnwnwsewnw
|
||||||
|
ewneseeeseeneeeneeewneeeeeswne
|
||||||
|
nwwnwswenwswwwnwwnenwnwnwnwwnww
|
||||||
|
sewweswwwswwenwwwwwwnwwswesw
|
||||||
|
swnwneswwsweenwwwwnwnwwnwwnwnww
|
||||||
|
neswnenwwneneswwnenwnwenwsenenesenenwnwnw
|
||||||
|
nwnwsenwswnwwwenwnwnewswswnene
|
||||||
|
seneseswseswswswswseseswseswseseseswwswne
|
||||||
|
nenwnenwnenwnwnenenwnenenwsenenenwswnwswnw
|
||||||
|
enwnweneneneneneeswneneneesweenene
|
||||||
|
swswswswswnwswswswseseswswswswneswswswsw
|
||||||
|
eeeneneenweeeeeneneeeswnwesw
|
||||||
|
eneeswsweeneeesee
|
||||||
|
seseeeseseseeeswseseseseenwnwesese
|
||||||
|
eneneneneenenenenewswneneneneeeene
|
||||||
|
enwswneenenweseswneeewswesese
|
||||||
|
wseeeswsweswnewnesesesesenwewnwnw
|
||||||
|
seseswseswseswswnesesenwseseswswswseswsenw
|
||||||
|
nenwneneneneneneewnenwnene
|
||||||
|
nwnwwenenwnenwnwseneswnwnwnwenenwnwnenw
|
||||||
|
sesewnweseswseseseseseseseseseseseseseenw
|
||||||
|
neeneeswneenwnenenenenenwneneneneswnenene
|
||||||
|
neneswneswneeswneneneneneswenenenenwnene
|
||||||
|
senewnwenweewsesesewneseswneeeswnw
|
||||||
|
nwneeewsewseneneenwnwneswenewnenwnw
|
||||||
|
sweeenwwneswnewnweeeewnenwnwswswne
|
||||||
|
esweeneweneeeeeewenwsweesw
|
||||||
|
neswnenwwwwewsenweswwnwseeewnwe
|
||||||
|
newwwwwwwwwwwwwwseeswsww
|
||||||
|
nweeseeeeesenweeeeeesweee
|
||||||
|
wnwwenwwwnwnwnwwnesww
|
||||||
|
wewswwseneswwwswnwwnwwwwwnesww
|
||||||
|
nenenenenwsweeneneeeweseswnwneene
|
||||||
|
eeeeeewsweeesenweeesenweee
|
||||||
|
eeeeeneneneneswnenewneneeeneeese
|
||||||
|
nwswswnenesenenenenesenwnenenenenenw
|
||||||
|
neeeeseseeeseeswneseeeseseeew
|
||||||
|
seswseswnwseswseseswsesesesw
|
||||||
|
swwwswwwwnwwseswwnewewwwwswsww
|
||||||
|
ewwwewsewnwwwwwwwwwwwnww
|
||||||
|
swsesesesewsesesenwseseneseseewswsese
|
||||||
|
nenenenewneneeneneswneeneneneeenenee
|
||||||
|
nwnwwwswnwwnwwenwwnwnw
|
||||||
|
senenenweswnweweneneswesenwneneneneene
|
||||||
|
enenewneneneeeneeneeseenewnenenene
|
||||||
|
sesenwnwseseeseeseeeee
|
||||||
|
seewnwswswseswswseeswswswswseswsewesw
|
||||||
|
swswswswnwwswseswswwwewwwswwwnwww
|
||||||
|
nwnwnwnwnwnwnwnwnwnwnwwnwnenwnwnenwsenw
|
||||||
|
eeeeeeeeeneweeesweeeee
|
||||||
|
eswswwwwswwswswwswswnwwwwswwsw
|
||||||
|
neneneneneenwneneneenewsewweenese
|
||||||
|
nenenwnenwneneneneneswnenwswnwnwnwnwenwnwe
|
||||||
|
nwnwsenwnwwwenwnwenwwnwsewnwnwnenw
|
||||||
|
nwsenenwnwnwnwnwnwnenwnenene
|
||||||
|
eeseneseseswnweeenwneswnwsenweseswse
|
||||||
|
enwnenesenenewnenwwwnwnenenenwnwene
|
||||||
|
nwenwnweswnwwnwnenenenenwsewnwnwnwnene
|
||||||
|
seneseseneweeweseseeenesesweee
|
||||||
|
nenenesenenwwnwnwnwnwnwsenwnwnwnwnwnwnwnwne
|
||||||
|
swswswewenwneswswnweseswnwweswswnw
|
||||||
|
nenwsenenenwnwnewnwswnenenwnenenenenenesw
|
||||||
|
nweswseenewewnwewwnwsewswnwswnww
|
||||||
|
ewseneeneeneneeneneewseneneewnenw
|
||||||
|
wwnwnwnwnwwwwnwenenwnwseswwnwwww
|
||||||
|
senenenenwnenenwnwnesenenwwswnwnwnenwnwe
|
||||||
|
eseseesweseeeeseeesweeesenenwe
|
||||||
|
neneswnenwenwsenenwsweeneneneeswsenwe
|
||||||
|
neswswsweswswswnwswswneswswswwswseswnesw
|
||||||
|
swseseseeswseswnwseseseswseseswnwsesesw
|
||||||
|
seswswseseseseswneseseswswseseseswseswnesw
|
||||||
|
ewwwwnwwwwwwwwwwwwswww
|
||||||
|
seneswwwseseseseseswsenwseneseseswseswse
|
||||||
|
wsenwsenwwnweneswseewnwnewneseseswsenw
|
||||||
|
seswswneswswneseswswseswseswseswseswsesw
|
||||||
|
weseeeenweneeeneeeneeesweeee
|
||||||
|
neneneneneswneneneenwenene
|
||||||
|
eewseesesweeeenwweeneswewene
|
||||||
|
swswswswswwswswwswsweswswnwswswswswswse
|
||||||
|
wnenwneswnwnewswnwnwsenwewnwneenenwse
|
||||||
|
neneeneneneneneewnenenesenene
|
||||||
|
eeeseenwsesweeeeweeeseeenee
|
||||||
|
wswswseswneswsweneswswneswswseswswsww
|
||||||
|
nwnwwwnwsewnwwwwnewwwnwwwww
|
||||||
|
nwnwwnwnenenenwnenesenwnenenwnenenwnwne
|
||||||
|
wswswswweswnwswswswwswswswwswswwsw
|
||||||
|
newneneneneseneneneew
|
||||||
|
eeswsweseseneenenenewseswseenwese
|
||||||
|
seenwseeswwnwwseenenenwnewnewnew
|
||||||
|
neeneeneenesesweneeneweenenweeee
|
||||||
|
swsewwnwswwswswwsenwnewswwwneswe
|
||||||
|
nenenewneneeneeeneneneneeneneneneswne
|
||||||
|
seeesewseeeeeneeesenweeeswse
|
||||||
|
sesenwseswnwswsweseswnwswnweswseswnwswsw
|
||||||
|
ewwwwwwsewwwwnwwwwwwnewwnw
|
||||||
|
nwswseswnwwwsesenwenwnewnwnwwneswnwe
|
||||||
|
swnwswswswswswswswswswswswswsweswswswsw
|
||||||
|
sesesewnwseswnwseseswseswswswesweswsw
|
||||||
|
eeseeeenwswsweeeeeeneeeeeee
|
||||||
|
nenenenenenenewseneeeeseneneenewnenene
|
||||||
|
eeeeneneeneswneneeewneneseeene
|
||||||
|
nenesenenenenenewnwnenenenenenenenenene
|
||||||
|
nwswwnwweswsweswswneneswswswsw
|
||||||
|
sewnenenenenweenew
|
||||||
|
weeswenwswsenwsenwnwnweeeswesee
|
||||||
|
esenwsenenwsesenwneswwseseswsesesesewse
|
||||||
|
nwwnwnwnwnwnwswenwneswesesenenwnwenwwsw
|
||||||
|
wwnwnwnwnwnwwwnwnwswnewwwnwwnw
|
||||||
|
nwswenweswnwnwenwenwsenwnwwnwwnenwnw
|
||||||
|
eneneweeeneesenenenwenenewneeswne
|
||||||
|
seeseeesesenesesesesewsenweswseswne
|
||||||
|
eeneneeswwneneeeneenenenenewnenene
|
||||||
|
sesenewwwwewwwwwnewswwwnwnwne
|
||||||
|
senweeswnwseseneswnwsewswesene
|
||||||
|
sesesewwsenwseneesweseeeneswsesee
|
||||||
|
wnwnwnwwwwnwwwewswnw
|
||||||
|
swwwwwewwwwwwswesw
|
||||||
|
wwnwsewsewwesenwswsenwnewwnwsenww
|
||||||
|
nwnwenwnwnenwswnenwnwnwnwnwwnwnwsenwnwse
|
||||||
|
swsewswswseseswswwwswneneewswwswne
|
||||||
|
eeeeeenweeeswweeeeenwesee
|
||||||
|
wwnenwwwnewwswwwnwsewswwwsew
|
||||||
|
nwnwnesewsenwnwenwnwnwnwnwnww
|
||||||
|
nweswnesenenenesenenewsenewneneneswne
|
||||||
|
enwseseneenwwwnwnwnewnwsw
|
||||||
|
wwwenwwswwnwwnwnwnwnwnwnwwsenwwnw
|
||||||
|
swneswswswswswwswswswswswseswswnewswsw
|
||||||
|
seseenwneseweeesweneenwseswseee
|
||||||
|
senwswnwneswwwnwseewwnewnwnwnwee
|
||||||
|
swswswswnwwwseswneneswswwwswsweswsw
|
||||||
|
nwnewsenwsewnwnwsenwwwnwnwwwwnw
|
||||||
|
nwwnwswwswswwwwwnwseeswwseswswww
|
||||||
|
seweesesenwseseenesesweneewswwse
|
||||||
|
seweenewswnwwwwwwsenenewewwsew
|
||||||
|
nwnenenenewnenwneneneneneneneswneenwnene
|
||||||
|
eeeeeeneswneseeeeeseseeeeeew
|
||||||
|
seseesesesewseseeseseseewse
|
||||||
|
nweseneseeeseseseeseseesesweeswsenwsw
|
||||||
|
seneneswnesenenenenenenenwwnwnwswnenene
|
||||||
|
swnwseseseneseswswswsweswswswswsesesewsw
|
||||||
|
wseseeneseseeneewenewneenwnenenene
|
||||||
|
enwnenesenenewseswnwnwnenenenwnewnene
|
||||||
|
eneeeeneeewee
|
||||||
|
swwswwwewesewwnesewswswnw
|
||||||
|
swwseswseeswnewsewnwnwnwwneeswesw
|
||||||
|
weeswseeneeenwsewenenwweeewe
|
||||||
|
nwswnwnenwwnwnenewwewwwwseswwenww
|
||||||
|
seeseenwnwwewwneswwnewswwwsewsw
|
||||||
|
wswswswwswswswswswseswswswwwwnwesw
|
||||||
|
newseneeneswnenwwweneneswseeeeene
|
||||||
|
seswswseswseeswwswswnwswswswsweswnw
|
||||||
|
seseseseseseseseseneseseswseseseseneswsese
|
||||||
|
nenenwnwswneeneneenenwnwnwsew
|
||||||
|
nwswwnesewswsenwswweenesesew
|
||||||
|
wswswwenwswwwsenewswswneweseswsw
|
||||||
|
seswseswswswswswnwseseneseseswsw
|
||||||
|
wswswswswswswsenweswswswswswneseswsew
|
||||||
|
eneeenenweneneneneneneswneeeene
|
||||||
|
nwwwwwwwnewwwwwwwsewwwwswe
|
||||||
|
eseseseseseseneseseswwnweseseseseese
|
||||||
|
eweseeenweeeeseseweeese
|
||||||
|
nwnenwwnwwnwnwswnwsenwnwsenwenwnewsw
|
||||||
|
nwnenwnenwnenwswnenwswnenwnwnwnenwnenenwe
|
||||||
|
eeeeeeeeneweeneeeeeeswe
|
||||||
|
esenwnewnwnwnwwsenwnwnewnewwswswne
|
||||||
|
eenwseseeeeweseeeeeeeesesese
|
||||||
|
seseswswseswswswswseseeneseswswnwswsewswsw
|
||||||
|
nwnwnwneneneneneswenenenenenenwnenene
|
||||||
|
nwnwwnwnwnwwnwwsenwenwenwnwnwnwneswsw
|
||||||
|
sewwnwwnesesesewnewewswewnwwe
|
||||||
|
sweswswwnewswswweewswnwwseswsewnwsw
|
||||||
|
wsweeeneewenwneswene
|
||||||
|
eewseseeeesesenweeseseseseseeene
|
||||||
|
wwsweeswwwnwwwwswwewswwenw
|
||||||
|
eneeneneeenweeeeeseneeeee
|
||||||
|
neseneneswwneneeneeswnewneneseenene
|
||||||
|
eeeeeseseseseeewseswsenwwseeeese
|
||||||
|
wwswwswnewswwswwswwneswwswwwsw
|
||||||
|
wswwwswewswwswswwnwwwwswe
|
||||||
|
eseeweeeeeneeeeneeneeweeee
|
||||||
|
swswswswswseswnwsweswswswswswswswswswne
|
||||||
|
sesesenwwseesenwseseseesesesesesesesese
|
||||||
|
seenwnwwneeenwswwsesweeeenwse
|
||||||
|
nwwwwwwneseewwwww
|
||||||
|
eeeeeseenwsesw
|
||||||
|
nwnenwnwnenwnwnenwnwsenenwnenewnwnwnenw
|
||||||
|
seseseseseneseeeenwseseeseseeseseew
|
||||||
|
swswnwsweseneswwswswswwswswnewswwwsw
|
||||||
|
neneeesewneneeseneeneweeeeswnew
|
||||||
|
swswswsesesweswweswswswswsweswswwnwsw
|
||||||
|
nwswseseseswseswenwseswsesw
|
||||||
|
nwneneswnwnenenesenwnwneswne
|
||||||
|
sweseseeseseesewseswsesenwseswnwsesw
|
||||||
|
swnewsenenweneneneneneesewwnwnenenwnwse
|
||||||
|
nwnwsenwnwwnwnwnwnwwnenwwnweenwnwsw
|
||||||
|
nwwnwewnwnwnwwwwnwnwwnwnwnwswwnw
|
||||||
|
swswswewswseswseseswswswswsesewswsenesesw
|
||||||
|
eeweeeeeeeeseeeeeee
|
||||||
|
neenwswsenenewneew
|
||||||
|
seswneseenwswnwseswswswswswe
|
||||||
|
nwnenwnwsesenwnwwnwnwnenwnwnenenwsenwnw
|
||||||
|
sesenwsweseeswnwseswsewwseesesesesesw
|
||||||
@@ -1,6 +1,52 @@
|
|||||||
module Y2020.Day24 (y20day24) where
|
module Y2020.Day24 (y20day24) where
|
||||||
|
|
||||||
|
import Data.List
|
||||||
|
import qualified Data.Set as S
|
||||||
|
|
||||||
|
type Coords = (Int, Int, Int)
|
||||||
|
|
||||||
|
-- https://www.redblobgames.com/grids/hexagons/
|
||||||
|
-- 0 -1 +1 +1 -1 0
|
||||||
|
-- -1 0 +1 +1 0 -1
|
||||||
|
-- -1 +1 0 0 +1 -1
|
||||||
|
|
||||||
|
neighbors :: Coords -> [Coords]
|
||||||
|
neighbors (x, y, z) = [ (x, y - 1, z + 1) -- NW
|
||||||
|
, (x + 1, y - 1, z) -- NE
|
||||||
|
, (x - 1, y, z + 1) -- W
|
||||||
|
, (x + 1, y, z - 1) -- E
|
||||||
|
, (x - 1, y + 1, z) -- SW
|
||||||
|
, (x, y + 1, z - 1) ] -- SE
|
||||||
|
|
||||||
|
parseLine :: String -> [Coords]
|
||||||
|
parseLine "" = []
|
||||||
|
parseLine ('n':'w':t) = (0, -1, 1) : parseLine t
|
||||||
|
parseLine ('n':'e':t) = (1, -1, 0) : parseLine t
|
||||||
|
parseLine ('s':'w':t) = (-1, 1, 0) : parseLine t
|
||||||
|
parseLine ('s':'e':t) = (0, 1, -1) : parseLine t
|
||||||
|
parseLine ('w':t) = (-1, 0, 1) : parseLine t
|
||||||
|
parseLine ('e':t) = (1, 0, -1) : parseLine t
|
||||||
|
parseLine str = error ("invalid prefix of string: " ++ str)
|
||||||
|
|
||||||
|
walkPath :: Coords -> [Coords] -> Coords
|
||||||
|
walkPath (x, y, z) ((x', y', z'):t) = walkPath (x + x', y + y', z + z') t
|
||||||
|
walkPath i [] = i
|
||||||
|
|
||||||
|
-- A bit slow solution (~1min) but acceptable for now...
|
||||||
|
|
||||||
|
nextDay :: S.Set Coords -> S.Set Coords
|
||||||
|
nextDay cs = S.filter shouldBeBlack allTiles
|
||||||
|
where allTiles = S.fromList $ concatMap neighbors cs
|
||||||
|
countBlackNeighbors c = length $ filter (`elem` cs) $ neighbors c
|
||||||
|
isBlack c = c `elem` cs
|
||||||
|
shouldBeBlack c = case (isBlack c, countBlackNeighbors c) of
|
||||||
|
(True, 1) -> True
|
||||||
|
(True, 2) -> True
|
||||||
|
(False, 2) -> True
|
||||||
|
_ -> False
|
||||||
|
|
||||||
y20day24 :: [String] -> (String, String)
|
y20day24 :: [String] -> (String, String)
|
||||||
y20day24 input = (part1, part2)
|
y20day24 input = (part1, part2)
|
||||||
where part1 = "WIP"
|
where part1 = show $ length $ blackTiles
|
||||||
part2 = "WIP"
|
part2 = show $ length $ head $ drop 100 $ iterate nextDay $ S.fromList blackTiles
|
||||||
|
blackTiles = map head $ filter (odd . length) $ group $ sort $ map (walkPath (0,0,0) . parseLine) input
|
||||||
|
|||||||
Reference in New Issue
Block a user