Day 12
This commit is contained in:
parent
065e0178ae
commit
5c0e8a2ce6
2 changed files with 230 additions and 0 deletions
140
input/day12
Normal file
140
input/day12
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
NNNNNNNNNNNNNNNRRRRRLLLLLLLLRRBRRRRTTTTTTTTZZZZUUUZZZZZZZGGGGGGGGGGMMMMAAAAAAAAAAAAAAAAAAYYYYJJJXXXXXXXXXXXXXXXXXWWWWWWWJJJJJJJJJJJJJJJCCCCC
|
||||
NINNNNNNNNNNNNNNRRLLLLLLLLRRRRRRRRRRTTTTTTZZZZZUUUZZZZZZGGGGGGGMGMMMMXXMMAAAAAAAAAAAAAAAAYYYYYJXXXXXXXXXXXXXXXHXWWWWWWWWJJJJJJJJJJJJJJJCCCCC
|
||||
NNNNNNNNNNNNNNNRRRLLLLLLLRRRRRRRRRRRTTTTTTZZZZZUUUZZZZZZZGGZGMMMMMMMMMMMAAAACAAAAAAAAAAPPXJJJJJXXXXXXXXXXXXXXXXXWWWWWWWWWJJJJJJJJJJJJJCCCCCC
|
||||
TNNNNNNNNNNNNNNNRLLLLLLLLLXRRRRRRRRRTTTTTLUZZZZUUUZZZZZZZZZZGGMMMMMMMJMMAAAACAAAAAAAAAXXXXXXJJJJXXXXXXXXXXXXXXXXAWAWWAWWJMMJJJJJJJJJJJCCCCCC
|
||||
TNNNNNNNNNNNNNNNRRRLLLIIIIXXRRDRRRRTTTTTTLLZLZZUUUZZZZZZZZZQQQQQQQQMMMMMMCCCCAAAAAAAAALXXXXXJJJJXXXXXGXXXXXXXXAAAAAAAAJJJJJJJJJJJJJJJJJJCCCC
|
||||
TTNTTNNNNNNNNNNNRRRLLTTTTIIIIRRRRRRRTTTTTLLLLLUUUUUUZZZZZZMQQQQQQQQMMMMMMCCCAAAAAAAAAAXXXXXXJJJJXXXXXXXXXXXXXAAAAAAAAAJJJJJJJJJJJJJJJJJJCCCC
|
||||
TTTTTNNNNNNNNNNNNNTTTTTTTIIIIRRRRRTTTTTLLLLLLLUUUUUUZZZZZMMQQQQQQQQMMMMMMMACCAAAAAAAAAJXXJJJJJGGCXGGXXXXXXXXAAAAAAAAAAJJJJJJJJJJJJJJJJJJCCCC
|
||||
TTTTTNNNNNNNNNNNNNKTTTTTTITITTTTTTTTTTTLLLLLLLUUUUUUUUUUUMMQQQQQQQQMMMMWAAAAAAAAAAAAAAJXJJJRRRRGGGGGGIXXIIXXAAAAAAAAAAJJJJJJJJJJJJJTTGGTCCCC
|
||||
TTTTTTTNNFFNNFNNNDKKKTTTTTTTTTTTTTTTTTLLLLLLLLUUUUUUUUUUUMMQQQQQQQQQQQQQQAAAAAAAAAFFAFFFFJJRRRRGGGIIIIIIIIDDAAAAAAAAAAAAJJJJJJKKJJJJTTGTTTTT
|
||||
TTTCTTTNFFFFFFNNOKKKKKKTTTTTTTTTEEETTTLLLLLLLLUUUUUQQQQQQQQQQQQQQQQQQQQQQAAAAAAAAAFFFFFFFFRRRRRGGRRIIIIIIIIIAAAAAAAAAAAJJJJJJKKKKKTTTTTTYTSS
|
||||
CCTCCCCNCFFFFFFNOOKKKKKKKKKTTTTTEEETNNUULLLLLLUUUUUQQQQQQQQQQQQQQQQQQQQQQAAAABAAAAFFFFFFFTJJRRRRRRIMIIIIIIIYAAAAOOAAAAJJJJJJKKKKKTTTTTTTTTTT
|
||||
CCTCCCCCCFFFFFFNOKKKKKKKKKTTTKTTEEENNNNLLLLLLLUUUUUQQQQQQQQQQQQQQQQQQQQQQAAAFAAAFFFFFFFFFTTTTTRRRRIIIIIIIIIIQOAAOOAJJJJJJJJJJKKYYYYTTTTTTTTT
|
||||
CCCCCCCCCRFFFRRKOKKKKKKKKKKTKKTEEEEDNNNNLLLLLLLLUUUQQQQQQQQQQQQQQQQQQQQQQAAAAFAFFFFFFFFFTTTTTRRRRRRIIIIIIIIIQOOOOOOJJJJJJJJJJJKKYYYYTTTTTTTT
|
||||
CCCCCCCCRRRRFRQKKKKKKKKKKKKKKKTEETENNNNNLLLLLLBBUUUQQQQQQQQQQQPQQQQQQQQQQFFFFFFFFFFFFFFFTTTTTTTTRRRIIIIIIIFQQOOOOOOJJJJJJJJJJKKKKYTTTTTTTTTT
|
||||
CACCCCCCRRRRRRQKKKKKKKKKKKKKKKTEETDVVVVVVNLELLBBUUUQQQQQQQQQQQPQQQQQQQQQQFFFFFYYYFFFFFFTTTTTTTTTRRRRIIIIIFFQQOKOOOOJJJJJJJJJJKKKKTTTTTTTTTTT
|
||||
AACCCCJRRRRRRRRKKKKKKKKKKKKKJKTTTTDVVVVVVNNELNBBUUUQQQQQQQQQQQPQQQQQQQQQQFYYYFYYFFYFFFFTTTTTTTTTTTRRRRIIIFFFFFFFJJJJJJJJJJJJKKKKKTTTTTTTTTTT
|
||||
ACCCCURRRRRRRRRKKKKKKKKKKKKTTTTTTTNVVVVVVNNEENBBUUUIIQQQQQQQQQPQQQQQQQQQQYYYYYYYFFYYFFFTUTTTTTRTRRRRRRRIKFFWFGGGJJJJJJJJJJJKKKKKKTTTTTTTTTTT
|
||||
ACCCCCRRRRRRRRRRKKKKKKKKKKOTTTTTTTTVVVVVVNNNNNNNNIIIBQQQQQQQQQPQQQQQQQQQQPYYYYYYYYYYYFFVTTTTTTRRRRWWWWKKKKFFFGFJJJJJJJJJJJJKKKKKKKKTTTTTTTTT
|
||||
ACCCOORRRRRRRRRRRKKKKKKKKKOTTTTTTTTVVVVVVNNNNNNNNIIIIQQQQQQQQQPPPPPPPFFFFYYYYYYYYYYYBFFVTTTTRRRRWWWWKKKFFFFFFFFFJJJJJJJJJJKKKKKKKKKKTTTTTTTT
|
||||
AAARRRRRRRRRRRRKKKKKKOOOOOOOOOYYTTMVVVVVVNNNNNNNNIIIIQQQQQQQQQPPPPPPPFFFYYYYYYYYYYYYYFFVVTRTRRRRWWWWFFFFFFFFFFFFJVJUJUUJJJJKKKKKKKKTTTTTTTTT
|
||||
AAAARRRRRRRRRRRRRKKKKKOOOOOOOOYYVVVVVVVVVNNNNNNIIIIIIIIIBPPPPPPPPPPPPPPFYYYYYYYYYYYYYYFVVRRRRRRRRWFWWFFFFFFFFFFFFFUUBUUJJJJJKKKKKKKKKTTTTTTT
|
||||
JJJRRRRRRRRRRRRRRKKKKOOOOOOOOOYOVVVVVVVNNNNNNNNNIMIIIIIIIPPPPPPPPPPPPPPFPYYYYYYYYYYYYYYVVNNNNRRRRWWWWWFFFUFFFFFFFFUUUUUJJJJJKKKKKKKKKTTTTTCT
|
||||
JJJJJRRRRRRRRRRRKKKOOFOOOOOOOOYOVVVVVVVNNNNNNNNNRMIIIIIIOPPPPOOBOPPPPPPPPYYYYYYYYYYYYYYVVVNNRRRRWWWWWWFFFUUFFFFFFUUUUUULJJJJKKKKKKKKKZFCCTCT
|
||||
JJJJJRRRRRRJRPPPKKKKOOOOOOOOOOOOVVVVVVVNNNNNNNNRRMIIIIOOOOOOOOOOOPPPPPPPYYYYYYYYYYYYYYVVVNYYYWWWWWWWWWWWWFFFRRFFIIIUUUULLJJJYYKKKKKKKKFFCCCC
|
||||
JJJJJJRRRJRJJJPPKKKKKOOOOOOOOOOOOOLLLNNNNNNNZNNRBMIIIOOOOOOOOOOOPPPPPPPPYYYYYYYYYYYYYYVNNNYYYWWWWWWWWWWWWFFFFRFOQIIIUUUUUYYJYYYKKKKKKKFFFCCC
|
||||
JJJJJJJJRJJJJJPPKKKPPPOOOOOOOOOLOOLLLNNNNNNNRNNRRMMMIOOOOOOOOOOPPPPPPPPPYYYYYNNNYYNNYYNNNNYYYWWWWWWWWWWWWFFFRRRQQQIIUUYYYYYYYYYKKSSSSFFFVFCC
|
||||
JJJJJJJJJJJJJJTTTTTTOOOOOOOOOOOLLLLNNNNNNNRRRRRRRMMIIMMOOOOOOOOOPPPPPLPPYRYYYNNNNNNFYYNNNNYYYYYYYYYYYYYYYYYYFFFQQQQQYUYYYYYYYYYSSSSSFFDFFFFF
|
||||
JJJJJJJJJJJJJHTTTTTTPPOOOOOOOOLLLLLNNNNNNNNRRRRMMMMMIMMMMOOOOOOPPLLLLLLLLJYYWPPDDNNNNNNNNNYYYYYYYYYYYYYYYYYYWFFFQQQQYYYYYYYYYYSSSSFFFFFFFFFO
|
||||
JJJJJJJJJJJJJJTTTTTTTPPOOOOOLLLLLLLNNNNNNNNNNRRMMMMMMMMMTOOOOOTTLLLLLLLLLJJKPPDNNNNNNNNNNNYYYYYYYYYYYYYYYYYYWFFFFQQYYYYYYYYYYSSSFFFFFFFFFFFO
|
||||
JJJJJJJJJJJJJJTTTTTTTPPTTTTOLSLSLNNNNNNNZNZZMMOMMMMMMTTMTOOOOOOTTLLLLLLLLJJJPPNNNNNNNNNNNNYYYYYWWWYYYYYYYYYYFFFQQQYYYYYYYYYSSSSSRFFFFFFFFFFF
|
||||
JJJJJJJJJBJJBBTTTTTTTPPTTTTSLSSSLLNNNNNNZZZMMMMMMMMMMMTTTOOOOTTTTTTLLLLLLJJPPPNNNNNNNNNNNNYYYYYXWXYYYYYYYYYYQFFFQQYYYYYYYYYSYSSSRFFFFFFFFFFF
|
||||
JJJJJJJJBBBBBBTTTTTTTPPTTTTSSSSSSSJNNNNNZZZMMMMMMMMMMMTTTOTTOTTTTTTTLLLMMJJPPPPNNNNNNNNNNNYYYYYXXXYYYYYYYYYYQXFAAYYYYYYYYYYYYSSSFFFFFFFFFFFB
|
||||
JJJJJZJBBBBBBBTTTTTTTTTTTTTSSSSJJJJJJNZZZZZZZMMMMMMMMMTTTTTTTTTTTTTNLLPPPPPPPPPNMMNNNNNNNNYYYYYXXXYYYYYYYYYYXXXXAAYYYYYYYYYYYSSSFFFFFFFFFFFB
|
||||
XJJJBBBBBBBBBBBBPPTTTTTTSSSSSSSJJJJJJJMMZZZZZZMUMMTMMTTTTTTTTTTTTNNNLLLLPPPPPPPPPPRNNNNNNNYYYYYNXXXXXXXXXXXXXXXXXAYYYYYYYYYYYJJJJJFFFDDDDDBB
|
||||
XJJBBBBBBBBBBBBPPPTTTTTTSSSSSSSSSJJJMMMMZZZZZZMMMMTTTTTTTTTTNNNTTTNNLLLLLPPPBBPRRRRNRNNRRRYYYYYNNXXXXXXXXXXXXXXXAAAYYYYYYYYYYJJJJJNFFFDDDDBB
|
||||
XXXXXBBBBBBBBBBBPPTTTTTTSSJJJSJJJJJMMMMMZZZZZZZZMDDDDTTTTTTTNNNNTNNNNLLLLLPPPBPNNRRNRRRRRZYYYYYXXXXXXXXXXXXXXXAAAAYYYYYYYYYYYJJJNNNFFFDDDDHD
|
||||
XQQXXBBBBBBBBBBBPPTTTTTTJJJJJJJIIJIIMMMZZZZZZZZDMDDDDTTTTTTTNNNBNNNNNLLLLLLBBBBNNNRRRRRRRZYYYYYYYYYYYYXXXXXXXXAAAAAYYYYYYJJJJJJNNNNNWWDDDDDD
|
||||
QQQQQBBBXXBBBBBBBRTTTTTTJJJJJJJIIIIIIMZZIZZZZZDDDDDDDDTTTTNNNNNNNNNNNNLLLLLLBBNNNNRZZZZRZZYYYYYYYYYYYYXXXXXXXAAAAOAAAYYYYYJJJJNNNNNNNWDDDDDU
|
||||
QQQQQGJBXBBMBBBBRRTTTTTTBJJJJJJIIIIIIIIIIIZZZZDDDDDDDTTTTNNNNNNNNNNNNNLLLLLENNNNNNNZZZZZZZYYYYYYYYYYYYXXXXXXXAOOOOAAAAAYYHNNNJNNNNNNNWDNDUUU
|
||||
QQQQQQJJJJQJJBRRRRTTTTTTBBBJJIIIIIIIIIIIIIIZZZDDDDDDDDDTTTNNNNNNNNNNNNLLLLLEEEEEENNZZZZZZZZYYYYYYYYYYYXCCCXXXXOOOOAAAAAANNNNNNNNNNNNNNNNSSUU
|
||||
FQQQQQQJJJQQJFFFRRTTTTTTBBBBBBIIIIIIIIIIIIIZZZDDDDDDDDTTTXNNNNNNNNNNNNLEEEEEEEEEEZZZZZZZZZZYYYYYYYYYYYCCOOOOOOOOAAAAAAAANNNNNNNNNNNNNNNSSSNN
|
||||
FQQQQQYJJJJJJFFFRRRRRRRZBBBUUBWIIIIIIIIIIZZZZZDDDDDDDDTTTXNNNNNNNNNNNNNEEEEEEEEEEZBZZZZZZZZYYYYYYYYYYYCCOOOOOOOOOAAAAAAAANNNNNNNNNNNNNNXXXNN
|
||||
FFFJZQJJJJJJJFFRRRXXRRXBBBBBBBBIIIIIIIIIIZZZZZCCCDDDDDTTTXXXXNNNNNNANNEEEEEEEEEEEZZZZZZZZZZYYYYYYYYYYYCCCCOOOOOOOOAAAAAANNNNNNNNNNNNNNNNNNNN
|
||||
FFFJJJJJJJJJJJFRXXXXXXXBBBBBBBIIIIIIIIIIIZZZZZCCCDDDDDXXXXXXXXNNNNAANAEEEEEEEEEEEEZMZZZZZZZYYYYYYYYYYYCCCCCOOOOOOOAAAAAAANNNQQQQNNNNNNNNNNNN
|
||||
FFJJJJJJJJJJJJJGGXXXXXXBBBBBBBBIIIIIIZVVZZZZZCCCDDDDDDXXXXXXXXBBNNAANAEEEEEEEEEEEEEMMZZZZZZYYYYYYYYYYYCCCCCOOOOOOOAAAAALAAAAAQQQQNNNNNNNNNNN
|
||||
FFJJJJJJJJJJJJGGGGXXXXXXQBYYBYIIIIIWZZVVZZZZZCDDDDDDDDXXXXXXXXAAAAAAAAAAEEEEEENNEEEMMMMZZZZYYYYYYYCCCCCCCCOOTTOOOOAAAAALLAAQQQQQQQQWNCNNNNNN
|
||||
FFFJJJJJJJJJJBGGGGGXXXXXQQYYYYIIIIIZZZZZZZZZZWWWDDWWWWXXXXXAAAAAAAAAAAAEEEEEEENNNEMMMMMMMZZYYYYYYYCCCCCCCOOTTTOAAAAAAALLLAAAQQQQQQQWWNNNNNNN
|
||||
XXXXXXJJJJJJJBBGGGGXXXXXQQYYYYIIIIIZZZZZZZZZWWWWDWWWWWWXXXXAAAAAAAAAAAAAAEEENENNNNMMMMMMMZZZEEREECCCCCCCCCTTTTAAAAAAAAALLQQQQQQQQQANNNNNNNNN
|
||||
XXXXXJJJXJJJJBBBBGGGGXXQQYYYYYYYICCZZZZZZZZZWWWWWWWWWWWWWXXXAAAAAAAABAAAMNEENNNNNNMMMMMMMMIILEEEECCCCCCCCCTTTTAAAAAAAALLLHQQQQQQQQANLNNNNNNN
|
||||
XXXXXXXXXXXXXBBBBGGGYHHYYYYYYYYYYKKKZZZZZZZZWWWWWWWWWWWWWWMXAHHHHAAAAAAANNEENNNNNNNMMMMMMMMILLEECCCCCRCCCCTTTTTTAAAAALLLLHHQQQQQQQAANNNNNNNN
|
||||
YXXXXXXXXXXXCCBBBBBBYHYYYYYYYYYYYKKFFFZZZZZZZWWWWWWWWWWWWWMMMHHHHAALAAAANNENNNNNNNNNMMMMMMMLLEEEEEECCCCTTTTTTTTTTTAAALLLLLQQQQQQAQAAAANNNNNI
|
||||
XXXXXXBNNNBBBBBBBABYYYYYYYYYYYYYYKKKFFZZZZZWWWWWWWWWWWWWWWMMMHHHHALLLLNNNNNNNNNNNNNNMMMMMMMMLLESESECKKTTTTTTTTTTTTAAALLLLLNQQQQQAAAAANNNAYYI
|
||||
XXXXXBBBBBBBBBBBBBBYYYYYYYYYYYKKKKKKKKZKZZZZWWWWWWWWWWWWWWMMHHHHHHHLLLNNNNNNNNNNNNNNMMMMMLLLLSSSSSSETTTTTTTTTTTTTTTAALLLNNNQQQQQAAAAAAANNNYY
|
||||
XXXXXXBBBBBBBBBBBBBYYNYYYYYYYKKKKKKKKKKKZZZZWWWWWWWWWWWWCMMHHHHHHHHHLLNNNNNNNNNNNNMNMMMMMLLLSSSSSSSSTTTTTTTTTTTTTTTTALLLNNNQQQIAAAAAAYANYYYY
|
||||
QQXXQBBBBBBBBBBBBBIYYNYYYYYYYKYYKKKKKKKKKZZWWWJWWWWWCCCCCMMHHHHHHHUHLNNNNNNNNNNNNNMMMMLLLLLLSASSSSSSSTTTOOOOOOOOOOTAALLLLNNNNIIAAAAAYYYYYYYY
|
||||
QQQQQBBBBBBBBBBBBBBBBNYYYYYYYYYKKKKKKBBBBBBBBBWWWWWWCCTCCCCHHHHHHHHHHSNNNNNBNNNNDNNNMLLLLLLLSSSSSSSSSSTTOOOOOOOOOOAAAAAANNNNNIIIAAAAAYYYYYYY
|
||||
QQQQQQBBBBBBBBBBBBBBBBYYPYYYYYVVVVVKKBBBBBBBBBWWWWWZCCCCCCCHHHHHHHHHHSSNNNNBNNNDDDNNLLLLLLLLSSSSSSSSSSTTOOOOOOOOOOOAAAAAANINNIIAAAAAIIYYYYYY
|
||||
LQLQQQBBBBBBBBBBBBBBBBDDPYYYYYVVVVKKKBBBBBBBBBZZZZZCCCCCCCHHHWHHHHHHSSSNNNNNNNNNDLLLLLLLLLLLSSSSSSSSSSTTOOOOOOOOOOOAAAAAANIIIIIIAAAIIIYYYYYY
|
||||
LLLLQQBBBBBBBBBBBBBBPPPPPPYYYYVVVVVVVBBBBBBBBBZZZZZZZCCCCCCCCHHHHHHHSXSSSNSSNNNDDLLLLLLLLLLLLSSSSSSSSSTTOOOOOOOOOOOAAWANNNNNNIIIAIIIIIIYYYYY
|
||||
LLLQQQQQBBBBBBBBBBBBPPPPPPYYYYYYUUVVVBBBBBBBBBZZZZZCCCCCCCCCCCHHHHHAXXSSSNSSSSSDDDLLLLLLLLLLLSSSSSSSSSSTOOOOOOOOOOWWWWWLLNIINIIIIIIIIIIYYYYY
|
||||
LLLLLQQQBBBBBBBBBBBOPPPPPPPPMMMUUVVVVBBBBBBBBBZZZZZCCCCCCCCCCCCHHAAAAXSSSSSSSSSSSLLLLLLLLLLLIIISSSSSSSSSOOOOOOOOOOYWWWLLNNIIIIIIIIIIIIIYYYYY
|
||||
LLEEEQQQBQQBBBBBBBBOOPPPPPPPPMMUUUVVVBBBBBBBBBZZZZZZZCCCCCCCCCCAAAAAXXXSXXSSSSSSSLLLLLLLLLLIISSSRRRRRRRRRROOOOOOOOWWWLLLLIIIIIIIIIIIIRIIIIYY
|
||||
LDEEEQQQQQQJBBBBBJBPPPPPPPPPUUUUUUUUVBBBBBBBBBZZZZZZZCCCCCCCCCCCAAAAXXXXXXSSSSSSSLLLLLLLLIIIIISSRRRRRRRRRROOOOOOOOWLLLLLLPIIIIIIIIIIIIIIYYYY
|
||||
LDDDQQQQQQQJBBBBJJJOPMPPPPPPPPUUUUUVVBBBBBBBBBZZZZZZZCCCCCCCCCCCAAAXXXXXXXXSSSSSSLLLLLLLLIIIIIISRRRRRRRRRROOOOOOOOWLLLLLLIIIIIIIIIIIIIIIYYYY
|
||||
LDDDQQQQQJJJZZJJJJJOOPPPPPPPUUUUUUUVVVVVVZZZZZZZZZZZZZCCCCCCCCCCAAAAXXXXXXXSSSSSRLLLLLLLLLIIIIIIRRRRRRRRRREOOOOOOZWLLLLLLLLIIIIIIIIIIMIIYYYY
|
||||
DDDDDQQQQJJJJZJJJJOOPPPPPPPPPUUUUUVVVVVVVZZZNNZZZZZZZZCCCCCCCCCCCAAAXAAXAAXSSSSSSLLLLLLLLLLIISSISSRRRRRRSSEOOOOOOZZLLLLLLLLIYYIIIIIIIMJJYYYY
|
||||
DDDDDDJJJJJJJJJJJOOOOPPPPPPPPUUUUUUVVVVVVZZZNZZZZZZZZCCCCCCCCCCCCCAAAAAAAAAAASSLLLLLLLLLLLIIISSSSSRRRRRRSSZOOOOOOZZZLLLLLLLYYLIIIIJSSJJJYYYY
|
||||
DDDDDDDJJJJJJJJJJOOOOPPRPPPPPUUVJUUVVVVVVNNNNNNZZZZZWECCCCCCCCCCCAAAAAOAAAAAALLLLLLLLLLLLLIIISSSSSRRRRRRFPPOOOOOOZZZLLLLLLLLLLJJJJJJJJJJJYYY
|
||||
DDDDDDDJJJJJJJJJJJJOOOOPPUUPUUVVJVUVVVVVNNNNNNZZZZWWWWWWWWCWCCCCAAAAAAOAAAOALLLLLLLLLBBLLLLIIISSSSRRRRRRPPPZZZZZZZZZZLLLLLLLHJJJJJJJJJJYYYYY
|
||||
DDDDDDDDDJJJJJJJOOOOOOOOOUUUUUVVVVUVVVVVVNNNNNNZZZWWWWWWWWWWWWCCAAAAAAOOOOOALLLLLLLLLBLLLLLIPISSSSRRRRRRRRRRRRZZZZZLLLLLLLLLHJJJJJJJJJJJYYYY
|
||||
DDDDDDDDDJJJIOJOOOOOOOOOOOUCCVVVVVVVVVVVVVNZNNZZZWWWWWWWWWWWWWWIAAAAAAOOOOOAAOLLLELLLLLLLJLIPPSSSSSSRRRRRRRRRRPZZZZLLLLLLLLHHHJJJJJJJJJJJYYY
|
||||
DDDDDDDDDDJJJOOOOOOOOOOOCCCCCCCVVVVVVVVVZZZZZZZZZZZWWWWWWWWWWIIIIAAAAOOOOOOOOOLLLLLLLLPPPPPIIPEESSSSRRRRRRRRRRPPPZZLLLLLLLHHHHJJJJJJJJJJYYYY
|
||||
DDDDDDDDDDDDJOOOOOOOOOOOOCCCCCVVVVVVVVVVZZZZZZZZZZZWWWWWWWWWWWDDHDAAAOOOOOOOOOOOOLLLLPPPPPIIIPESSPSSRRRRRRRRRRMPPPMMLLLLLLHHHTJJJJJJJJJJJYYY
|
||||
DDDDDDDDDDDNNNOOOOOOOOOOOCCCCVVVVVVVVVVZZZZZZZZZZZZZZWWWWWWWWWDDDDAAOOOOOOOOOOOOLLLLPPPPPIIIPPPPPPPPRRRRRRRRRRRRRMMLLLLLLLHHHHJJJJJJJJJJYYYY
|
||||
DDDDDDDDDDDNNNOOUOOOOOOOOVCCVVVVVVVVVVVVZZZZGGZZZZZZZWWWWWWWWWWDDDDOOOYOOOOOOOOOLLLLLPPPPPPPPPPPPPPPRRRRRPMRRRRRRMLLLLLLLHHHHHJJJVVJJKJKKKYY
|
||||
DDDDDDDDDDDUUNOOOOOOOOOOYVVCCVVVVVVVVVVVZLLLGGGGGGZGWWWWWWWWWWWDDDDOOOOOOOOOOOOOLYYYYPPPPPPPOPPPPNNNRRRRRPPRRRRRRMMLLLLLHHHHHHJVVVVVKKKKKKYK
|
||||
DDDDDDDDDDDUUUOTTOOOOOYYYYVVVVVWWWWWCWVVVLLLLGGGGGGGWWWWWWWWWDDDDDDOVVOOOOOOOOZYYYYYYAAAPPAPPPPPNZNNRRRRRPMRRRRRRMMLLRRHHHHHVVVVVVVVVKKKKKKK
|
||||
DDDDDDDZDDDUUOOOOPKHHHHYYYVVVVVVVWWWWWLLLLLLGGGGGGGGWWWWWWWDDDDDDDDVVVVVOOOOOOYYYYYYYYYAPPAANNNPNNNNRRRRRPMRRRRRRMMRLRRRRHHVVVVVVVIMKKKKKKKK
|
||||
DDDDDDDZZDDXGOCCCKKKHKYYVVVTTTVVVWWWWWLWLLLLGGGGSGGGGGGWWDDDDDDDDDDDVVVVOOOOOOYYYYYYYYAAPAAANNNNNNNNNNNNPPPRRRRRRMMRRRRRRRRVVVMVVMMMMMKMKKKK
|
||||
DDDDDUDXXXXXXXXCXKKKKKYYQQTTTTVVVWWWWWWWLLLGGGGGGGGGGGGGDDDDDDDDDDDDVVVVVOOOOYYYYYYYYYAAAANNNNNNNNNNNNNPPPPRRRRRRRRRRRRRRRVVVMMVMMMMMMMMMKKK
|
||||
DTTTDUUXXXXXXXXXXKKTKKKTTTTTTTTTVTWTWWWWLLGGGGGGGGGGGGGGDDDDDDDDMMMDDVVVVVVVOYYYYYYYYYAAAANNNNNNNNNNNNNPPPWCCCCCRRRQRRRRRVVVVMMMMNMMMMMDMKKK
|
||||
HHTXQXXXXXXXXXXXXKTTTTTTTTTTTTTTTTTTWWWWWWGGGGGGGGGGGGGGGDDDDDDDMMMMMVVVVVVVOYYYYYYYYYAAAANNNNNNNNNNNNNNPWWWWCCRRRRRRRRRRVVMMMMMMMMMMMMMMKKK
|
||||
HHTXXXXXXXXXXXXXXEEETTTTTTTTTTTTTTTTWWWWWWDGGGGGGGGGGGGGGDDDDDDMMMMMMVVVVVVVVVYYYYYSYYYAINNNNNNNNNNNNNCPPPCWWCCCCCRRSRRRRVVMMMMMMMMMMMMKKKKK
|
||||
HHHXXXXXXXXXXXXEEEEETTTTTTTTTTTTTTWWWWWWWWDGGGGGGGGGGGGGGGDDDDMMMMMMMVVVVVVVYYYYYYYIAIIIINNNNNNNNNNNNCCCPCCCCCCCCCCRRRRRRRMMRMMMMMMMMMMMMMKK
|
||||
HHHKXXXXXXXXXXXEEEEETTTTTTTTTTTTTWWWWWWWDDDDGGGGGGGGGGGGGDDDDDMMMMMCMVVVVVVYYYYYYYYIIIIIINNNNNNNNNNNNNNCCCCCCCCCCCRRRRRRRRRRRMMMMMMMMMMMMKKK
|
||||
HKKKSXXXXXXXXXXEEEEEETTTTTTTTTTTPPPWWPPFDDDDGGGGGGGGGGZZZDDDDDBBMMMMVVPVPVPYAAYYYYYYYIIIIINNNPNNNOOONNNCCCCCCCCCCRRRRRRRRIIRRMMMMMMMMMMMKKKK
|
||||
KKKKSSSSXXXXXXXXEEEETTTTTTTTTTTTNNPPPPPFFDDGGGGGGGGZZZZZZDDDDDBBBMMMMVPPPPPAAAYIYYYIIIIIIIIIIPNNNOOOOTTTCFCFFCCCCCCCCRIIIMIRIMUMMMMMMMMMKKKK
|
||||
KKSKSSSSXXXXXXXXXEEEETTTTTTTTTNNNNPNFFFFFDDGGGGGGGGZZZZZZZZDDDBBBBBBMVBIIPPPPAIIIIIIIIIIIIIIIIOOOOOTTTTSTFFFCCCCCVVIIIIIIIIIIMMMMMMMMMMMKKKK
|
||||
SKSKSSSSSXXXXDXXDDDDDHTTHTTTTNNNNNNNBFFFFFDFBGSGGGFZZZZZZZDDDDBBBBBBYBBBPPPPPIIIIIIIIIIIIIIIIIOOOOTTTTTTTTFFFCCCCVVIIIIIIIIIIIMMMMMMMMMMMMKK
|
||||
SSSSSSSSUUSSXDDDDDDDDHHHHTTTNNNNNNNNBFFGFFFFBGGGGKGGZZZZDDDDDDBBBBBBBBBPPPPPIIIIIIIIIIIIIIIIIIOOOTBBBBBBBBBFFFFFCFVVXJAIIIIIIIIMMMMMMMKKKKKK
|
||||
SSSSSSSSSSSSHHDDDDDDDDHHHHTNNNNNNNNNNFFFFFFBBGGGGGGGGZZMDDDDDDBBBBBBBBPPPPPPPIBIIIIIIIYIIIIIIIIITTBBBBBBBBBBBFFFFFVVXJAAJJJJIIIIMMMMMMKKKKKK
|
||||
SSSSSSSSSSSSHHHDDDRDDHHHHHNNNNNNNNNNNNFFPFFGBBGGGGGGGZLMMDDDDDBBBBBBBBIIMMPPPIBIIIIIYYYIIIIIIIIITTBBBBBBBBBBBFFFFFVVVJAJJJJJIIIIMMMMKKKKKKKK
|
||||
SSSSSSSSSSSSHHHDDHHHHHHHHHNNNNNNNNQNNOFXGGGGGGGGGGGGGLLLDDDDDDGBBBBBBBIIMMMMPPMMIIIIYYIIIIIIILLLLLBBBBBBBBBBBFFFFFFVVJJJJJJJJIIIMMCMQKKKKJKK
|
||||
SSSSSSSSSSSSSHHHHHHHHHHHHHHNNNNNNNNNOOFFGGGGGGGGGGGLLLLLOODDDDBBBBBBBBMMMMMMMMMMIIIIYYYYIIIIILLLCCBBBBBBBBBBBFFFFFFFJJJJJJJJJJJJJCCMQQKKJJKK
|
||||
SSSSSSSSSSSSSHHHHHHHHHHHHHHNNNNNNNNNOOOOGGGGGGGGGGGULLLLLLODDDBBBBBBBBMMMMMMMMMMIIIIIYYIIIIILLLLLLBBBBBBBBBBBFFFFFFJJJJJJJJJJJJJJCCCCQQQJJKK
|
||||
SSSSSSSSOOOOOHHHHHHHHHHHHJHNNNNNNNNNOOOOGGGGGGGGGGGUUUELLLLDFBBBBBBBBBMMMMMMMMMMMIIIEBYIIILLLLLLLCBBBBBBBBBFFFFFFOOUJJJJJJJJJJJJJCCCCQJJJKKK
|
||||
SSSSSSSSOOOOOHHHHHHJHHHHHJJJJNNNNNVVOOOOGGGGGGGGGGGDUUELLXXDBBBBBBBBBBMMMMMMMMMMMIMIEBIIIILLLLLLLCBBBBBBBBBFFFFFFOOUOOJJJJJJJJJJJJJJJJJJJJKK
|
||||
SSSSSSSSOOOOOHHHHHHJHHHHHJJJJNNNNAVVVOOOOGGGGGGGGGGUUUUUUXXDTBBBBBBBBBMMMMMMMMMMMMMIEEEIIIELLLLLLCCFFFFFFFFFFFFFFOOOOOJJJJJJJJTJXXXJJJJJJJJK
|
||||
SSSPSPPPAAOOOHHHHHHJHHHHCJJJJNNJAAVVVVVOOOGGGGGGGGGUUUUUUXXUTTTTTBBBBBMMMMMMMMMMMMEEEEEIITELLLLCCCCCFFFFFFFFFFFFOOOOOOJJJJJJJJJJXDDDJDDDDXJK
|
||||
SSPPPPPPAOOOOOHHHHHTHHCCCJJJJJJJJAVVVVVVGGGGGGGGGGGUUUUUUUUUTTTTBBBBBMMMMMMMMMMMMEEEEEEEEEELLLLCCCCCFFCFFFFFFFFFFOOOOOJJJJJJJJXXXDDDDDDDDDDD
|
||||
PPPPPPPPPPOOBOHHHHHTMTCJJJJJJJJJJVVVVVVVGGGGGGGGGGGUUUUUUUUUTTTTTBBTTTMMMMMMMMMMEEEEZZZZZZZLZZZZZZZCFCCFFFFFOFOOOOOOOOOJJJJJYXXXDDDDDDDDDDDD
|
||||
PPPPPPPPPPOOOOHTTTTTTTTEJJJJJJJJJVVVVVVVGGGGGGGGGGGUUUUUUUUUTTTTTTTTTTMTMMMMMMMMEEEEZZZZZZZEZZZZZZZCCCCCCFFFOOOOOOOOOOOOOYYYYXXXXDDDDDDDDDWD
|
||||
PPPPPPPPPPUOHHHHHTTTTTTJJJJJJJJJVVVVVVVVVVGZZFFGGFGUUUUUUUUUUTTTTTTTTTTTTTMMMMEEEEEEZZZZZZZZZZZZZZZCCCCCCCFOOOOOOOOOOOOOYYYYYYXXDDDDDDDDDDDD
|
||||
PPPPPPPPPPPHHTTTTTTTTJJJJJJJJJJJJJJVVVVVVVGGFFFFFFFUUUUUUUUUUTTTTTTTTTTTTTTTMMMEEZZLZZZZZZZZZZZZZZZCCCCCCCCOAAOOOOOOOOFYYYYYYYYYDDDDDDDDDDDD
|
||||
PPPPPPPPPPZRRTTRTTTTTTTJJJJJJJJJJJJVJVVVVVVGFFFFFFFUUUUUKUUUUUTTTTTZTTTTTTTTZZZZZZZZZZZZZZZZZZZZDDDDDCCCCCCCCAOOOOOOBYYYYYYYYYYYYDDDDDDDDDDI
|
||||
PPPPPPPPPPZRRFFRTTTTTTTTTJJJJJJJJJJJJJJVVFFFFFFFFFFYUUFYYYUUUTTTTTZZZZTTTTZZZZZZZZZZLLLLLLLLLZZZDDDDDCCCCCCCAAAAAOOOZZZZZZZZZYYYDDDDDDDDDIII
|
||||
PPPPPPPPPPRRRRRRRTTTTTTTTJJJJJJJJJJJFFFDFFFFFFFFFFFYUFFFYYYYYYTTTTZZTZTTTTTZZZZZZZZZRLLLLLLLLZZZDDDDDZZZZZZCAAAAAOOOZZZZZZZZZYYYDDDDDDLDDDII
|
||||
PYPPPPPPPRRRRRRRRRTTTTTTJJJJJJJJJJJFFFFFFFFFFFFFFFYYFFFYYYYYYYTTZZZZTTTTTTTZZZZZFZZPRRLLLLLLLZZZDDDDDZZZZZZAAAAAZZZZZZZZZZZZZZZZDDDHHHKKKIII
|
||||
LPPRPPPRPRRRRRRRRRTTTXTTJJJJJJJJJJJFFFFFDFFFFFFYYFYYYFYYYYYYYYYZZZZZZTTTTTTTTZAZZARRRRRLLLLLLZZZDDDDDZZZZZZAAAAAZZZZZZZZZZZZZZZZYYDFFFFKKIII
|
||||
LLLRRRRRPRRRRRRTTTTTTXTTWJJJJJJVVJJFDDFFFFQQFFFYYYYYYYYYYYYYYYZZZZZZZTTTTTTTTZAZZRRRRRRLRRLRLLLLDDDDDZZZZZZAAAAAZZZZZZZZZZZZZZZZHHFFKKKKKIII
|
||||
LLLRRRRRRRRRRRRKTXTTXXTTTDJJJJJJDDDDDDFFFFQQQQFRYYYYYYYYYYYYYYZZZZZZZZZZZTTTTZCCRRRRRRRRRRRRRZZZZZZZZZZZZZZZZZAAZZZZZZZZZZZZYYYYHFFFFKKKKIII
|
||||
LRRRRRRRRRRRRRXXXXXXXXTTTDJDDJJJDDDDDDFYYQQQQYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZCCRRRRRRRRRRRRRZZZWWWWWWWWZZZZQQQQZZZZZZZZZZZZYKFFFFFFFFKKKKII
|
||||
RRRRRRRRRRRRRXXXXQXXXXTTTDDDDJDDDDDDDDDDYQYYYIIYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZCCCRRRRRRRRRWRRZZZWWWWWWWWZZZQQQQQZZZZZZZZZZZZYFFFFFFFFKKKKKII
|
||||
RRRRRRRRRRRRXXXXXXXXXXXXXDDDDDDDDDDDDDDDYQQYYYIYIYYYYYYYYYYYYYYZZZZZZZZZZZZZNCCCCRRRRRRRRUUUUZZZWWWWWWWWZZZQQQQQZZZZZZZZZZZZFFFFFFFFFKKKKKII
|
||||
RRRRRRRRRRRRXXXXXXXXXXXXXXDDDDDDDDDDDDDYYYYYYYIIIYYYYYYYYYYYYYYYZZZZZZZZZZZZNXCCCWWWWWWWWWWWWWWWWWWWWWWWZZZQQQQQZZZZZZZZZZZZFFFFFFFFDFKKKKKI
|
||||
RRRRRRRRRRRRXXXXXXXXXXXXDXDDDDDDDDDYYYDYYYYYYYYIIIIYYYYYYTYYAYTTTTZZZZZZZZZZNNNNNWWWWWWWWWWWWWWWWWWWWWWWZZZZZZZZZZZZZZZZZZZZFFFFFFFFFFKRKIII
|
||||
RRRRRRRRRRRRXXXXXXXXXXXXXXDDDDYYYYYYYYYYYYYYYIIIIICCCCITTTTTATTLTTZZZZZZZZZZNFNNNWWWWWWWWWWWWWWWWWWWWWWWZZZZZZZZZQQQQTTKKKKFFFFFFFFFFFFRKIII
|
||||
PPPPRRRRRRRXXJXXXXXXXXXXXXDDDYYYYYYYYYYYYYYYYIIIIIICCDTTTTTTTTTTTTZZZZZZZZZZNNNNNWWWWWWWWWWWWWWWWWWWWWWWGZZZZZZZZQQQTTTTKKKFWFFFFFFFFFRRIIRR
|
||||
PPRRRRRRRRCXJJJXXXXTXXXXXXXDYYYYYYYYYYYYYAYYYYIAIIICCDDTTTTTTTTTTTZZZZZZZZNZNNNNNWWWWWWWWWWWWWYYWWWWWWWWQZZZZZZZZQQQTKKTKKKKKKQFFFFRRRRRRRRR
|
||||
PPPRRRPJJJJJJJJJJJXXXXVIXXXYYYYYYYYYYYYYYAAYAPAAAXICCTTTTTTTTTTTTTTTTTZMMMNNNNNNNNGGGWWWWWWWWWYNWWWWWWWWQZZZZZZZZQQQQKKKKKKKKQQQQFFRRRRRRZRR
|
||||
PPPPPPPPPJJJJJJJJJJVVVVVVXXYYKKYYYYYYYYYYYAAAAAAAXXCJXTTTTTTTTTTTTJTJJMMMMMNNNNNNNNNGWWWWWWWWWYNMMNNNNNNQZZZZZZZZQQQQKKKKKKKKKKKQKKKRRRZRZRR
|
||||
PPPPPPPPPPJJJJJJJJJVVVVVVXKKKKKYYYYYYYYYYYYAAAAXXXXXXXXXTTTTTTTTTTTJJMMMMMMNNNNNNGGGGWWWWWWWWWYYNMNNNNNQQQQQQQQQQQQQKKKKKKKKKKKKKKKKRRRZZZRR
|
||||
PPPPPPPPPJJJJJJJJJVVVVVVVVVKYKYYYYYYYYZZZYYYXXXXXXXXXXXXTTTTTTTTTTTTMMMMMMMMNNNNGGGGGWWWWWWWWWNNNNNNNNNNQQQQQQQQQQQQKKKKKKKKKKKKKKKRRRRRZZZR
|
||||
PPPPPPPPPJJJJJJJVVVVVVVVVVIYYYYYYYYYYYYZZZZYXXXXXXXXXXXXTTTTTTTTTTTTMMMMMMMMNNNNNGGGGWWWWWWWWWNNNNNPNNNQQQQQQQUQQQQKKKKKKKKKKKKKKKKKRRRRRZZZ
|
||||
PPPPPPPPPJJJJJJJVVVVVVVVVVYYYYYYYYYYYZZZZZZZXXXXXXXXXXAAAAATTTTTTMMMMMMMMMMMNNNNGGGGGWWWWWWWWWJJNNNNNNNAAQQNQQUQQQKKKKKKKKKKKKKKKKKKRRRRRZYY
|
||||
PPPPPPPPPJJJJJJVVVVVVVVVVVVMYYYYYYYDDZZZZZZJXXXXXXXXXXAAAAAFTTTTTTNMMMMMMMHMNNNNGGGGGWWWWWWWWWJJGGGNNNNNAAPPPUUUQQKKKKKKBBBKKKKKKKKKRRRRYZYY
|
||||
PPPPPPPPPPJJJJJJVVVVVVVVVVVMMYYYYYYDZZZZZZZZXXXXXXXXXXAAAAAAATTTFTTMMMMMMMMNNNNNNNGGGGGGGJJJJJLLGGGGGGNOPPPPPPUUUUUUBKBBBBBBKKKKKKKKKKYYYYYY
|
||||
PPPPPPEEPJJJJJJJVVVVVVVVVVVMYYYYYYYDZZZZZZZXXXXXXXXXXXXAAAAAAATTPPPPMMMMMPPNNNNNNNGGGGGGGJJJJLLLLGGGGOOOOPPPPPPUBBBBBBBBBBBBBKKKKKKKKIIKYYYY
|
||||
PPPPPPEEEJJJJJJJVVVVVVVVVVVVPYYYYYZZZZZZZZZZZXXXXXXXXAAAAAAAAATPPPPPMMPMPPPNNNNGGGGGGGGJJJJJGGGGGGGGOOOOOOPPPPUUBBBBBBBBBBBBBBKKKKKKKKKKYYYY
|
||||
MPPPMMEEEJJJJJJVVVVVVVVFFFVPPPPPYPZZZZZZZZZZZZXXXXXXXAADDDAAAAAPPPPPPPPPPNNNNNNGGGGGGGBJJJJJGGGGGGGGGGOOOOPPPPPUBUBBBBBBBBBBBBKKKKKKKKKKYYYY
|
||||
MMPPMMEEEEJJJJJJEEVGVVVEFEEWWWWPYPPPZZZZZZZZZZXXXXXXXXAADDDAMMMMMPPPPPPPPNNNNNNNNHHGJJJJJJJJJGGGGGGGGGGGOOPPPPPPPUUBBBBBBBBBBBAAKKKKKKKKYYYY
|
||||
MMMMMMDDJJJJJEJJJEVVVVVEEEEWWWWPPPPZZZZZZZZZXXXXXXXXXAADDDDMMMMMPPPPPPPPPPNWNNNKNHGGJJJJJJJJGGGGGGGGGGGGGOPPPPPPUUUBBBBBBBKBBHAAKKFKKKKFYYYY
|
||||
MMMMMDDDDJJJJEEJJEEEVVVNEEEWWWWPPPPZPWWZZZZZZZXAAXAAAAADDDDMMAAAPPBPPPPPNNNWNNNNJJJGJJJJJJJJGGGGGGGGGGGGGGPPPPPPPPBBBBBBBBBFFAAAAKFFFKKFYXYY
|
||||
YMMMMDDDDDDDJJEEEEEEVEEEEEEWWWWWPPPPPWWWZZZZZZAAAAAAAAADDDDAAAAANPBBBBBUTURUUUUUJJJJJJJJJJJGGGGGGGGGGGGGGGPPXXPPGGGBBBBBBBFFFFAAAFFFFFFFYYYY
|
||||
YMYMDDDDDEEEJJEEEEEEEEEEEEEWWWWWPPPWWWWWWZZZZZZAAAAACADDDDAAAAAANPDDDBUUUURUUUUJJJJJJJJJJJJGGGGGGGGGGGGGGGPGPPPPGGGBBBBBBBBBFAAAAFFFFFFFFYYY
|
||||
YYYMDDDDDEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWMZZZZZAAAAAACAACDDAADAAADDDDDUUUUUUUUUUCJJJJJJJJJJJJJGGGGGGGGGGGGGGGGPPGGGGBBBBBBBBBFFFFFFFFFFFFFFYY
|
||||
YYYEEEDDDEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWMZZZZZAAAAAACCACDDDADADAADDDUUUUUUUUUUJCJJJJJJJJJJJJJGGGGGGGGGGGGGGGGGGGGGGBBBBBBBBBBFFFFFFFFFFFFFFF
|
||||
YYEEEEEEEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWWWZZZZAAAAAACCCCCCDDDDADDDDUUUUUUUUUUUUJJJJJJJJJJJJJJJJGGGGGGGGGGGGGGGGGGGGGBBBBBBBBBBFFFFFFFFFFFFFFF
|
||||
YEEEEEEEEEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWWFFZZAAAAAAACCCCCDDDDDDDDDUUUUUUUUUUUUIJJJJJJJJJJJJJJJGGGGGGGGGGGGGGGGGGGGGGGGGBBBBBBBBFFFFFFFFFFFFF
|
||||
YYYYEEEEEEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWFFFZZZAAAAAAACCCDDDDDDDDDUUUUUUUUUUUUUUUJJJJJJJJJJJJJJGOOGGGGGGGGGGGGGGGGGGGGGGGBBBBBBBFFFFFFFFFFFFF
|
||||
90
src/day12.scala
Normal file
90
src/day12.scala
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
package aoc
|
||||
package day12
|
||||
|
||||
import scala.collection.{mutable as m}
|
||||
|
||||
val dayNumber = "12"
|
||||
|
||||
@main def part1: Unit =
|
||||
println(part1(loadInput(dayNumber)))
|
||||
|
||||
@main def part2: Unit =
|
||||
println(part2(loadInput(dayNumber)))
|
||||
|
||||
def part1(input: String): String =
|
||||
val grid = parseInput(input)
|
||||
val regions = findRegions(grid)
|
||||
regions.map(r => r.area * r.perimeter).sum.toString
|
||||
|
||||
def part2(input: String): String =
|
||||
val grid = parseInput(input)
|
||||
val regions = findRegions(grid)
|
||||
regions.map(r => r.area * r.cornersCount).sum.toString
|
||||
|
||||
def findRegions(grid: Map[Pos, Char]): List[Region] =
|
||||
val visited = m.Set.empty[Pos]
|
||||
grid.keySet.toList.flatMap(pos =>
|
||||
if !visited.contains(pos) then
|
||||
val region = exploreRegion(pos, grid)
|
||||
visited.addAll(region)
|
||||
Some(region)
|
||||
else None
|
||||
)
|
||||
|
||||
def exploreRegion(pos: Pos, grid: Map[Pos, Char]): Set[Pos] =
|
||||
val stack = m.Stack(pos)
|
||||
val region = m.Set.empty[Pos]
|
||||
while stack.nonEmpty do
|
||||
val pos = stack.pop
|
||||
val plot = grid(pos)
|
||||
region.add(pos)
|
||||
stack.pushAll(
|
||||
pos.neighbors.flatMap(pos =>
|
||||
grid.get(pos).collect {
|
||||
case n if !region.contains(pos) && n == plot => pos
|
||||
}
|
||||
)
|
||||
)
|
||||
region.toSet
|
||||
|
||||
type Pos = (Int, Int)
|
||||
extension (pos: Pos)
|
||||
def plus(offset: Pos) = (pos._1 + offset._1, pos._2 + offset._2)
|
||||
def neighbors =
|
||||
List(pos.plus(-1, 0), pos.plus(1, 0), pos.plus(0, -1), pos.plus(0, 1))
|
||||
def neighborsWithDiagonal =
|
||||
(for
|
||||
x <- (-1 to 1)
|
||||
y <- (-1 to 1)
|
||||
if !(x == 0 && y == 0)
|
||||
yield pos.plus(x, y)).toList
|
||||
|
||||
type Region = Set[Pos]
|
||||
extension (region: Region)
|
||||
def area = region.size
|
||||
def perimeter =
|
||||
region.toList.map(p => 4 - p.neighbors.count(region.contains)).sum
|
||||
def doubleSize =
|
||||
region.flatMap((x, y) =>
|
||||
List(
|
||||
(x * 2, y * 2),
|
||||
(x * 2 + 1, y * 2),
|
||||
(x * 2, y * 2 + 1),
|
||||
(x * 2 + 1, y * 2 + 1)
|
||||
)
|
||||
)
|
||||
def cornersCount =
|
||||
val doubledRegion = region.doubleSize
|
||||
doubledRegion
|
||||
.count(p =>
|
||||
p.neighborsWithDiagonal.count(doubledRegion.contains) match
|
||||
case 3 | 4 | 7 => true
|
||||
case _ => false
|
||||
)
|
||||
|
||||
def parseInput(input: String): (Map[Pos, Char]) =
|
||||
val grid = input.split("\n")
|
||||
(for
|
||||
y <- grid.indices
|
||||
x <- grid.head.indices
|
||||
yield (x, y) -> grid(y)(x)).toMap
|
||||
Loading…
Add table
Add a link
Reference in a new issue