Day 12 complete
Fucking bullshit. I'm starting to develop a hate for directions
This commit is contained in:
parent
c7118f49af
commit
81f693cb52
4 changed files with 485 additions and 0 deletions
141
day12/input
Normal file
141
day12/input
Normal file
|
@ -0,0 +1,141 @@
|
|||
SSSSSSSSSSSSSSSWWWWWHHHHHHHHHHHHHHHHHHBBBJJJJJJJJJIJUUUUUUUUUOOOOOOOOOHHHHHHHHHGGGGGGGGGGGGGGGGTTTTTTTTTTZZZHHSSHHHEEEEEEEETTTTTTTTTTOOOOOOO
|
||||
SSSSSSSSSSSSSSSWWWWWWHHHHHHHHHHHHHHHHHBBJJJJJJJJJJJJUUUUUUUOOOOOOOOOOOOHHHHHHHHHGGGGGGGGGGTTTGTTTTTTTTTTZZHHHSSSHHEEEEEEEEETTTTTTTTTTTTOOOOO
|
||||
SSSSSSSSSSSSAAWWWWWWWBBBBHBBBHHHHHHHHHJJJJJJJJJJJJJUUUUUUUPOCOOOOOOOOOOHHHHHHHHHGGGGGGGGGGGTTTTTTTTTTTTTZHHHHHHSHHHHEEEEEEETTTTTTTTTTTOOOOOO
|
||||
SSSSSSSSSSSSAAAAAWRWBBBBBBBBBHHHHHHHHHJJJJJJJJJJJJJJUUUPPPPPPSOOOOOOOOOHOOOOHHHGGGGGGGGGGGGTTTTTTTTTTTTTHHHHHHHHHHHHBBEEEEETTTTTTTTTTTTOOOOO
|
||||
SSSSSSSSSSAAAAAAAWRWWBBBBBBHHHHHHHHHHHJJJCJJJJJJJJJJUUUUPPPPPOOOOOOOOOOOOOOOHHHGGGGGGGGGGGGTTTTTTTTTTTTTHHHHHHHHHHHBBBBBEEETTTTTTTTOOOOOOOOO
|
||||
SSSSSSSSAAAAAAAARRRWBBBBBBBHHHHHHHHHHHJJJJJJJJJJJJJJUUUUPPPPPOOOOOOOOOOOOOOOHGHGGGGGGGGGGGGETTTTTTTTTTTTHHHHHHHHEHHBBBBBEEEEEOHTTTTOOOOOOOOO
|
||||
SSSSSSSAAAAAAAARRRRBBAABBBZZHHHHHHHHCCXXJJJJJJJJJJUUUUUUPPPPPPPOOOOOOOOOOOOOGGGBGGGGGGGGGGGETTTTTTTTTTTTHHGGGHHHHBBBBBBBEEEEEOOTOTOOOOOOOOOO
|
||||
SSSSSSSSAAAAAAARRRKBBAABBBEZHHHHHHHHHXXXJJJJJJJJJUUUUUUPPPUPPPPOOPOOOOOOOOSGGGGGGGGCGGGFFQFETTTTTTTTTTTPHHGGGGGHGBBBBBBBBEEEOOOOOOOOOOOOOOOO
|
||||
SSSSSSSSSAAKKAAARRRAAAAAEEEEEHEHXHHHHXXXJXJXJJJJJUUUUUUUUUUPSPPOOPPOOOOOOOOOGGGGGGGGGLFFFQFTTTTTTTTTTTTPGGGGGGGGGBBBBBBEEEEEEEOUOOOOOOOOOOOO
|
||||
CSSSSSSSSSSKAAAARRAAAAAAEEEEEEEXXXHHHXXXXXXXXJJJJJJUUUUUUUUUUUUUUUUUUOOOOOOGGGGGGGGGFFFFFFFTTTTTTTXTTTTLLGGGGGGGGGBBBEEEEEEEEOOUOOOOOOOOOOOO
|
||||
CSSSSSSSSSKKKAAAAAAAAAAAEEEEEEEXXXHHXXXXXXXXXJJJJGGUUUUUUUUUUUUUUUUUUOOOOGGGGGGGGGGFFFFFFFFFFTTTTTTTLLTLGGGGGGGGGGBBBEPEEEEEPXXOOOOOOOOXXOOO
|
||||
CSSSSSSSSKKKKAAAAAAAAEEEEEEEEPPEXXHXXXXXXXXXJJJJJJUUUUUUUSSUUUUUUUUUUOHHOGGAGGGGGGGFFFFFFFFFFTTGGGHHLLLLLLGGGGGGGGMBBPPEEEEEPPPPSOOOOOOXXXXX
|
||||
CMSSSSSSSKKKKKKAAAAAAAEEEEEEPPPEEXXXXXXXXXXHUUJFFJUUUUUUSSSUUUUUUUUUUAAAAAAAGGGGEEEEEEFFFFFFFFFRRRRHHLLLLLLLGGGGGGGBBPPPPPPPPPPFOOOOXXXXXXXX
|
||||
CCKSSSSSQQQKKKKAAAAAAAZEEEEEEEEEEEXXXXXXXXXHHHFFFUUUUUUUUUUUUUUUUUUUUAAAAAAAGGGGEEEEEEFFFFFFFFFRRRRRHLLLLLLLGGGGGGGGGGPPPPPPPPPWOOOXXXXXXXXX
|
||||
CCKSSSSQQQQKKKKKAAAAZAZEEEEEEEEEEXXBXXXXXXXHLHHUUUUUUUUUUUUUUUUUUUUUUAAAAAGGGEEEEEEEEEEFFFFFFFFRRRRRHLLLLLGGGGGGGGGGGPPPPPPPPPWWOOOOXXXXXXXX
|
||||
KCKKKKKKKKKKKKKKAAAAZZZEZEEEEEEEGBBBBXXXXHHHHHUUUUUUUUUUUUUUUUUUUUUUUAAAEEEEEEEEEEEEEEEEEEFFFFFHHHHHHHLLLLLLGGGGGGGPPPPPPPPPPPWWWOOOXXXXXXXX
|
||||
KKKKKKKKKKKKKKKKAAAAZZZZZZEEEEGGGBBBBBBBXHHHHHHHUUUUUUUUUUUUUUUUUUUUUANAEEEEEEEEEEEEEEEEEEFFFFFHHHHLLHLLLLLLGGGGGJGTRYPYPPPPPWWVWWWXXXXXXXXX
|
||||
KKKKKKKKKKKKKKKAAAAZZZZZZZEEEEGGBBBBBBBHHHHHHHHUUURCUUUUUUUUUUUUUUUUUAAJEEEEEEEEEEEEEEEEEEFFFHHHHHHLLLLLLLLLGGGGGJRRRYYYPPPWWWWWWWWXXXXXXXXN
|
||||
KKKKKKKKKKKKKVKAAAAZZZZZZNEEEEGGBNBBBBBBBHHHHHHUURRCUUUUUUUUUUUUUUUUUJJJEEEEEEEEEEEEEEEEEEFHHHHHRHRILLLLLLLLGGGGGRRRRYYYYPWWWWWWWWWXUXXXPXNN
|
||||
KKKKKKKKKEKEKKKAAAAZZZZZZEEEEGGBBBBBBBBBGGHHHHHHFCCCUUUUUUUUUUUUUUAAJJJJEEEEEEEEEEEEEEEEEEXHHHHHRRRRLLLLLLLLGGGGIRRRRYYYYPWWSWWWWWWWUUUUUUUN
|
||||
KKKKYYKEEEEEKKKKAAAAZZZZZEEENNGBBLBSBBBBBGGBBHHBFFCCCVNNUUUUUUUNNAAJJJJJEEEEEEEEEEEEEEEFFFXXXHXXXRRRLLLLLLLLLLLYYYRRRYYYYPWYYWWWWWWUUUUUUUUN
|
||||
KKKYYYKEEXEXXRKKKKIZZZZZZPEENNBBLLLBBBBBBGGBBBHBFCCCCCNNUUUUUUUNNAJJJJJJEEEEEEEEEEEEEEERXXXXXXXXXRRRLLLLVRLLYYYYYYRRRYYYYYYYYWWWWWWUUUUUUUUN
|
||||
KRRYYYXXXXXXXXKKKKZZZZZZZZZZHHHHHLBBBBBBBBBBBBBBBFNNNNNNUUUUUUUNNJJJJJJJEEEEEEEEEEEEEEERRXXXXXXXXRRRRRLRRRRLLYYYYYYYYYYYYYYYYYWWWCCUUUUUUUUU
|
||||
RRYYYXXXXXXXKKKKKKKZZJZZZZZZHHHHHBBBBBBBBBBBBBBFFFNNNNNNNNNUUUNNNJJJJJJJEEEEEEEEEEEEEEERRXXXXXXXXRRRRRRRRRRRLKYYYYYYYYYYYCYYYWWWWCKUUUUTTTTT
|
||||
RRRYYXXXXXXXXXKKKKKZZJZZZZZZZHHHHBBBBBBBBBBBBFFFFFNNNNNNNNNNNNNNNJJJJJJJJCCCCDDEEEDDXXXXXXXXXXXXRRRRRRRRRRRRLKYYYYYYYYYYYCCCCCCWCCKUUTTTTTTT
|
||||
YYYYLLXXXXXXXXKKKKKKZZZZZZZZHHHHBBBBBBBBBBBBBBFFFFNNNNNNNNNNNNNNNJJJJJJCCCCCDDDEEEDBBBYXXXXXXXXRRRRRRRRRRRRRLRYYYYYYYYYYYCCCCCCCCCCCUTTTTTTT
|
||||
LLYLLLXXXXXXXKKKKKKKZZZZZZZZHHHBBBBBBBBBBBBBFFFFFFNNNNNNNNNNTTTTJJJJJJJCCCCDDDDDDDDDDBYYXXXXXXXRRRRRRRRRRRRRRRYYYYYYYYYYYYCCCCCCCCCCCTTTTTTT
|
||||
LLLCLLLXXXXXXKKKKKKKZZZZZZZHHHHBBBBBBBBBBBBBFFFFFFNNNNNNNNNNTTTTDDDDDJJJJJCDDDDDDDDDDYYYXXXXXWRRRRRRRRRRRRRPPPYYDYYYYYYYYYYCCTCCCCCCCTTTTTTT
|
||||
LLLLLLXXXXXXXKKKKKKKZZZZZZZZHHHBBBBBBBBBBBBFFFFFFLLLLLLLLLNNTTTTDDDDDJJJJJCDDDDDDDDDYYYYYYYYYRRRRRRRRRRRRRRRRPDDDDDDYYYYYYYYTTCCCCCCCTTTTTTT
|
||||
LLLLLYYYXXXXXKKKKKHKZZZHHHHHHHBBBBBBBBBBBBBFFFFFLLLLLLLLLLNNTTTDDDDDDAJJJCCDDDDDDDDDDDYYYYYYYRPYWWRRRRRRRRCCRRDDDDDDYYYYYYYYTCCCCCCCCTTTTTTT
|
||||
LLLLYYYYYYXXXKKKKKHHZZZHHHHHHHHHHBBBBBBBBBBZZFFFLLLLLLLLLLETETTDDDDDDAAAADDDDDDDDDDDDDYYYYYYYYPYWRRRRRRRRRCCCCCDDDDDDYYDYYYYTTCCCCCCCTTTTTTT
|
||||
LLLYYYYYYYKXXKKJJHHHHZZHHHHHHHHHHHHBBBBYBBBZWHFFLLLLLLLLLLEEEEEEEDDDDDDADDDDDDDDDDDDDDYYYYYYYYYYWRRRRRRRRCCCCCCDDDDDDDDDYYDDCCCCCCCCGTTTTTTT
|
||||
LLLLYYYYYYKKKKKJJHTHHHHHHHHHHHHHHHHOBBBYYBBZWHHHLLLLLLLLLLEEEEEEDDDDDDAADDDDDDDDDDDDDDYYKYYYYYYYYYRRRRRCCCCCCCCCDDDDDDDYYYDDDCCCCCCCGTTTTTTT
|
||||
LLLLLYYYYYKKKKJJNHHHHHHHHHHHHHHHHHHONNNNNNNNWHAALLLLEEEEEEEEEEEEDDDDDAAAAAADDDDDDFFDDDDFFYYYYYYYYYRRRRQCCCCCCCPPPPPDDDDDYYDTTTTTTTTGGGTTTTTT
|
||||
LLLLYYYYYYYZZJJJHHHHHHHIHHHHHHHHHOOONNNNNNNNWWAALLLLEAEEEEEEEEEEDDDDDDDTTTTDTDDDDFFDFFFFFNNYYYYYYLLLRCCCCCCCCCPPPPPPPDDDDDDTTTTTTTTTTTTTTTTT
|
||||
LLLYYYYYYBZZZVZJJJJJJHHIIIHHHOHHOOOONNNNNNNNWAAALLLLAAEEEEEEEJEEDDDDDDDTTTTTTTDDDFFFFFFFFFNYYYYYYLLLLLCCCCCCCPPPPPPPPDDDDDDTTTTTTTTTTTTTTTTT
|
||||
LLLYYYYYYBBZZZZJJJJHHHHIIIHHHOOOOOOONNNNNNNNWWAALLLLAAAEAEEEEEEEDYDDDTTTTTTTTPPDZFFFFFFFFFFUUUUYYLLLLLLCCCCCPPPPPPPPPDDDNNNNNNNTTTTTTTTTTTTT
|
||||
LLYYYYYYYBBZZZZZJJJJJIHIIHHHHOOOOOOONNNNNNNNWWWWLLLLAAAAAAEYEEEEEYYYDTTTTTTTTPPAZFFFFFFFFFFUUUUYYYLLLCCCCPPPPPPPPPPPPPDXNNNNNNNTTTTTTTTTGGGX
|
||||
LLLYYYYYBBZZZZZZJJJJIIIIIHHHHHHOOOOONNNNNNNNWWWWAAAAAAAAAAEEEHEEEYYYTTYTTTAAAPAAZFFFFFFFFFFFUUUYYYLLLCLLPPPPPPPPPPPPPPDXNNNNNNNNNTTTTTTTGGGX
|
||||
LLLLLYYYYYZZZZZZJJJIIIIIIIIIHFHODOOONNNNNNNNAWWWAAAAAAAAAHHHEHHHEYYYYYYTTSAAAAAWFFFFFFFFFFFFUUUYYYLLLLLLPPPPPPPPPPPPYPDXNNNNNNNNNTTTTTTTGGXX
|
||||
LLLLLLLYJJJJZZJJJJJIIIIIIIIIIFFFOOOOOONNNAAAWWWWWAAAAAAAAHHHHHHHEEYYYYYYYYAAAAAAAFFFFFFFFFFUUUURRLLLLLLLLPPPPPPPPPPPPPDPNNNNNNNNNTTTTTTTGGBB
|
||||
LLLLLLLLLJJJZZJJJJJIIIIIIIIIIFFFOOOOOONNNOATTWWWWAAAAAAFFHHHHHHHYYYYYYYZYAAAAAAAAAFKFFFFFFFFFRRRRLLLLLLLLPPPPPPPPPPPNNNNNNNNNNNNNTTTTTTTGNBB
|
||||
LLLLLLLBLJJJJJJJJJJIIIIIIIIIIFFFOOOOOONNNTTTTWWWWWAAAHHHHHHHHHHHYYYYYXZZZZZZAAAAAAFFFFFFFFRFRRRRRLLLLLLLLLLPPPPPPPPPNNNNNNNNNNNNNNBBBBBBGBBB
|
||||
LLLLLLLLHHHJJJJJJCCCIIIIIIIIIIIFFFOOHHNNNOTTTWWWWWWLLSHHHHHHHHHYYYYYYXZZZZZZAAUAAAAFFFFFBFRRRRRRRRLYLLLLLPLPPPPPPPPPNNNNNNNNNNNNNNBBBBBBBBBB
|
||||
LLLLLLLHHHHJJJJJJJCCIIIIIIIXIIIIFFFOFHNNNTTTTTTTTWWLLHHHHHHHHHHYYYYYYXZZZZZZZAAAAAAAAFFBBFRRRRRRRRLYYLLLLPPPPPPPPPPPNNNNNNNNNNNNNNBBBBBBBBBB
|
||||
HLLLLLHHHHHHJHJJCCCCCCIIIIIXIIIFFFFFFFNNNTTTTTTTTTTLLHLHHHHHHHHVVVYXXXXXZZZZZJJJAJDDDFBBBFRRRRRRRRYYYLLLLPPPPPPPCPPPNNNNNNNNNNNNNNBBBBBBBBBB
|
||||
HHHHLHHHHHHHHHJJCCCCCCTIXXXXXFFFFFFFFFTTTTTTTTTTTLLLLLLHHVHHVHVVVVXXSSSXSSZZZZZJJJJDFFDDBFRRRRYYYYYYYLLLPPPPPPPCCPCCAAAAANNNNNNNNNBBBBBBMHHH
|
||||
HHHHHHHHHHHHHHHHBCCCCFCIIXXXXXFFFFFFFFTTTTTTTTTTLLLLLLXHHVVVVVVVVVVVSSSSSSSZZZZZJDDDFDDDDDDRRDAYLLLLLLLLPPPPPPPCCCCAAAAAANNNNNNNNNBBBMMBMHHH
|
||||
HHHHHHHHHHHHHHHBCCCCCCCCCCXXXIIIIIIIIITTTTTTTTTTLLLLLLLVHVVVVVVVVVVDSSSSSSSZZZZZZZDDDDDDDDDDDDDLLLLLLLPPPPPPPPPPCCCAAAAAAAAAAAABBBBBBBMMMHHH
|
||||
HHHHHHHHHHHHHHBBBCCCCIIIIIIIIIIIIIIIIITTTTTTLLLLLLLLLLLVVVVVVVVVVSSSSSSSSSSVSZZZZZDDDDDDDDDDDDLLLLLZLLPPPPPPPPPPPAAAAAAAAAAAAAABMMMMMMMMMMHH
|
||||
HHHHHFHHHHHHHBBBBBCCCIIIIIIIIIIIIIIIIITTLLLLLLLLLLLLLLLVMVVVVVVVVSSSSSSSSSSSSZZZZZDDDDDDDDDDDDDLLLLZZLPPPPPPPPPPPAAAAAAAAAAAAAAAMMMMMMMMMMMM
|
||||
CCFFFFHHHHHBBBPBBBBCCIIIIIIIIIIIIIIIIITTTTLLLLLLLLLLLVVVMVVVVVVSSSJSSSSSSSSSSUZZIZDDDDDDDDDDDKKKLLZZLLLPPPPPPPPPOAAAAAAAAAAAAAAAMMMMMMMMMMMM
|
||||
CCFFFFFHHHHJBBBBBBCCCIIIIIIIIIIIIIIIIITVVVVLLLLLLLLLLLLVVVVVVVVVVSSSSSSSSSSSZUUZIIDDDDDDDDDDKKKKLZZZZKKKKPPPPZPPOOOAAAAAAAAAAAAAMMMMMMMMMMMM
|
||||
CFFFFFFHHHHHBBBBBBBCCIIIIIIIIIIIIIIIIIZVVVVLVLLLLLLBLLLVIVVVVVVVSSSSSSSSSSSSUUUUUDDDDDDDDDDKKKKKKKKKZZAKKPPZZZZOOOOOAAAAAAAAAMMMMMMMMMMMMMMM
|
||||
CFFFFFFHHHHHBBBBBXBBCIIIIIIIIIIIIZZZZZZVVVVVVLLLLLLBBIIIIVVVVVVSSSSSSSSSSSSSUUUUUUUDDDDDDDDKKKKKKKKKKKKKZZZZZZZZOOOOAAAAAAAAAAMAMMMMMMMMMMMM
|
||||
FFFFFFFFFHHFFBBBXXBBIIIIIIIIIIIIIZZZZVVVVVVVLLLLLLLLBBIIIIVVPVVSSSSSSSSSSUUUUUUUUUUDDDDDDDDDDKKKKKKKKKKKZZZZZZZZOOOOOOAAAAAAAAAAMMMMMMMMMMMM
|
||||
FFFFFFFFUFFFBBBBBBBBIIIIIIIIIIIIIZZZZVVVVVVVLLLLLLLBBBBIIIPUPVPKSSSSSSSSSSUUUUUUUUUDDDDDDDDDPKKKKKKKKKKKKZZZZZZOOOOOOOAAAAAAVVAAMMMMMMMMMMMM
|
||||
FFFFFFFFFFBBBBBBBBJJIIIIIIIIIIIIIZZZZZVVVVVVVLLLLLLLBBIIIPPPPPPSSSSSSSSSUUUUUUUUUUUDDDDDDDDDPPPKKKKKKKKKKZZZZZZOOOOOOOTTHAAVVVVVMCMMMMWMMMMM
|
||||
FFFFFFFFFBBBHBBBBJJJIIIIIIIIIIIIIZZZZZYVVYYVVVVLLLLLBBIIIIPPPPPPPZSSSSSSUUUUUUUUUUUUDDDDDDDPPPPKKKKKKKZZKZZZZZZOOOOOOTTTHHHVHHVMMMMMMMMMLMMM
|
||||
FFFFFFFFXBBBBBBBBBJJIIIIIIIIIIIIIZZZZNYVYYYYYYVVLLLLIIIIIIIPPPPPPZSSSSESUUUUUUUUUUUUUDDDDPPPPPPKKKKKKKKZZZZZZZZOOOOOOOTTHHHHHHVHCCCCMMMMMMMM
|
||||
FFFFFFFFFBBBBBBBBBBBIIIIIIIIIIIIIZZZZYYYYYYYYYYVLLILIIIIIIPPPPPPPPPSSSUUUUUUUUUUUUUUUDDDDPPPPPPKKKKKKZZZZZZZOOOOOOTTTTTTAAHHHHHHCCCCCCMMMMMM
|
||||
FFFFFFFFFBBBBBBBBBBBIIIIIIIIIIIIIZZZZZYYYYYYYYYYYLIIIIIIIIPPPPPPPPPPASUUUUUUBUGUUUUBUJJJJJJJJJJPPKKBZZZZZZZOOOOOTOTTTTTTAAHHHHCCCCCCCCMCMMMM
|
||||
FFFFFFFFFFBBBBBBBBBBIIIIIIKKZZZZZZZQQYYYYYYYYYYYYIIIIIIIIPPPPPPPPPPPAAUUUUBBBBUUULBBUJJJJJJJJJJPPKKKZZOZZZOOOOOOTTTTTTTTTHHHHHCCCCCCCCCCMMCC
|
||||
FFFFFFFCWWBBBBBBSBBBIIIIKYKKZZZZZZQQQYYYYYYPYYYIIIIIIIIIIPPPPPPPPPAAAUUUUUVVBBBUUUBBBJJJJJJJJJJPPPKAZZOOOOOOOOOOOTTTTTTLLLHHHHHCCCCCCCCCCMCC
|
||||
FFFVVVWWBWNWBSSSSBSSIIIIKKKKZZZZZZQQQYYYYYYPPPYIIIIIIIIIIIPPPPPPPPPPAUUAAAVVVVBBBBBBBJJJJJJJJJJPPPOOOOOOOOOOTTOOTTTTTTTLLLLHHHHCCCCCCCCCCCCC
|
||||
QQFFVVWWWWWWBSSSSSSSSKKKKKKKZZZZZZZZQZZYYYYPPPPIIIIIIIIIIIPPPPPPPPPPAAUAAAVVVBBBBBBBBJJJJJJJJJJPYPOOOOOOOOOOOTTTTTTTTTTTTLLHLHHCCCCCCCCCSSCC
|
||||
QWFVVVWWWWWWBBSSSSSSSKKKKKKKOOZZZZZZZZZIYYPPPPPVVIIIIIIIIIIPPAPPPAAAAAAAAVVVVBBBBBBBBJJJJJJJJJJPOOOOOOOOOOOOTTTTTTTTTTTTLLLLLLLLLLCCCCCCSSSS
|
||||
QWVVWWWWWWWWWOSSSSSSKKKKKKKKKKZZZZZZZZZIIPPPPPPVVIIIIIIIIIINPPPAAAAVVAAAAVVVVJJJJBBBBJJJJJJJJJJMMOOOOOOOOOOOTTTTTTTTTTTLLLLLLLLLLLLCCCCCSSSS
|
||||
WWWWWWWWWWWWWOOSSSSSKKKKKKKKKZZZZZZZZQIIIIPPPPVVDIIIIIIIIIIISSSAAAVVVVVVVVVVVJJJJBBBBJJJJJJJJJJMMNOOOOOOOOOETTTTMTTTTTTLLLLLLLLLLLLLLCSSSSSS
|
||||
WWWWWWWWWWWWWWSXSSSSKKKKKKKKKKZZZZZZZZIIIIIGGGVVDDIIIIIIIIISSSSASAAVVVVVVVVVVJJJJJJJJJJJJJJJJJJNNNNONNNOOEEETTTTMTTTTTTLLLLLLLLLLLLLASSSSSSS
|
||||
WWWWWWWWWWWWWWSSSSSSSKKKKKKKZZZZZZZZIIIIIGGGGGGVVVVVVIIVTTTSSSSSSAAAVMSVVVVVVJJJJJJJJJJJJJJJJJJNNNNNNNNOEEEEBBTTMTTTTTTLLLLLLLLLLLLLLLSSSSSS
|
||||
WWWWWWWWWWWWWWSSSSSSSSKKKZKZZZZZZZIIIIIIIGGGGGVVVVVVVVVVTTTSSSSSSSSSSSSVVVVVVJJJJJJJJJJIIIIINNNNNNNNNNNNNEEEBBTMMTTTTTTTTLLLLLLLLLLLLLMMSSSN
|
||||
WWKWWWWWWWWWWWWSSSSSHHKKKZZZZZZZZZIIIIIIIGGUGGVVVVVVVVVVVVTTSSSSSSSSSSSVLVVVVJJJJJJJJJJIIIIINNNNNNNNNNNNNEEEEEEMMMTTAAAALLLTTLLLLLLLLLMMMXXN
|
||||
WWWWWWWWWWWWWWTSJJJSJHKKKYZZZZZZZIIIIIIIGGGVVVVVVVVVVVVVVVVTTSSSSSSSSSLLLVVVVJJJJJJJJJJIIIUINNNNNNNNNNNNNEEEEMMMMTTTAAAALTTUTTTLLLTXXMMMMXXX
|
||||
WWWWWWWWWWWWWWTJJJJJJHKKYYYZOZZZZZIIIIIGGGVVVVVVVVVVVVVVWVDDDSSSWSSLLSLLLLVVVJJJJJJJJJJLIINNNNNNNNNNNNNNNEEEEEEMMMTMTAAAATTUTTTTLLTTXMMXXXXX
|
||||
WWWFWWWWWMMMWMJJJJJJJJJYYYYZZZOZIIIIIIIIGGVVVVVVVVVVVVVVWWDDDDDWWSAALLLLLLLLLJJJJJJJJJJLIDNNNNNNNNNNNNSNNEEEEEMMMMMTTAAAATTTTTTTTTTTXXMXXXXX
|
||||
WFFFMMMMMMMMMMJJJJJJJLJJJYYYYZZIIIIIIIIIIVVVVVVVVVVVMVVDDDDDDDDDDDDAAALLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNSNNNEFFPTTMTMTTTATATTTTTTTTTTXXXXXXXXF
|
||||
WFFFMMMMMMMMMMJJJJJJJJJJJYYYYIZIIIIIIIIIZVVVVVVVVVMMMMDDDDDDDDDDDAAAALLLLLLLLLLTTGGLLLNNNNNNNNNNNNSNSJSSTTEFFPTTTTTTTTATTTTTTTTTTTTXXXXXCXFF
|
||||
WFFFFRRRRRRRJJJJJJJJJJJJJJYYIIIIIIIIIIIVVVVVVVVVVVMMMMDDDDDDDDDDDAATLLLLLLTLLLTTPGGLLLLNNNNNNNSNSSSSSSSSTSFFFPTTTTTTTTTTTTTTTTTTTTXXXXXXXXFF
|
||||
FFFFFRRRRRRRGJJJJJJJJJJJJJIIIIIIIIIIIIIDVVVVVVVVMMMMMMDDDTTTTDDDTAATTLLLLLTLTTTTGGGLLNNNNGGNSSSSSSSSSSSSSSFFPPTPMTTTTTTTTTTTTTTTTTXXXXXXXXFF
|
||||
FFFFFFRRRRRRRRUJJJJJJJJJJJIYYYIIYIIIIIIVVVVVVVVMMMMMMDDDDTTTTDDDTTTTTLLLLLTTTTTTTGGGGGGGGGGGSSSSSSSSSSSSSPPPPPPPPPXTTTTTTTTTTTTTTTTXXXEXXXFF
|
||||
FFFFFFFRRRRRRRRJJJJJJJJYJYYYYYYIIIIIIIMMVMVVVVMMMMMMMDDDDTTTTDDTTTTTTTTLTTTTTTTTTGGGGGGGGGGGSSSSSSSSSSSSPPPPPPPPPPTTTTHHHHHTTYTTWWWXWEEEEEEE
|
||||
FFFFFFFFFRRRRRRJJJJJJJJYYYYYYYIIIIIJIMMMMMMMVVMMMMMMMDDDDTTTDDRTTTTTTTTTTTTKTTTWWWGGGGGGGGGGGGGSSSSSSSSSPPPPPPPPPPTTTHHHHHHTTYYIYWWWWWWWEEEE
|
||||
FFFFFRRRFRRRRRRRJJJJJJYYYYYYYYIIIIIJIUUMMMMMMMMMMMEDDDDDDTTTDDDTTTTTTTTTTKKKTTTKKKGGGGGGGGGVGGGSSSSSSSSSPPPPPPPPPPPHHHHHHHHYYYYYYWWWWWWWWEEE
|
||||
QFFFMRRRRRRRRRRRRRQQQJJYYYYYYYYIIIIUUUUUUUUUMMMMMEEEEEEDDTTTDDDDTTTTTTTTTKKKKKTKKKKKGGGGGGVVVVSSSSSSSSSSPPPPPPPPPPPHHHHHYYYYYYYYYWWWWWWWWWED
|
||||
QFMMMRRRRRRRRRRRRRRQYYYYYYYYYYYYYYYUUUUUUUUUMMEEEEEEEEEETTTTDDDDDTTTTTTTKKKKKSKKKKKKGGGVVVVVVVVWSSSSSSSSSSPPPPPPPPHHHHHHYYYYYYYYYWWWWWWWWWWW
|
||||
QQQQQRRRRRRRRRRRRRRRYYYYYYYYYYYYYYUUUUUUUYUUUMEEEEEEEEEETTTTDDDKJJJJTTTTKKKKKKKKKKKKGGGVVVVVVVVWWSSSSSSSSSPPPPPPPPPHHHYYYYYYYYYYYYWWWWWWWWWW
|
||||
QVVVQCRRRRRRRRRRRRRRYYYYYYYYYYYYYUUUUUUUUUUMMMEEEEEEEEEETTTTDRDKJJJJTTTTKKKKKKKKKKKKGGGGZVVVVVVWWWSMMSSSSSPPPPPPPPHHHHYYYYYYYYYYYYYWWWWWWWWW
|
||||
VVVVVRRRRRDRRRRRRRRRYYYYYYYYYYYYUUUUUUUUUUUMMMEEEEEEEEEETTTRRRRRJJJJJJJTTKKKKKKKKKKKHGGZZVVQUXWWWWWMMMMMSSPPPPPPPPHHHYYYYYYYYYYYYYYWWWWWFWWP
|
||||
VVVVRRRRRDDDRRRVRYYYYYYYYYYYYYYYYYYUUUUUUMMMMEEEEEEEEEEETTTRRRRVJJJJJJJTTQQKKKKKKKFKHHQQQQQQXXWWWWWWUMMMSPPPPPPPPPHHHHYYYYYYYYYYYYWWWWWWFWWP
|
||||
VVVVVNNDDDDRRRRVVYYYYYYYYYYYYYYYYYYEUUUUUMMMMEEEEEEEEEEEERRRRRRVJJJJJJJQQQQQKKKKKKKZKHHQQQQXXXWXWWWUUMMMMPPPPPLLPPLLHHYYYYYYYYYYYJWWWWFFFWFS
|
||||
VVVVVNNNDDVYRVVVVYYYYYYYYYYYYYYEEEEEEUUUUUMMMMEEEEEEEEEEEEERRRRRJJJJJJJQQQQQKKKKKKKKKKQQQQQXXXXXWWUUUPPPPPPPPPLLLLLLHLYYYYYYYYYYYWWWSGGFFFFS
|
||||
VVVVVVNNDNVVVVVVVVVVYYYYYXYYYYYYEEEEEEUUMMMMMMEEEEEEEEEEEEQQQQRRJJJJJJJQQQQQKKKKKKKKMQQQQQQXXXXXXXUUUPPPPPPPPPPLLLLLLLLLLYYYYKYYYWISSGGGFFFS
|
||||
VVVVVVNNNNVVVVVVVVVVVYYCXXYYYXYYEEEEEEEEEMMMMMEEEEEXEEREQQQQQQQVJJJJJJJQQQQPPKKKKKKKKQQQQQQXXXXXXXXXUXXPPPPPPPPLLLLLLLLLYYYYYKYYYYYSGGSSSSFS
|
||||
VVVVVNNNNNFFVVVVVVVVVJJXXXXXXXXYYEEEEEEEMMMMMMMMMEEXXQQQQQQQQQQVJJJJJJJQQQQQKKKKKKKXXQQQQQXXXXXXXXXUUXXQQPPPPPPPLLLLLLLLKKKKKKKKYVSSSSSSSSSS
|
||||
VVEVVINNNNFFFVVVVVVFFXXXXXXXXXYYYEEEEEEEEDDDDMDCMKKXXXQQQQQQQQQQJJJJJJJQQQQQKKKKKKXXXQQQXXXXXXXXXBBIXXXQQQPXSPPLLLLLLLLLKKKKKKKKSSSSSSSSSSSS
|
||||
IIIIIIINNNFFFFFFFFFFXXXXXXXXXXXXYEEEEEEEDDDDDDDCKKKXXXQQQQQQQQQQJJJJJJJQQQQQKKKKKKXXXXXXXXXXXXXXBBBXXXXQQQSSSPPLLLLLLLLLKKKKKKKSSSSSSSSSSSSS
|
||||
IIIIIINNNNFFFFFFFFFXXXXXXXXXXXXXEEEEEEEDDDDDDDDCKKKKXXQQQQQQQQQQQQQDQQQQQQXQKKKKXXXXXXXXXXXXXXXXBBBVXXXXQQSSSSYYLLLLLLLLKKKKKKKSSSSSSSSSSSSS
|
||||
IIIIIIIIIFFFFFFFFFFFXXXXXXXXXXXXEEEEEEEEDDDDDDDDDKKQQQQQQQQQQQQQQQQDQQQQNQXQXXKXXXXXXXXXXXXXXXXXXXBXXXXXSSSSSSSYSSLLLILLKIIIKKKKKSSSSSSSSSSS
|
||||
IIIIIIIIIZFFFFFFFFFXXXXXXXXXXXXXEEMEEEEDDDDDDDDKKKKQKQQQQQQQQQQQQQQQQQQQQQXXXXXXXXXXXXXXXXXXXXXXXXGXXXXXSSSSSSSSSIIIIIIIIIIIKKKKKKKKSSSSSSSS
|
||||
IIIIIIIIIZZZOOOOFFFXXXXXXXXXXXXXMEMEEEEHDDDDDDDDDKKKKQQQQQQQQQQQQQQCQYYYYQMXXXXXXXXXXXXXXXXXFFXXXXXXXXXXSSSSSSSIIIIIIIIIIIIIKKKKKKKKSSSSSSSS
|
||||
IIIIIIIIIZZZOOMMFFFFXXXXXXXXXMMMMMMREEEHHHDDDDDDDKKKKKQQQQQQQQQQQQDDDYDDDLMXXXXMXXXXXXXXXXXXFFXXXXXXXXXSSSSSSSUIIIIIIIIIIIIIKKKKKKKSSSSSSSSS
|
||||
IIIIIIIIIZZZOOOOOOFFXXXXXXXXXMMMMMMMMEHHHDDDDDDDDKKKKIQQQQQQQQQQQQDDDDJDLLMMMMMMMMMMXXXXXXXXFFFXXXXXXXXSSSSSSSSIIIIIIIIIIIIIIIKKKKKKSSSSSSSD
|
||||
IIIIIIIIZZZOOOOOOOFFXXXXXXXXXMMMMMMMHHHHHDDDDDDDDDKKKIQQQQQQQQQQQQDDDDDDDDMMMMMMMMMMXXYXXXXXFFFXXXXXXSSSSSSSSSSSSIIIIIIIIIIIIIKKKKKKBSSSKSDD
|
||||
IIIIIIIIIZZOOOOOOOOFFXXXXXXXMMMMMMMMHHHKHKDDDDDKKKKKIIIIKICIQQAQQADDDDDDDMMMMMMMMMMMMYYXXXXFFFXXXXXXXXXSSBSSSSSSSIIIIIIIIIIIIKKKKKKKKZSSSDDD
|
||||
IIIIIHIIZZZOOOOOOFOFFFFXXXXXMMMMMMMMMHHKKKDDDDDDKKKKIIIIIIIIQIILIIDDDDDMMMMMMMMMMMMMFYYYYXXXXXXXXXXXXXXSSSSSSSSSSIIIIIIIIIIIIIKKKKKKZZSSSDDD
|
||||
SSIIIHHHHZHOOOOOFFFFFFXXXXXMMMMMMMMMMHHKKKDDDDDKKKKIIIIIIIIIIIIIIIDDDDDDMMMMMMMMMMMFFYYYYVVVVXXXXXXXXXXXSSSSSSSSSIIIIIIVVIITIIIIKKZZZZSSXDDD
|
||||
SIISSHHHHHHOOOOOOOFFFFXXXXXXLMMMMMMMMHHKKKDDKDKKKKKKIIIIIIIIIIIIDDDDDDDMMMMMMMMRMFFFFYYVVVVVVVXXXXXXXXXMSSSSSSSSSSIIIIIVIITTITTIEZZFFZBBXDDD
|
||||
SSISSSSHHHOOOOOOOFFFFFFXXXXLLMMMMMMHHHHKKKKKKKKKKKKIIIIIIIIIIIIDDDDDDDDMMMMMMMRRMFFFFYYVVVVVVVXXXXXXAAASSSSSCSSSSVVIVVVVQVTTITTTEEZZFFBXXDDX
|
||||
SSSSDDDHHHDDDOOOOOXFFFFFXXXXLLMMMMMHSHHKKKKKCKKKKKKKIIIIIIIIIIIIDDDDDDMMMMMMMMMRMMFFFFVVVVVVVVVXXXXXXAASSSSSSFFSAVVVVVVVVVVTTTTEEEEFFFBXXDXX
|
||||
SSSSDDDDHHDOOOOODDXFFFFFXXXXXXXMQSHHSSHCCDCCCKKKKKKKIIIIIIIIIIIIDDDDBBMMMMMMMMMMMMFFFFVVVVVVVVTTXXXDAAAAASSSSFASAVVVVVVVVVVVVVTEOEEBFBBXXXXX
|
||||
SSSSDDDDHHDDDDDDDDXXXXXXXXXXXXXSSSSSSSHCCDDCCKKKKKKKIIIIIIIIIIBDDBBBBBMMMBBMMMMMMFFFFFVVVVVVVTTTTXGTTAAAAAAASAAAAVVVVVVVVVVVVEEEEEEBBBXXXXXX
|
||||
SSSWWWDDDDDDDDDDDXXXXXXXXXXXXXSSSSSSSSSSCCCCCCCKKKKKKIIIIIIIAABBBBBBBBBMMBBBMMMMMMFFFVVVVVVTTTTTTTTTTTAAAAAAAAAAAAVVVVVVVVVVVVEEEEEEBBXXXXXX
|
||||
SSSWWWWDDDSDDDDDDDXXXXXXXXXXXXSSSSSSSSSSCCCCCCCCKKKOOOXIIIOAAAAAABBBBBBMMBBBMMMFFFFFFFVVVVHTTTTTTTTTTTTAAAAAAAAAAZVVVVVVVVVVVVBEEEBBBBBXXXXX
|
||||
SSSWWLLSSSSDDDSSDMMMMXXXXXXXXXSSSSSSSSSSSCCCCCCCCKKOOOOIIIOAAAAAABBBBBBBBBBBMBFFFFFFFFVVVVVFFTTTTTTTTTTTAAAAAAAAAAVVVVVVVVVVVVBBBBBBBBBXXXXX
|
||||
SSSSWSSSSSDDDSSSMMMMXXXXXXXXXXJSJSSSSSSSSCCCCCCCKKKOOOOOOOOOOAAAABBBBBBBBBBBBBFFFFFFFFFFFFFFTTTTTTTTTTTTFFAAAAAAAAVVVVVVVVVVVVVBBBBBBBBXXXXX
|
||||
SSSSSSSSSSSSSSSMMMMMMMXXXXXXXJJJJSSSSSSSSCCCCCCCKKOOOOOOOOOOOAAAABBBBBBBBBBBBBFFFFFFFFFFFFFFTTTTTTTTTTTFFFFAAAAAAAAAVVVVVVVVVVBBBBBBBBBXXXXX
|
||||
SSSSSSSSSSSSSSSMMMMMMMXXXVXXXJJJJSSSSSSSSCCCCCCKKKKOOOOOOOOOOAAAABBBBBBBBBBBBBFFFFFFFFFFFFTFFTTTTTTTTTFFFFFAAAAAAAAAVVVVVVVVBBBBBBBBBBBBBXXX
|
||||
SSSSSSSSSSSSSSSMMMMMMMXXXVVXJJJJJSSSSSSSCCCCCCCKKKOOOOOOOOOOOAABBBBBBBBBBBBBBBFFFFFFFFFFFTTTTTTTTTTTTTFFFFFFKAAAAAAAVVVVVVVVVBBBBBBBBBBBBBBX
|
||||
SSSSSSSSSSSSSSKMMMMMMMMMMVVXXPPJSSSSSSSSSSSCCCCCCKOOOOOOOOOOAAAABBBBBBBBBBBBBBFFFSFFFFFFFTTTTTTTTTTTTTFFFFFAAAAAAAAAUVVVVVVVBBBBABBBBBBBBBBB
|
||||
SSSSSSSSSSSSSSSSMMMMMMMMMMMKXPPPSSSSSSSSSSSSKCOCKKKKKZOOOOOOOAAAAABBBBBBBBBBQBFFSSSSFFFFFFTTTTTTTTTTTTFFFFFFASSSAAUUUVVVVBBBBBBAABBABBBBBBBB
|
||||
IISSSSSSSSSSSSSSMMMMMCMMMWMKKPPPPPPSAASSSSSSKCKKKKKKKZOOOOOAAAAAAABBBBBBBBBBBBFSSSSSFFFFFFTFTTTTTTTTTTFFFFFFFFFFUUUUUUVUUBBBBBBAAAAAAAAABBBB
|
||||
IISISSSSSSSSSSSMMMMMMCNCWWWNNNPPPPAAAASSSSSCKCCKKKKKAZOLOAAAAAAAAAAABBBCCBBSFFFSSSSSFFFFFFFFFFFTTTTTTTFFFFFFFFFFFUUUUUVVUUUBBBROAAAAAABBBBBB
|
||||
IIIIISSSSUUSSOSMMMMCCCNCWWWNNNPPNPNNAASSSSSCCCCCHHKHAAAAOAAAAAAAAAABBBBCCCSSSSSSSSSSSFFFFFFFFFFFKTTTTTFFFFFFFFFFFUUUUUUUUUUUURRRRAAAAABBBTTT
|
||||
IIISSSSUUUUUSUMMMMMCCCCCCWWNNNNPNXNAASSSSSSCCCCCCHKHAAAAAAAAAAAAAAAAABBBSSSSSSSSSSSSSFFFFFFFFFFKKKFFFFFFFFFFFFFFFUUUUUUUUUUURRRRBAAAAAAATTTT
|
||||
IIISISSUUUUUUUMMMMCCCCCCCCCCNNNNNNNNNSSSSCCCCCCCCHHHHAAAAAAAAAAAAAAAAAGBISSVVSSSSSSSFFFFFFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUURRRRRRRRRRRAAAAATTT
|
||||
IIIIIIUUUUUUUUMUMMCCCCCCCCYNNNNNNNNSSSSSSSCCCCCHHHHHHHHAAAUAAAAAAAAOAABBBVVVVVSSSSSSSFFFFFFFFFFFFFFFZFFFFFFFFFFFFUUUUUUUUURRRRRRRRRRAATTTTTT
|
||||
PPPIPPIUUUUUUUUUMCCCCCCCCCCNNNNNNNNSSSSSSSSCCCHHHHHHHHUUUUUUUAAAAAGOGABBBBDDDVSYFFSFFFFFFFFFFFFFFFFFZFFFFFFFFFFFUUUUUUUURRRRRRRRRRRAATTTTTTT
|
||||
PPPPPPUUUUUUUMMMMMMCCCCCCCCCNNNNNNNNMMSSSSSCCCTHHUUHHHUUUUUUUUAAAAGOGBBBBDDDDDFYYFFFFFFFFFFFFFFFFFZZZZZZFFFFFFFFFUUUUUUURRRRRRRRRRRAAAATTTTT
|
||||
PPPPPPUUUUUUUUMMMMCCCCCCCCCCCNNNNNMMMMMSSSSCQTTTTUUUUUUUQUUUUUAAAGGGGBBBBDDDDFFFFFFFFFFFFFHHHFFFZZZZZZZZZFFFFFFFFUUUUUUUURRRRRRRRRRAAAAATTTT
|
||||
PPPPPPPUPUUUUAMMMMCCCCCCCCCNNNNNNNMMMMMMSSSSTTTTUUUUUUUUUUUUUUAAGGGGBDDDDDDDDFFFFFFHHFFHHHHHZZZFZZZZZZZYYOOOFFUUUUUXXXXURRRRRRRRRRRRCCAATTTT
|
||||
PPPPPPPPPUPUUPPMMMCCCCCCCCCCNNNNNNMMMMMMMSSSTTTTUUUUUUUUUUUUUUGGGGGGDDDDDDDDDDDDDDDHHHFFHHHHHHZZZZZZZYYYYOYOFFUUUUUXXXXXXRRRRRRRRRCCCCAAAAAA
|
||||
PPPPPPPPPPPPPPTMMMGCCCCCCCCCNNNNNNMMMMMMSSTTTTTTTFUUUUUUUUUUUGGGGGGGDDDDDDDDDDDDDDHHHHHFHHHHHZZZZZZZYYYYYYYYUUUUUUXXXXXXXXRRRRRRRRCCCCCAAAAA
|
||||
PPPPPPPPPPPPPPPGGGGGCCCCCCCCNNNNNNNMMMSMSSTTTTTTTTTUUUUUUUUUUVGGGGGGDDDDDDDDDDDDDDHHUHHHHHHHHHZZZZZZYYYYYYYUUUUUUUXXXXXXXRRRRRRRRRCCCCCCAAAA
|
||||
GPPPPPPPPPPPPPPGGGGGGCCCCCHNNNNNHHHMMSSSSTTTTTTTTTUUUUUUUUUGGGGGGGGGGDDSDDDDDDDDDDDHHHHHHHHHHHZZZZZYYYYYYYYUUUUUXXXXXXXXXRXXXRRRCCCCCCCAAAAA
|
||||
PPPPPPPPPPPPPPPGGGGGGCCCHHHNNNNNHMMMMMMSSTTTTTTTTTTTUUUUUVVGGGGGGGGGGDDDDDDDDDDDDDHFHHHHHHHHHHZZZYZYYYYYYYYYYUXXXXXXXXXXXXXXXXRRRRBCCCCAAAKA
|
||||
PPPPPPPPPPPPPPGGGGGGGCGHHHHNNNNNHMMMMMMTTTTTTTTTTTTTTUUUUUUGGGGGGGGGGGDDDDDDDDDDDDHHHHHHHHHHZZZZZYYYYYYYYYYYYUXXXXXXXXXXXXXXXXRRRRCCCCCAAAAA
|
||||
PPPPPPPPPPPPGGGGGGGGGGGHHHHHHHNNHHMMMMMSTTTTTTTTTTTTTTUUTWUGGGGGGGGGGGDDDDDDDDDDDDHHHHHHHHHHHHZZZYYYYYYYYYYYYYZXXXXXXXXXXXXXXOORORCCCCCCOOOO
|
||||
PPPPPPPPPPPPPGGGGGGGGGGGGHHHHHNHHMMMMMMSSTTTTTTTTTTTTTTUTWWGGGGGGGGGDDDDDDDDDDDDDDDHHHHHHHHHHZZZZYYYYYYYYYYYMYXXXXXXXXXXXXXXOOOROOOOOOOOOOOO
|
||||
RRPYPRPPPPPPPGGGGGGGGGGGGGHHHHHHHHHMFMSSSTTTTTTTTTTTTTTTTTTYYGGGGGGGDDDDDDDDDDDDDHHHHHHHHHHHHZZZZZYYYYYYYWYMMXXXXXXXXXXXXXXXOOOOOOOOOOOOOOOO
|
||||
|
330
day12/main.go
Normal file
330
day12/main.go
Normal file
|
@ -0,0 +1,330 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"slices"
|
||||
"sync"
|
||||
|
||||
"git.mstar.dev/mstar/aoc24/util"
|
||||
"git.mstar.dev/mstar/goutils/sliceutils"
|
||||
)
|
||||
|
||||
type Block struct {
|
||||
Char rune
|
||||
Counter int
|
||||
}
|
||||
|
||||
type Coordinate struct {
|
||||
X, Y int
|
||||
}
|
||||
|
||||
type Area struct {
|
||||
area [][]Block //Y, X
|
||||
rwl sync.RWMutex
|
||||
}
|
||||
|
||||
func convertLinesIntoBlockMap(lines []string) Area {
|
||||
out := [][]Block{}
|
||||
for _, line := range lines {
|
||||
bordLine := []Block{}
|
||||
for _, char := range line {
|
||||
// All blocks have four different blocks bordering in the beginning
|
||||
bordLine = append(bordLine, Block{char, 0})
|
||||
}
|
||||
out = append(out, bordLine)
|
||||
}
|
||||
|
||||
return Area{out, sync.RWMutex{}}
|
||||
}
|
||||
|
||||
func (c Coordinate) Left() Coordinate {
|
||||
return Coordinate{c.X - 1, c.Y}
|
||||
}
|
||||
|
||||
func (c Coordinate) Right() Coordinate {
|
||||
return Coordinate{c.X + 1, c.Y}
|
||||
}
|
||||
|
||||
func (c Coordinate) Up() Coordinate {
|
||||
return Coordinate{c.X, c.Y - 1}
|
||||
}
|
||||
|
||||
func (c Coordinate) Down() Coordinate {
|
||||
return Coordinate{c.X, c.Y + 1}
|
||||
}
|
||||
|
||||
func (a *Area) Get(x, y int) *Block {
|
||||
if y < 0 || y >= len(a.area) || x < 0 || x >= len(a.area[0]) {
|
||||
return nil
|
||||
}
|
||||
a.rwl.RLock()
|
||||
defer a.rwl.RUnlock()
|
||||
return &a.area[y][x]
|
||||
}
|
||||
|
||||
func (a *Area) GetCoord(c Coordinate) *Block {
|
||||
if c.Y < 0 || c.Y >= len(a.area) || c.X < 0 || c.X >= len(a.area[0]) {
|
||||
return nil
|
||||
}
|
||||
a.rwl.RLock()
|
||||
defer a.rwl.RUnlock()
|
||||
return &a.area[c.Y][c.X]
|
||||
}
|
||||
|
||||
func (a *Area) CountEdgesAtCoord(c Coordinate) int {
|
||||
block := a.GetCoord(c)
|
||||
if block == nil {
|
||||
return 1
|
||||
}
|
||||
acc := 0
|
||||
left := a.GetCoord(c.Left())
|
||||
if left == nil || left.Char != block.Char {
|
||||
acc++
|
||||
}
|
||||
right := a.GetCoord(c.Right())
|
||||
if right == nil || right.Char != block.Char {
|
||||
acc++
|
||||
}
|
||||
up := a.GetCoord(c.Up())
|
||||
if up == nil || up.Char != block.Char {
|
||||
acc++
|
||||
}
|
||||
down := a.GetCoord(c.Down())
|
||||
if down == nil || down.Char != block.Char {
|
||||
acc++
|
||||
}
|
||||
|
||||
return acc
|
||||
}
|
||||
|
||||
func (a *Area) CollectRegion(at Coordinate) []Coordinate {
|
||||
coords := []Coordinate{at}
|
||||
self := a.GetCoord(at)
|
||||
self.Counter++
|
||||
|
||||
left := a.GetCoord(at.Left())
|
||||
if left != nil && left.Char == self.Char && left.Counter != self.Counter {
|
||||
coords = append(coords, a.CollectRegion(at.Left())...)
|
||||
}
|
||||
right := a.GetCoord(at.Right())
|
||||
if right != nil && right.Char == self.Char && right.Counter != self.Counter {
|
||||
coords = append(coords, a.CollectRegion(at.Right())...)
|
||||
}
|
||||
Up := a.GetCoord(at.Up())
|
||||
if Up != nil && Up.Char == self.Char && Up.Counter != self.Counter {
|
||||
coords = append(coords, a.CollectRegion(at.Up())...)
|
||||
}
|
||||
Down := a.GetCoord(at.Down())
|
||||
if Down != nil && Down.Char == self.Char && Down.Counter != self.Counter {
|
||||
coords = append(coords, a.CollectRegion(at.Down())...)
|
||||
}
|
||||
|
||||
return coords
|
||||
}
|
||||
|
||||
func (a *Area) GetAllAreas() [][]Coordinate {
|
||||
areas := [][]Coordinate{}
|
||||
for iy, line := range a.area {
|
||||
inner:
|
||||
for ix := range line {
|
||||
tmp := a.CollectRegion(Coordinate{ix, iy})
|
||||
for _, a := range areas {
|
||||
if sliceutils.CompareUnordered(a, tmp) {
|
||||
continue inner
|
||||
}
|
||||
}
|
||||
areas = append(areas, tmp)
|
||||
}
|
||||
}
|
||||
|
||||
return areas
|
||||
}
|
||||
|
||||
// Filter for coordinates where a section borders on a different section
|
||||
func filterBorderLeft(coords []Coordinate, area *Area) []Coordinate {
|
||||
return sliceutils.Filter(coords, func(t Coordinate) bool {
|
||||
self := area.GetCoord(t)
|
||||
other := area.GetCoord(t.Left())
|
||||
return other == nil || self.Char != other.Char
|
||||
})
|
||||
}
|
||||
|
||||
func filterBorderRight(coords []Coordinate, area *Area) []Coordinate {
|
||||
return sliceutils.Filter(coords, func(t Coordinate) bool {
|
||||
self := area.GetCoord(t)
|
||||
other := area.GetCoord(t.Right())
|
||||
return other == nil || self.Char != other.Char
|
||||
})
|
||||
}
|
||||
|
||||
func filterBorderUp(coords []Coordinate, area *Area) []Coordinate {
|
||||
return sliceutils.Filter(coords, func(t Coordinate) bool {
|
||||
self := area.GetCoord(t)
|
||||
other := area.GetCoord(t.Up())
|
||||
return other == nil || self.Char != other.Char
|
||||
})
|
||||
}
|
||||
|
||||
func filterBorderDown(coords []Coordinate, area *Area) []Coordinate {
|
||||
return sliceutils.Filter(coords, func(t Coordinate) bool {
|
||||
self := area.GetCoord(t)
|
||||
other := area.GetCoord(t.Down())
|
||||
return other == nil || self.Char != other.Char
|
||||
})
|
||||
}
|
||||
|
||||
func splitSameX(coords []Coordinate) [][]Coordinate {
|
||||
axis := [][]Coordinate{}
|
||||
axisLabeled := map[int][]Coordinate{}
|
||||
for _, coord := range coords {
|
||||
axisLabeled[coord.X] = append(axisLabeled[coord.X], coord)
|
||||
}
|
||||
for _, subCoords := range axisLabeled {
|
||||
axis = append(axis, subCoords)
|
||||
}
|
||||
return axis
|
||||
}
|
||||
|
||||
func splitSameY(coords []Coordinate) [][]Coordinate {
|
||||
axis := [][]Coordinate{}
|
||||
axisLabeled := map[int][]Coordinate{}
|
||||
for _, coord := range coords {
|
||||
axisLabeled[coord.Y] = append(axisLabeled[coord.Y], coord)
|
||||
}
|
||||
for _, subCoords := range axisLabeled {
|
||||
axis = append(axis, subCoords)
|
||||
}
|
||||
return axis
|
||||
}
|
||||
|
||||
func countUniqueEdgesLeft(coords []Coordinate, area *Area) int {
|
||||
acc := 0
|
||||
leftBorders := filterBorderLeft(coords, area)
|
||||
// fmt.Printf("All left borders: %v\n", leftBorders)
|
||||
bordersLeftPerAxis := splitSameX(leftBorders)
|
||||
// fmt.Printf("Same left: %v\n", bordersLeftPerAxis)
|
||||
for _, borders := range bordersLeftPerAxis {
|
||||
// acc++
|
||||
slices.SortFunc(borders, func(a, b Coordinate) int { return a.Y - b.Y })
|
||||
// fmt.Printf("Axis left: %v\n", borders)
|
||||
prevY := -500
|
||||
for _, coord := range borders {
|
||||
if coord.Y-1 != prevY {
|
||||
acc++
|
||||
}
|
||||
prevY = coord.Y
|
||||
}
|
||||
}
|
||||
fmt.Printf("Left borders: %v\n", acc)
|
||||
return acc
|
||||
}
|
||||
|
||||
func countUniqueEdgesRight(coords []Coordinate, area *Area) int {
|
||||
acc := 0
|
||||
bordersLeftPerAxis := splitSameX(filterBorderRight(coords, area))
|
||||
// fmt.Printf("Same right: %v\n", bordersLeftPerAxis)
|
||||
for _, borders := range bordersLeftPerAxis {
|
||||
slices.SortFunc(borders, func(a, b Coordinate) int { return a.Y - b.Y })
|
||||
// acc++
|
||||
prevX := -500
|
||||
for _, coord := range borders {
|
||||
if coord.Y-1 != prevX {
|
||||
acc++
|
||||
}
|
||||
prevX = coord.Y
|
||||
}
|
||||
}
|
||||
fmt.Printf("Right borders: %v\n", acc)
|
||||
return acc
|
||||
}
|
||||
|
||||
func countUniqueEdgesUp(coords []Coordinate, area *Area) int {
|
||||
acc := 0
|
||||
bordersLeftPerAxis := splitSameY(filterBorderUp(coords, area))
|
||||
fmt.Printf("Same up: %v\n", bordersLeftPerAxis)
|
||||
for _, borders := range bordersLeftPerAxis {
|
||||
// acc++
|
||||
slices.SortFunc(borders, func(a, b Coordinate) int { return a.X - b.X })
|
||||
fmt.Printf("Sorted up axis: %v\n", borders)
|
||||
prevX := -500
|
||||
for _, coord := range borders {
|
||||
if coord.X-1 != prevX {
|
||||
acc++
|
||||
fmt.Println("Up inc")
|
||||
}
|
||||
prevX = coord.X
|
||||
}
|
||||
}
|
||||
fmt.Printf("Up borders: %v\n", acc)
|
||||
return acc
|
||||
}
|
||||
|
||||
func countUniqueEdgesDown(coords []Coordinate, area *Area) int {
|
||||
acc := 0
|
||||
bordersLeftPerAxis := splitSameY(filterBorderDown(coords, area))
|
||||
for _, borders := range bordersLeftPerAxis {
|
||||
// acc++
|
||||
slices.SortFunc(borders, func(a, b Coordinate) int { return a.X - b.X })
|
||||
fmt.Printf("Same down: %v\n", bordersLeftPerAxis)
|
||||
prevX := -500
|
||||
for _, coord := range borders {
|
||||
if coord.X-1 != prevX {
|
||||
fmt.Println("Bigdiff")
|
||||
acc++
|
||||
}
|
||||
prevX = coord.X
|
||||
}
|
||||
}
|
||||
fmt.Printf("Down borders: %v\n", acc)
|
||||
return acc
|
||||
}
|
||||
|
||||
func countUniqueEdges(coords []Coordinate, area *Area) int {
|
||||
return countUniqueEdgesLeft(
|
||||
coords,
|
||||
area,
|
||||
) + countUniqueEdgesRight(
|
||||
coords,
|
||||
area,
|
||||
) + countUniqueEdgesUp(
|
||||
coords,
|
||||
area,
|
||||
) + countUniqueEdgesDown(
|
||||
coords,
|
||||
area,
|
||||
)
|
||||
}
|
||||
|
||||
func main() {
|
||||
area := convertLinesIntoBlockMap(util.FileContentToNonEmptyLines(util.LoadFileFromArgs()))
|
||||
allAreas := area.GetAllAreas()
|
||||
|
||||
totalAcc := 0
|
||||
for _, subArea := range allAreas {
|
||||
tmp := 0
|
||||
for _, coord := range subArea {
|
||||
tmp += area.CountEdgesAtCoord(coord)
|
||||
}
|
||||
totalAcc += tmp * len(subArea)
|
||||
}
|
||||
fmt.Printf("Task 1: %d\n", totalAcc)
|
||||
// fmt.Println(countUniqueEdges(allAreas[2], &area))
|
||||
// return
|
||||
edgesAcc := 0
|
||||
for _, subArea := range allAreas {
|
||||
tmp := countUniqueEdges(subArea, &area)
|
||||
fmt.Printf(
|
||||
"Area %s has %d edges with len %d\n",
|
||||
string(area.GetCoord(subArea[0]).Char),
|
||||
tmp,
|
||||
len(subArea),
|
||||
)
|
||||
// fmt.Println(tmp * len(subArea))
|
||||
edgesAcc += tmp * len(subArea)
|
||||
}
|
||||
fmt.Printf("Task 2: %d\n", edgesAcc)
|
||||
}
|
||||
|
||||
// c2: l14 e22
|
||||
// f3: l10 e12
|
||||
// e7:
|
10
day12/sample
Normal file
10
day12/sample
Normal file
|
@ -0,0 +1,10 @@
|
|||
RRRRIICCFF
|
||||
RRRRIICCCF
|
||||
VVRRRCCFFF
|
||||
VVRCCCJFFF
|
||||
VVVVCJJCFE
|
||||
VVIVCCJJEE
|
||||
VVIIICJJEE
|
||||
MIIIIIJJEE
|
||||
MIIISIJEEE
|
||||
MMMISSJEEE
|
4
day12/sample2
Normal file
4
day12/sample2
Normal file
|
@ -0,0 +1,4 @@
|
|||
AAAA
|
||||
BBCD
|
||||
BBCC
|
||||
EEEC
|
Loading…
Reference in a new issue