add solutions for day 22,23,24 and 25

This commit is contained in:
Patrick Michl 2021-12-25 06:46:42 +01:00
parent 3f9df3ee38
commit bdfb7e1ff3
9 changed files with 979 additions and 3 deletions

420
data/day_22.txt Normal file
View File

@ -0,0 +1,420 @@
on x=-8..38,y=-15..37,z=-49..5
on x=-35..13,y=-26..26,z=-47..-2
on x=-44..9,y=-47..7,z=-18..35
on x=-24..20,y=-46..8,z=-10..38
on x=-32..21,y=-27..18,z=-43..6
on x=-36..18,y=-7..44,z=1..45
on x=-48..2,y=-38..16,z=-45..6
on x=-47..-3,y=-8..42,z=-4..49
on x=-26..25,y=-26..19,z=-37..17
on x=-8..36,y=-48..4,z=-26..19
off x=-22..-6,y=0..11,z=4..18
on x=-5..47,y=-41..12,z=-26..27
off x=10..29,y=2..18,z=-22..-10
on x=-41..4,y=-33..17,z=-43..10
off x=23..39,y=34..43,z=0..18
on x=-22..31,y=-28..17,z=-46..-2
off x=-34..-20,y=10..27,z=-39..-24
on x=-19..34,y=-5..48,z=-36..8
off x=-22..-3,y=6..23,z=-33..-23
on x=-31..14,y=-41..6,z=-42..11
on x=15335..50364,y=23326..35316,z=55710..82802
on x=-45558..-26562,y=-2400..4809,z=63478..81702
on x=-32547..-2093,y=-80247..-60455,z=-38776..-12398
on x=3464..34355,y=-53573..-44765,z=-72270..-45885
on x=-9807..20039,y=-68478..-43761,z=-57797..-44099
on x=40079..61797,y=-61859..-31418,z=38360..45565
on x=62170..82174,y=8028..39169,z=-12590..14034
on x=-38651..-30945,y=27847..31103,z=61105..82258
on x=37522..61641,y=37254..59332,z=-25804..-10671
on x=-60797..-42266,y=-41852..-22898,z=33729..67815
on x=-16830..10919,y=-85429..-52622,z=38655..47942
on x=-79023..-63744,y=-29720..-25509,z=-13690..6232
on x=-4302..17673,y=65726..84939,z=-24802..-1510
on x=51984..58644,y=-50863..-29318,z=-62134..-38340
on x=17315..32243,y=-78736..-61172,z=-48782..-36452
on x=43538..74153,y=-64825..-48158,z=-2168..17349
on x=-88874..-56782,y=31756..39638,z=-6822..22577
on x=-32751..-16062,y=21829..33445,z=-80369..-58366
on x=-53991..-37739,y=24044..41509,z=-63198..-60191
on x=45511..57768,y=-60217..-38779,z=4772..14616
on x=582..26199,y=-84737..-68753,z=-30138..-10832
on x=-76660..-44924,y=-45685..-28606,z=-45497..-26288
on x=-16527..7531,y=71113..90437,z=-31015..963
on x=-45308..-33442,y=-55174..-46890,z=-62805..-38852
on x=-97917..-77721,y=-14020..19196,z=-9834..12916
on x=9547..37293,y=47382..79218,z=-40988..-38084
on x=11900..40311,y=-88398..-73419,z=-16149..17264
on x=-76272..-57431,y=9110..28569,z=-43875..-35650
on x=44316..75678,y=49414..51289,z=-16923..614
on x=-31873..-16382,y=-86726..-59516,z=-35550..-16645
on x=-2001..12126,y=-74226..-66970,z=27937..35348
on x=22600..38219,y=-89770..-65203,z=-2468..27615
on x=-29020..-18296,y=-40849..-28739,z=-76954..-49958
on x=-69947..-45370,y=-26764..-3205,z=-62596..-39633
on x=11106..25350,y=-10816..603,z=61373..88869
on x=-44616..-19892,y=-58959..-34216,z=58473..65795
on x=-8795..947,y=-13768..11224,z=62325..94888
on x=65157..94625,y=13584..36634,z=-19744..409
on x=8842..29765,y=-76600..-64290,z=-53640..-20221
on x=72119..80400,y=-10518..17427,z=-21981..-8210
on x=-5366..6510,y=59148..78095,z=24053..43978
on x=13458..29969,y=54416..76907,z=-41187..-26771
on x=-93261..-60882,y=-24991..-8501,z=12612..18878
on x=-65813..-47821,y=-63936..-49169,z=-19769..7195
on x=-64400..-34269,y=-35835..-33505,z=46829..66233
on x=50461..83244,y=-18960..-12216,z=-50711..-23716
on x=30337..47289,y=13642..33900,z=48160..76508
on x=-8112..10344,y=1355..15516,z=71137..84477
on x=51524..63806,y=17375..48797,z=28977..50170
on x=58448..76178,y=21032..43228,z=-27666..-23037
on x=-72668..-59446,y=31279..44252,z=25311..54211
on x=-27331..-6649,y=-75402..-45015,z=39353..52026
on x=-83915..-52531,y=-56122..-21235,z=-15204..8932
on x=20340..34983,y=13459..45255,z=67208..82734
on x=52204..80044,y=-56662..-21103,z=-6139..5434
on x=48343..56665,y=-66449..-46287,z=9391..32105
on x=18326..43597,y=63443..65306,z=-58929..-19969
on x=-2999..2718,y=-61788..-32532,z=52591..69302
on x=35428..65034,y=-55534..-39929,z=29073..56505
on x=-564..14337,y=73556..93104,z=-1379..20976
on x=-81741..-61409,y=17237..33536,z=44407..50551
on x=-87050..-59613,y=-11189..3245,z=-53237..-24697
on x=34259..54145,y=20441..36300,z=45810..58640
on x=34106..47786,y=61578..84112,z=-12070..1856
on x=20918..24706,y=-79156..-61039,z=-9799..16667
on x=35957..45020,y=29650..58514,z=-64107..-44220
on x=3605..23761,y=-87881..-67369,z=28828..38438
on x=-70621..-52430,y=37486..66736,z=-4981..30
on x=-33825..-12291,y=-44236..-16695,z=61030..69673
on x=-49593..-18848,y=-23981..-11323,z=-79284..-57866
on x=-94854..-58471,y=624..16087,z=-31578..-20200
on x=-56555..-41220,y=-30410..-5416,z=-78098..-48820
on x=-29310..-5333,y=-377..16272,z=-92588..-64906
on x=10354..36468,y=45324..65408,z=31417..60527
on x=28022..48159,y=61268..65663,z=12438..25427
on x=-62602..-33068,y=51567..61033,z=-35345..-28008
on x=59685..96646,y=-17225..7947,z=-21655..-929
on x=2571..26494,y=-34041..-16342,z=-79107..-62634
on x=-69128..-43671,y=37174..57503,z=3638..28066
on x=-67589..-48147,y=-73385..-56850,z=-1860..2972
on x=-13132..7845,y=-45253..-22219,z=73332..87814
on x=14643..27911,y=66417..87671,z=6926..42452
on x=55546..59770,y=-68349..-35183,z=13526..42706
on x=46458..71581,y=-64188..-39183,z=-37594..-5557
on x=52337..87886,y=3073..40107,z=25199..53681
on x=-27570..-18038,y=-89728..-75569,z=-8551..19893
on x=45880..62073,y=-68855..-56920,z=-18677..7736
on x=53736..62220,y=40703..59813,z=23257..45038
on x=-76911..-44696,y=-69813..-45549,z=3081..35367
on x=31747..54285,y=3689..9419,z=49901..76396
on x=41306..59150,y=-61184..-38861,z=29420..47064
on x=-3789..19982,y=-70405..-50781,z=36583..62090
on x=60232..72621,y=28595..58182,z=7302..23655
on x=29066..55476,y=50427..80610,z=17279..37108
on x=-74130..-48051,y=9698..30887,z=-55533..-38019
on x=20776..22496,y=49080..74957,z=-54917..-24479
on x=-42551..-29740,y=-55103..-24976,z=-75473..-58134
on x=-513..10228,y=-61404..-54603,z=-56400..-40844
on x=4767..24714,y=68526..93217,z=-25864..-16813
on x=33270..56249,y=-12736..15165,z=59025..73794
on x=56648..94625,y=4068..28093,z=-26382..-8130
on x=-42182..-28592,y=31930..50414,z=-72371..-46985
on x=35452..53665,y=-40979..-7896,z=50032..72566
on x=20439..46512,y=60602..69683,z=10315..32311
on x=29946..49103,y=60304..85429,z=-6857..15097
on x=-44981..-28124,y=-75770..-62139,z=-41957..-39213
on x=1642..15993,y=-74459..-43849,z=46076..65639
on x=24231..28876,y=-46470..-27532,z=49508..84952
on x=58988..97791,y=-8990..14314,z=-1595..37717
on x=66367..88861,y=-35194..-9267,z=-25451..-17485
on x=-60774..-33099,y=-72195..-51492,z=-36479..-16367
on x=32005..49362,y=30998..48503,z=-63298..-32160
on x=-14142..10186,y=-61898..-51952,z=-59283..-47394
on x=-19407..11513,y=32878..69244,z=55828..80284
on x=45876..77690,y=-58055..-41201,z=-29044..5749
on x=-11468..18864,y=75328..84069,z=-4503..25380
on x=-35711..-29917,y=-32456..-23606,z=-82918..-55517
on x=27301..48443,y=-69479..-34724,z=26664..49480
on x=23315..42528,y=-86791..-57800,z=30250..51456
on x=60965..90946,y=-14685..10468,z=20339..49517
on x=15832..37891,y=-52792..-39704,z=39855..71748
on x=-59280..-47097,y=-39141..-17157,z=33266..47528
on x=-57855..-35283,y=-39073..-13640,z=-80444..-56846
on x=-86133..-58057,y=-27636..-4311,z=-32792..-18848
on x=-444..13278,y=22909..49708,z=58690..72477
on x=-13881..12856,y=36632..69292,z=56982..70686
on x=10985..24603,y=25636..55287,z=-79921..-61711
on x=10776..29554,y=4929..33616,z=-82193..-56014
on x=17025..38285,y=-47077..-14251,z=-77553..-54577
on x=46531..63240,y=-15497..3408,z=56333..68319
on x=-64068..-46550,y=-49066..-35557,z=-59104..-37575
on x=-66587..-39636,y=2921..14996,z=-73004..-58075
on x=-57862..-46129,y=-39458..-13965,z=52019..57063
on x=32195..41584,y=-58378..-45157,z=47203..64230
on x=59743..64863,y=-24800..7,z=47840..51569
on x=-42549..-33653,y=70071..85597,z=-16479..7317
on x=-37353..-26663,y=37926..66858,z=34514..62276
on x=15487..32009,y=-17818..-4587,z=-88133..-63626
on x=39272..60009,y=21713..53410,z=29838..55064
on x=14645..18233,y=70285..80160,z=-45717..-26265
on x=-59969..-38119,y=-32490..-11158,z=-72565..-48356
on x=-37063..-12372,y=34981..61053,z=45674..63318
on x=23505..31659,y=-17878..3435,z=69208..88411
on x=-28414..-11477,y=75258..76840,z=-18186..-298
on x=-49615..-36443,y=47524..71379,z=24823..52483
on x=41128..68342,y=42269..56032,z=13167..49004
on x=-73556..-62069,y=39819..54100,z=10014..26182
on x=11963..29197,y=-16582..13981,z=-94711..-63934
on x=-34689..-25577,y=-197..15669,z=-86772..-64172
on x=3563..21507,y=64920..83056,z=-38937..-25267
on x=61303..75862,y=-22101..-7085,z=30482..64859
on x=12131..33975,y=64409..83656,z=-5563..5502
on x=-17530..-7065,y=18505..53237,z=69195..78103
on x=-10021..16570,y=-55375..-27834,z=-78754..-51628
on x=24827..60557,y=-15264..1953,z=51972..86146
on x=-71187..-34824,y=-44254..-14207,z=-52397..-35707
on x=57352..77735,y=-37604..-15263,z=7507..27978
on x=-23726..-7292,y=-55950..-32850,z=-69245..-57628
on x=-90975..-70535,y=9138..33894,z=-25893..-10071
on x=6070..31408,y=64814..80652,z=22591..57794
on x=8916..26303,y=-95224..-59955,z=-10149..8506
on x=-68641..-46067,y=34429..59881,z=-39031..-32389
on x=-11824..-2711,y=-83201..-74852,z=-14639..7401
on x=-53274..-39232,y=35055..53726,z=30474..57011
on x=7629..42203,y=50468..73063,z=-55094..-36272
on x=70158..83416,y=20571..43112,z=4674..16257
on x=-80368..-57194,y=-4962..11968,z=19404..24821
on x=13369..36182,y=-17233..3448,z=-75917..-71135
on x=64365..90943,y=6390..33440,z=8988..21083
on x=-52699..-21144,y=-38040..-854,z=-68245..-58362
on x=-65094..-37684,y=-51612..-25807,z=-72281..-53830
on x=-79276..-46327,y=-50076..-25744,z=8635..28328
on x=-12990..8865,y=41955..75365,z=-62193..-41527
on x=58354..78654,y=-11122..4884,z=23338..45638
on x=-15424..-6958,y=-81028..-61925,z=-2456..27206
on x=-46208..-42140,y=-24044..-384,z=66095..84101
on x=37816..60739,y=22510..43834,z=38468..66426
on x=33152..40141,y=51888..89118,z=13685..23818
on x=-17317..12870,y=47330..75254,z=46415..68934
on x=-70083..-47556,y=-16559..9186,z=43131..65529
on x=-50028..-37229,y=31881..55480,z=53206..75635
on x=-63924..-52170,y=-9878..11562,z=51524..77943
on x=52578..79541,y=42477..67139,z=1927..20882
on x=12599..36298,y=68728..91625,z=11807..22954
on x=-40614..-12787,y=-85532..-54821,z=23444..39179
on x=-74256..-57498,y=-43085..-23159,z=-31465..-13370
on x=39798..71449,y=48045..59886,z=-2613..24872
on x=-68498..-45090,y=25992..41044,z=34996..70831
on x=-35911..-17641,y=57891..78052,z=-35503..-20182
on x=19600..36506,y=-60275..-34413,z=46970..62424
on x=10445..32543,y=72116..79041,z=-26199..-10783
on x=29792..52526,y=17488..40185,z=-76990..-57136
on x=-15086..-965,y=71043..82224,z=-18100..-6923
on x=-66153..-53596,y=45695..50572,z=15633..27979
on x=-3842..19280,y=-94095..-71467,z=-2671..21892
on x=-20058..-15993,y=75074..85769,z=-4154..29602
on x=63662..82628,y=-44024..-18652,z=-42230..-25693
on x=-25464..-1609,y=-95242..-69652,z=-16402..-1625
on x=-45562..-19451,y=46735..69543,z=42501..55057
on x=-63606..-45182,y=-16688..4854,z=57066..69670
on x=48099..58149,y=-19817..13065,z=58517..61835
on x=60301..78442,y=-31292..-9212,z=-9501..5043
on x=-45997..-32832,y=-71865..-55120,z=5197..9635
off x=7801..18090,y=-9284..9018,z=70611..90782
on x=-12595..18229,y=-95412..-76864,z=-25174..-12583
on x=-77795..-50794,y=26612..36830,z=-57817..-32361
off x=45538..72963,y=-7083..18302,z=-58100..-48077
on x=57536..78656,y=15793..40718,z=-18344..-4567
on x=-17242..-13743,y=19611..29304,z=73728..76397
off x=55644..86166,y=-29938..908,z=31294..50663
off x=37393..52270,y=-7712..7531,z=69523..78383
off x=-957..9043,y=77480..91163,z=-33767..-6820
off x=-63298..-46056,y=-41261..-28461,z=-65194..-36474
off x=-6670..15368,y=64523..98069,z=-13420..-5226
off x=-49582..-30819,y=-1458..18304,z=-81337..-44780
on x=-58160..-41058,y=-33405..-27020,z=53440..60477
on x=-36387..-29527,y=63471..69022,z=24542..35223
off x=-55808..-47012,y=-22908..-13468,z=-66925..-53559
on x=1465..15220,y=45037..58791,z=57533..81180
on x=5172..32790,y=-66253..-52994,z=39031..64718
off x=13197..19510,y=68201..87371,z=-20249..-6899
off x=8166..26390,y=67577..88576,z=-45114..-31391
off x=-58895..-34583,y=-69098..-49904,z=-47979..-14615
off x=-40782..-6576,y=67129..85050,z=-37317..-21437
on x=-39763..-26856,y=7977..24549,z=-75663..-52000
off x=-21464..-6049,y=57481..81630,z=31659..40693
off x=-4254..10435,y=33207..56014,z=55750..69967
on x=12035..31707,y=-62120..-45336,z=-56717..-28839
on x=-65942..-52696,y=-45998..-25934,z=-51194..-32621
off x=-90231..-66833,y=-13323..5602,z=29385..35537
off x=-54405..-24273,y=52292..77711,z=5027..20918
off x=-64432..-51362,y=-47643..-33861,z=-38386..-13148
off x=35485..61206,y=-24743..-300,z=50470..64190
on x=-64616..-44407,y=-64266..-32556,z=14623..38546
on x=22913..41733,y=-69991..-52079,z=-48649..-20477
off x=8685..31733,y=2760..9002,z=74103..76071
on x=35956..60262,y=49169..87126,z=-6572..12137
on x=-43172..-20564,y=-15916..3410,z=55126..75394
off x=46980..55817,y=-59630..-43170,z=-39465..-15197
off x=12335..28938,y=55440..86727,z=22223..31474
off x=-69238..-33811,y=-35451..-11427,z=-68568..-56162
on x=9529..30152,y=-62396..-39190,z=-54970..-41011
off x=-44344..-15201,y=-24778..6622,z=-75251..-63023
off x=-8237..24648,y=-98122..-76129,z=-16626..-11718
off x=56007..68228,y=17457..46813,z=27499..47379
off x=-25536..3313,y=27091..50818,z=-76013..-70562
off x=-867..22452,y=-60444..-40519,z=-71818..-65756
on x=-55629..-48209,y=21944..53526,z=-51930..-33309
on x=-50200..-32080,y=-26886..-8210,z=-73679..-51881
on x=48080..58229,y=42242..66852,z=19778..31076
off x=-29293..-9721,y=30767..43132,z=59998..72415
on x=-3114..5283,y=53598..77422,z=-36834..-25165
off x=-42747..-34862,y=27967..59155,z=46571..59298
on x=24734..41081,y=-68020..-55325,z=25073..44789
on x=60951..73145,y=-40729..-22896,z=-40218..-24980
off x=44699..75378,y=-22976..-725,z=41665..63229
on x=-10258..20788,y=-86210..-64265,z=12003..42342
on x=53947..72320,y=7162..37399,z=-39895..-13029
off x=-39542..-35561,y=56618..75009,z=-48379..-30500
off x=-64968..-43128,y=40418..53482,z=15313..28178
off x=7725..26338,y=-78820..-72695,z=5793..36253
on x=63870..92917,y=-31227..-5907,z=-11799..10524
on x=5051..24106,y=-60601..-34349,z=-70347..-50781
off x=-49242..-30233,y=1032..28964,z=49055..79885
off x=-7682..-1197,y=-2276..3227,z=-83960..-73167
off x=-41142..-19190,y=-8859..-4149,z=69429..86603
off x=-77189..-65526,y=10147..24751,z=6547..18732
off x=61931..87618,y=9150..26031,z=-2891..13845
off x=35442..49448,y=-24212..803,z=62461..69557
off x=-19670..-1028,y=-58834..-44115,z=-67684..-44360
off x=-27003..-6291,y=-90151..-56543,z=-36412..-17679
on x=-61239..-56325,y=-28363..-20980,z=-55652..-30421
off x=-42704..-15950,y=-24945..-8619,z=-85074..-57059
on x=-38301..-22514,y=15426..33207,z=68542..86355
off x=-47333..-40889,y=-23607..-16074,z=-75438..-61498
off x=-41292..-28792,y=-82764..-50053,z=-18368..1547
off x=9879..18027,y=-88040..-55114,z=-31569..-21687
on x=29370..47558,y=-89453..-60476,z=-7077..24097
off x=-61367..-50375,y=-46813..-36824,z=26048..47897
on x=53088..71926,y=33364..61477,z=-32978..-3454
off x=42008..72354,y=29685..47325,z=28537..41099
on x=-12144..-4590,y=-86532..-70213,z=-27908..-18632
on x=45535..66832,y=30184..50465,z=40383..65657
on x=-27137..-3917,y=-82970..-73972,z=-7640..2780
off x=-62516..-34096,y=-69186..-46618,z=-16989..7170
off x=67487..86474,y=2409..32050,z=-57219..-26630
on x=-37510..-23310,y=-1063..24320,z=61094..75764
on x=-82076..-62319,y=-23916..3119,z=31484..59801
on x=-49806..-28744,y=69790..84976,z=-19227..9783
on x=19984..27116,y=-92868..-55692,z=-32604..2749
off x=-33077..-9530,y=29925..49080,z=45757..72939
on x=21129..41298,y=-63064..-48210,z=27986..62228
off x=-29272..-15085,y=-41347..-6680,z=-86541..-54306
on x=-22795..4538,y=-86979..-68617,z=-33571..-16035
on x=37493..54597,y=-12454..3419,z=56314..71570
on x=-82969..-54144,y=-48102..-18977,z=-10241..-6489
on x=-65493..-38452,y=-69069..-38053,z=-18803..11092
off x=-51751..-40206,y=-75215..-47769,z=27129..44917
on x=7855..31889,y=-81272..-59497,z=-52331..-25947
off x=-58537..-47134,y=-27170..3264,z=-77101..-61961
off x=22788..37690,y=-80464..-65932,z=10149..28249
off x=56450..90867,y=23748..45680,z=-16199..-4962
off x=65348..72838,y=19671..42377,z=-32562..-2385
off x=39520..70668,y=-60566..-46164,z=3768..38139
off x=31909..43625,y=34147..58043,z=31955..55216
off x=-35845..-22464,y=34709..48917,z=-76334..-55144
off x=-57710..-22597,y=-89725..-55980,z=455..8523
on x=61232..79103,y=-35590..-17557,z=36396..53914
on x=13364..37325,y=-52392..-24413,z=49963..75907
off x=55123..77795,y=-31348..-5365,z=-35659..-1695
on x=-85690..-73087,y=4545..28216,z=17466..35157
on x=-62978..-36031,y=44126..49517,z=29388..58437
off x=28461..40315,y=-76360..-58542,z=-32869..-2925
off x=-55904..-48803,y=56768..61520,z=-18281..7953
on x=-75152..-64663,y=-27266..-1204,z=-49037..-29471
on x=14996..36802,y=29915..61434,z=-81327..-56940
on x=-26058..-12028,y=4310..10903,z=77438..92107
on x=-85981..-63107,y=2263..21108,z=27866..47309
off x=-23339..-4819,y=-51522..-43086,z=-80984..-57493
on x=-80721..-75279,y=-13399..5890,z=6038..32519
off x=-4839..4185,y=42901..53425,z=52703..69554
off x=-63892..-31605,y=-56660..-42554,z=22041..56754
off x=-61974..-48179,y=-76512..-48649,z=19449..28897
off x=52908..86032,y=-40433..-26401,z=18629..35218
off x=-73770..-61498,y=-22285..-15190,z=15118..47822
on x=-26995..-225,y=36166..64844,z=52253..69697
on x=-40432..-19434,y=28105..55728,z=45417..66440
on x=-36183..-5691,y=2779..35551,z=74466..87231
on x=-24042..-7050,y=-38745..-17947,z=71254..91570
on x=64292..82292,y=8725..38040,z=16406..46007
on x=57881..83142,y=-32026..-25553,z=-12007..9727
off x=-60455..-40678,y=-855..18270,z=-54122..-37486
off x=34796..51886,y=47838..54855,z=-59782..-36447
off x=27962..53686,y=-65713..-39620,z=-39332..-24577
off x=23257..38929,y=68865..81212,z=-2301..7985
off x=-28125..-11560,y=65596..78401,z=6019..27451
off x=-35635..-9089,y=-63378..-32616,z=52224..70756
off x=-51366..-40609,y=42282..59056,z=-53065..-31525
on x=-65517..-53788,y=45653..57602,z=-9739..5684
off x=9928..30886,y=55791..63498,z=39507..58962
on x=20773..33156,y=-66617..-45193,z=-55674..-38600
off x=-19345..15432,y=-49640..-29673,z=45268..77586
off x=-37554..-4675,y=-83671..-65891,z=12746..37002
on x=7340..30039,y=26358..37183,z=-72501..-56224
off x=23682..38691,y=-57390..-41912,z=36898..59852
off x=37320..53907,y=-37056..-30571,z=-68192..-42459
off x=76347..91710,y=-14687..16646,z=-25859..-5873
on x=10847..41288,y=-91590..-58641,z=15651..35606
on x=-3833..3543,y=-29112..-2048,z=69842..91959
off x=69115..95898,y=-25974..-2038,z=-4973..3980
off x=39989..66412,y=-55818..-49092,z=3921..28857
on x=-31644..-6237,y=7358..28925,z=73970..84934
off x=-15542..-4489,y=61337..76684,z=-41765..-29786
off x=-52932..-51838,y=21389..25746,z=49616..71107
off x=-91328..-65484,y=-7351..22080,z=11605..46924
off x=26027..32857,y=58474..78674,z=36221..62891
off x=-26694..-12337,y=56020..70984,z=-50254..-30734
on x=-74728..-50762,y=49755..73800,z=-887..19784
off x=11750..40798,y=5403..34501,z=69392..76971
off x=-39481..-24584,y=-70257..-44782,z=-51748..-21001
on x=-16041..6369,y=-15349..-1878,z=-82221..-72485
on x=-26734..-13763,y=-39372..-13681,z=61820..76267
off x=-3367..7668,y=46321..72714,z=-69036..-53898
on x=-15257..-3788,y=19261..25499,z=-75959..-59000
on x=23102..56887,y=50179..87663,z=-7946..18812
on x=-40390..-20111,y=-33493..-11133,z=-75926..-62093
on x=5722..27917,y=-88605..-65010,z=-9730..6950
on x=-760..25848,y=-43841..-27183,z=-73637..-58524
on x=-11739..10211,y=2568..29021,z=65720..78213
off x=-71222..-55392,y=-13076..5838,z=42985..52804
on x=18279..38683,y=-25545..1289,z=58367..91219
on x=-70367..-62420,y=22678..57526,z=-25443..-2114
off x=52159..80534,y=-35573..-32955,z=-28539..-5813
on x=46209..52888,y=54145..79273,z=8459..31178
on x=-78062..-41769,y=-43142..-26892,z=28495..50400
on x=23299..32235,y=-77803..-61730,z=4898..28371
on x=-17235..14679,y=-61639..-27409,z=-72401..-59482
off x=54590..78944,y=-25301..2668,z=14280..43390
off x=-56259..-38764,y=-70482..-39475,z=-47107..-31976
on x=-45205..-34148,y=-81460..-58216,z=22465..49489
on x=-21779..-9350,y=6017..19432,z=-77323..-70204
on x=58226..72150,y=-61315..-36618,z=-15388..15652
on x=-48752..-28573,y=-67697..-60024,z=-32021..-22511
off x=43704..67741,y=38024..65329,z=8318..33137
on x=-77517..-52505,y=29349..57611,z=-41988..-23676
on x=-27878..-6554,y=-88564..-51459,z=-37415..-29030
off x=67651..85341,y=-31556..-19564,z=-40554..-13758
off x=43857..71515,y=-34759..283,z=36263..60654
on x=-32227..-8515,y=-53304..-39055,z=-74694..-49222
on x=-69040..-42013,y=-81201..-46547,z=-3366..5445
on x=-61411..-46616,y=58820..77348,z=-7626..13600
off x=-41475..-28755,y=27623..55447,z=47265..74316
on x=-75096..-46289,y=23758..44103,z=31640..48277
on x=-54799..-33455,y=39873..75938,z=-43929..-27506
off x=-43241..-22153,y=-27047..-185,z=-74727..-63620
on x=-47646..-22540,y=2352..5448,z=50643..86636
on x=21369..38066,y=-89655..-58838,z=-8317..12371
off x=-20000..1689,y=56945..74646,z=35179..51812
off x=30874..47890,y=-76709..-52956,z=-33033..-4279
off x=-35411..-12807,y=-83057..-59139,z=7854..26851

5
data/day_23.txt Normal file
View File

@ -0,0 +1,5 @@
#############
#...........#
###C#D#A#B###
#B#A#D#C#
#########

252
data/day_24.txt Normal file
View File

@ -0,0 +1,252 @@
inp w
mul x 0
add x z
mod x 26
div z 1
add x 10
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 2
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 14
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 13
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 14
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 13
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 9
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 10
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 15
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 3
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -7
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 6
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 11
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 5
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 10
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 16
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 1
add x 13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 1
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -4
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 6
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -9
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 3
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -13
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 7
mul y x
add z y
inp w
mul x 0
add x z
mod x 26
div z 26
add x -9
eql x w
eql x 0
mul y 0
add y 25
mul y x
add y 1
mul z y
mul y 0
add y w
add y 9
mul y x
add z y

137
data/day_25.txt Normal file
View File

@ -0,0 +1,137 @@
>v...>vv>>>...v.>>..>v>vv.v..vv..v>>.v....>v.v>v>vv.v>v..vv...v>..>v...>..>....>.>.vv.v..v.v...vvvv.vv.vv.v>>v..>...>.>.>..>v.>.>..>v.>>.v>
v.v.v.>>>..v.v...v>>v.v.>v..>v>v...>.v..>...v.>.v.v...v.v.v>.v>vv....>.v.>v.v>v.>>........>>..>.>.....vv...>..v..vv>.>...vv.v>>...>vv......
vv...>v...>v>v>..>>v.v.......>>vv>..v.....vv>..v>>....>v.v>v>vv..v.v..>.v.vv...>v...>v>.v...v....>.>.....v.>v.>.>.>.>.>....>.v...>...>.vvv>
.vv>..v.v...>.>...v>.v>v.>>.>.v.vv>.>vvv>vv.>v...>v.v..>.v...>...v.>>vv..v.vv.>vv.>>v....v.v>>.>>vv....>...v.>.>.>>.v>.>..>vv>.....vvv.....
>>v....v..v.>.>..vv.v>..>vv..v.........>v>>...vv>..>...v.>>>v..>v...v...v..v..vvv.>>vvv..>>..>v.v.v.v>.v>v.v>....>>vv.>>.>..v>...v....>..v.
>.>..>.vv.vv>>>vv..v.>>.vv..v>...>..vvv>...v..>>..vv..>v..v..v.v>.v..>>.....>.vv.>.....>..>>..........>.>>>...v.>.>>.v>.v.....v>>vv.v>.....
.>.v..v.>...v>>vv.>.>.>.>v...v.>.v..v.>..v>...>>>..v.>...>v.v>.>..v.vv...>v.v.v.>....>v.vv>...vvv.v....>.v.>.vv>...>.....>.>vvvv.v...v..v>>
.....>>>>...v.vvv.vv.......v..v.>.v>.>>.v.....vvv.v>v.vv...v....>>.>.vv.>..>v....vv...>v.>v..v>.>....v..v>>v..>.>...v..v.v.>..>v..v.v>.v...
.>>..>v.v..v..>.v....v.v..>.v.v>..v.....>>.>v.v.>.>..>.......>>..vv>.vv.v.v..vv....>v>v>...>....v...vv...>.v..v.>..>>.v...>.v...vv...v>>vv>
..>.v..v....vv>.>.v...>v.vv>vvv>.>..>.>.v.v>vv.v..>>>..v....>..vv>v.>v>.>vv.v..v>>.>.v>...v.vvvv>>.>.v....v.......>>.vvvv>.>v>>>>>.>v..>>>v
v>..>vvvv.>v.......>.v>.vv>...v>.>v>>..v.v>v..v>>.>>.>>>vv..>...v...........>..v>.v.v.>....v..v.v>.....v>.v.>....v>>.v>v....v>>v.vv..v..v..
.>.>>>>>.>........>..vvvv.v.>>v>>>.v.>..>.v.v...v>.>.>.v.>..vvv.>.v>..>.>.>....>.v>vvvv>.v.>..v>>>.>.vv>.>>v.vv>v>....v..v>.>vvv...>.>....>
>..>v.>>>vvv...vv>vv>vv..v.>.v...vv.>>.v>>>.v.v>..>.>...v>..>v.v>>>>..>.>v.>>.v>.vv.>vv.>.vv....v>v.vv.v>.vvv>....>.v>.vv>v>>..>.>.......>v
v....>vv.v.......vvvv.>>..>>vvv..>>>v...>v>...>>..>.v...v.vv.v.>v>...vvv.....v.>..>...v..v....>>.>.>v>.v...v.>.v..>v>v..v.>.>.>v.v.>....>.v
v...vv..v>.v.v>>...v..............v>..v>>>..v>....vv...v..>>...vv>...>v>>..vv>vv.....v>..v...>.>.v.....v.v...>.v>..>..>..v..vv...>>.v...>.>
>>vvvv.>...>v.v.v.vv.>.>.>.vv...v>.>.v.>...v>v>.>.vv>vv>v.>.>>....vvv.>v.v..v>v>....>>..>v>..>....vv>......v.>vv.v.v.v.v>>..>.>.v>.v>vv.v..
.v..v>v.v.vv.v.vvv>.v.>v.v..v..v.vv...>>vv.>>..>v.>v.>.....vv.>v..>.v.>.v..>...>v>vv....>.>vvv>..>>..v..v.>>v>v.>>v>.>v..v>...v..v>.v...v>v
>.v.>...>..>vv...vvv.>.v.>.>v...v.....v>>>.v..>..vv...>>>..v.>.>.>.>>>.....>>..>.>.>...>.>>.vv..>.....>..........vvvv.v.vv.vv..v>>.v>...v..
...v>v.>>..>v..>v>v.v..v.>.>.v..>vv>...vvv....v....>>>.v..>..v>>>..v....v.>........>...v>...>>>.>v...v>v>>..>>.>>vv>.vv.>..>>>.v>>.>..v....
v.v.>...v...>v.>>>>>.v.>..>.v.>..>>vvv.>>>v.>vv....>.>..>..vv.>..>v.>.v.v>vv....v>.>.v..>....vv.vv..v.....>.>v>...>........>v...v..v>>v>...
v>.>.>..v>.>>v>...v..v.>.>>.>....v>.>v.v.>v.>.vv.....v>v.>.v......>.>v.v>.v..>.v..v.>v.>vvv>vv.v....v.v>....v>vv...>v>v...>>....>.>.>vv>.>.
.....>....v...v.....>>>.>......v.>>v.v.>..vv>..v..v.v>..v>.>..v>.>vv..vv..v.v>>>v.>>>..>>.>.v.v......v.....v.>...vv>>>.>.>>>.>>vvv..>>v....
.v...v...>.....v>>.........v.>>>v.>.v..>>v>.v.....>.>.....v>.>..v...>..>.vvv.>>.v.>v>..v.>>..>.>v>>>>.>.>v..>>...>v..>>..v.v>..v.>....v...v
.vv.>..v.v>..>v..>.v>>.vvvv>>..v>.v.v>.>v>..>>.>....v.v.>v>...>v>vv>....v..>.>.v.>>.v..v>vv>>.>.v..vv.v.>..>.vv.>v.....v>>.v>.>>>v..v..>.v>
.>.v.>..v.>.v>v.>>.v>>...v>.>v.....v..v.v.v>>>..v>.>>>>....>v.>.>.>.>..v..v.vvvv>>v.v>.>v....>.>.>>.>>.v..v.....v>v.>.>vv>.v.vv>.v.>vv.>v>.
>>..vv.......>v>v.v......>..>..>....v>v..>vv>v..>..>v>.v...v>.>.v..v>v>v>.vv.v>v.>..>..v>v..>...>..v>....v...>v.>...>v.....v>v..vvvv>v>.v>.
.>>v>.v...v.vvvvvv.v>.>.>..>.v...>..v.>>v.>v.>>..v.>>>v>>v.>.>.>v>..vv>vvv.v.>..>.>>v.vv.>>>.>>>.vv.>..>>..>v.v>>>vv.>>>vv>..>.>...>.>>>>>.
.....>..v.>vv>vv.vv>v.>v.v....v>.>.>v......>...v>>>v.>...>.v.>v.v>.v>......>>.....v.>v>>......v..>>.>.v.vvv.>v...>...v.>v>v..>.>.v>..>vv>>>
v...>v...v>>v.v.>>>>...>.v..vv.v.>>..>.>vvv.>..>.v>..>..>vvvv>.>>...>v...>...>.>.>.v>v..>.v>...vvvv>.v>>.>>.v>v>>.v..v...v>......v.vv...v..
.v>>v>.vvvvv>>....v>v....v.>v.vvv>vv..>...>.>.v..>>v..>>.>...>>>...v.v>.>>.>.>.vv.>>.....>..vvv>v..>v..>.....>.v.vv...>>v.v....v....>.v.v.v
v...>.vvvv..>v...>.v...>>.>.v.>>v>...v>..v>>.....>>v....>>>>.v>>.v.v...>.>v..v..v...v..v.v>v>.>..>vv.>.....v>vvvvv..v..>v>>v..>.>v>..>v.>>.
.vv..>>.....v.>.vv>.vv..>.vv...v.v>vv...>v>....>.v....v>v..>..vvvv>.>>...>..>.>.>vv>>.v>.>>vv...>vv.v>...>.>.>>v.vv.v.v>..>v..v>>..v>.vv.v.
v...>>>.>>>v>>...v.>>>>v...v..>.>.>.>.......>v.>....>>.>v>.v...>>vv>v.v...>>.>..v..vvvv>..>>.>>v.........>vv.>>..vv...v>....>v..v>>..>....>
.vv.v...v..vv.v.vvv..v>v>v>>.......>.v>v..>....v.>>>.vvv.v.>.>.>v>>.vv>..>v>.>>.>...>>>..v.>.>.>v....v>>.>.>.>v....v.v..>.v>.>vv.v..>...v.v
>.>.>v.vvv.>>.>>vv...v>.....>>>..>.....vvv.>.v>.>..v>.>.v...v.v>..vv.>>v>vv.>v.v..v.v..vv....>v>>>...v..v>.vv>v.....v.v.v.>.vvv>.v..v>v.>>.
.vv...v>.>.v>.v...>>.v..>v...>v.>>>.v.>.v.>..v.vv.>..>v>vv.>>v>.>vvv.>v>v.>.>.vv.v>>>.v>.v>..>..v..>vv....>>v.vv.>.vv.vvvv>.v.>>.>>>>>...>v
.vv....v>>.>...v....>.vv.v.....v>...>.v>vv.>.v>v>....>...v.v>.>.>.v..>vvv.>>.vvv..v>..v>.....>v>.>v>>>v>>............vv>.>.>>..vv.>..>...vv
....v.v..>v>>.v.v>>>v..v>.>.>>>>...>>..>>.v...v.v.>..v.....>.v.>>>.v.>vv>...>v>>.v.v.>..v.....vvvv...v.v>>..>>.v.v.>>.v.>>.>>.>...>>v....>.
v.>>>.v.....v...>.>.v>..v.vv....>..>>v.v.vv.>.v>.......>>>vv...v.v>.>.v>..v.v.>>...>v>>.>..v...>.v>v..>>...v>>.>.vv...v>.....>>.>>vv.....v>
.v.>vv.>.....>v>.v>.>vv>.v>...>.>>...>.>..>v...vv.>.vv.>vv.v.v.v....v.>>.>>..>v.....>v..>v>.>.>.>.vv....vv.>.v>>....vv.v>...v>..v.>v....vv>
..v.v.vvv>.>.v....v>v....>v...>>v.v>.......>..>.....>>v.>..v>>.v.>>>.>vv.v..v..v...v.v.v.>.>...v.v.....v.>vv>.>..v..v....vv>.>...>..>v.vv>.
>.>.v>.>.>v>v...>v..>.>.vv.vv..>>>.v..>>.v......>>.....v...>>vv>.>>..>.>..v.>.v.>>>.v>v.....>.>v>...>>>>.>v>.>...vv>>.>.vv..v>v.>.vvv>>>..>
.v..>..v>>......>..vv....>v.....vv..v.>v>v>.v...vv>v...>..>.v.......v>v..v.>.>>v>.v.>.>.v>.>>....v...v...>>...v.v..>>>v...v...v.v.>.>.>..>>
...>.>......>>v.vv..v>.v....>...v.>....v>.>.>v>.>.>...>.>.>v.....>>.>.>..>>..v>>>v>>vv.>.v..>.>.v.>.vv>.v....vv.>v>v>v.>..>.....>....>.>>>v
.>......>>.vv..v..vv>v.>...v...>..v>v...v>v>v>..vv>vv....v...>...v>v.>v>>...>..vv....>..>>.v.>..vv...>.>.>.>>...........v.v.>....>.>>..vv..
.......v...>>.>.>vvv.v>..>.v.......>v..>..v..>v>vvv..v.>>v.vv.v.>>>.>v>>.v.vv>>>v.....v.....v.vvv..>vvv.v>v....>v...>>....v.>..>..>.>v...>>
..v...>v>>>v>...>>...v....vvv.v.v.>..vv...>..>v.>.>>.>>>v.v.>.vv>.....v>.>..>>.v>>.>...>.v..>v>......v...>>.>v>......>>>.v>>..>....v>.v>v.v
v.v...>..>..>>...v>>.>..>..v>.>v.>>>vvv.>..>v...>v.v.>.>>.....>.>.>v.......v..v.v>.........>.v.>>.v>>....v.v...v.>v>>vv......v..v.v..vv.v.>
.v.v.>..>..v...>.vvvv>.v>>..>.>.v..v.>>..>.v>....>>v.v.v..vv...v>>v...>...>.>.>>v>v.vv..vv>..v>>>..>.v.......v.>v>v.v..v.>>v>....v>>...>...
v.v...>..v.....v.>...>.>.v.>......v......v>.v>..v.......>>.v..v.v..>v..v...>.>...>.>>>.....vv>.>>.v..v.>vv>vv>..vv.>.>.>.>..>>.>.v....>>>>.
>>v.>>....>.>v..>.v>vvv>.>>>.vv>.>>...vv.v...>>v>>.>vvv..>>.>..vv..v>>..>vv>v.>>.v...vv..v..v>v....>...v.>.v.v>.>vv>..>>vv.>.vv.v>..>.>>...
v>....>.>>..>>vv..v...>v..v>.v...>>.>v>.v.>>v.>.>vvv>.>.....v>.vv.>.v>>.v>v.vv>..vv.vvv>.v>>.....v>.v....>..>..v.vv.v...>......>...v..>..v.
...>>.>v...v>>>.v.v.>v.>v..v.>v.v.>v.>v>...v.v.v>vv>.>>..>.>vv.>.......>.....>>>.v>.>>v>v.>v...>.v..>v...v..vv>.v...v..vv>....>>>.....>v.>>
....v.....vv>>....v...>...v...>.v.v>v>>v..v>.>>.v.>>v>.....>>>.>.....>...>..v......v.....>>>...>>>.v>....>v>.vv>v.vv.>.....v.>v.v>..>...>..
>...>vv..vvv..>..v.>>>.>v.>>..>v...v....>v.v.v>...>>v>.v.>>>....>>..>v.vv...v>.>>..v.v.v.....>>>.v>...>.>vvv...vv.....>...v>..vv.>>..v..v..
.v....>>v.>>>.>.>...>v>.v>..v>.v>.vv..>.>....>.v..v.vv.>.>>.>.v>....>..>.....>.>vv.>.vv..>......vv.v>.v>>>vv>..>.>...vvv.>..vvv.>>....vv.v.
>...>>..>.v..>.v.>..v...v..>>v...v>.>..>..>.vvv..vvv.v>.v..v.>.v.....>.....v.>.v...>.....v.v>v..v.v>...>..>.v..>v.vvv>.v..v>vv...v.>.vvv>>v
.>.v.>>v.v..v.>>>>......>>.v.>..>v.v..>........>.>>>v...v...>...>...v>..>.v...v.vv.v.>v..>v>...>v.....>v..>...>....v>>..v>>v>.v>>>>v...>>.v
vv...v>.>.v.....vv>>v.>.v....>>v>>.>.>.vv.v.v...vv.v.vv>>.>....v>.v.>.v.v.v.v>v..>.v>..v.v>>vvv..v..>.>vv.>..>..>>.>>...>.>v>>vvv..>v....>.
...>>vv.>v..vv.>>..>..v>.v...v>v>...v>...v.vv.>......vv.>>vv.>v>.v>..v>>..v...v>v>v.v.......v.>.>>.....v...>v..>>>.vv>v>..>.>v...>>..vvv.v.
...v..vv>v.>.vv>.>..vv.vv...>v.v.>v>.v.v..v>.v....vv.v.v..>.>>...>v.vv.>...>.v..v>v>>vv.v....>....>vv.>.vv..>.v.>>>v.>..>>v..vv....vv..>>v.
vv.v...v...>>v.v...>.>.......>..>..vv>v....>vv..v....v.>vv.>.>..>v.v.v>..>...v>.>.v..>..v>>vvvv..>v>...>v>.v>>>...v..>.>vv..v>>>....vvv..v.
.>>...vv.>.>v....>v.>>>.>.>.v.>...vv.vv.....vv.v>v....>v.v..>.vv>>>.v.>.v.>v>.v.v>....v.v.v..v.>.vv.v>v.>.v.v>>v>v..v...>..v..vv...>vv>.>v>
>vvv...>.vvv.vv>v.>....>.>>....>>.>.>>v.....>v.v.v.>.v.v>.>v..>.>..v>v...>>>>.>vv>v.vvv.>vv>v....v>>>.v..>.v>vv.......>....vv>>.>>.v..>v..v
.v.vv.>..v.>v.v.vv....>>>..v.v.>>v.>.>...v.v>v>v.>>vv..v.>...vv>.v...v...>...>..>v..v..v.>>v>>..>>>>>.>>.....v.vv..vv.>.vv..>.v>...v>.v.>>v
.v.>.>v.......>v.>>>..>.>>>.v.>.>...vv>v..v..>.v...v.....>.v>.>.>>>v.>.v..v.vv..>.v.vv.>>.v.>...>v>>..v.>......v...>.>..vv.vv>...vvvv.....>
.v.vvv.v>v..v>...v>vv>>>>vv.v>...>.vv.v.>..v>..>....v>v.v....vvvvvv>>..v...>>>vv.....v.>vv.vv.vv>.vv>.>>.>..>......>.>...>.v.v.v.>v.>>..v>.
>v..>vv.....vv.v.v.v>.>v>>vv>>>.vvv..v>...v>...v..>v>v.>...>..v.>v...vv.>v..v>.v.>....v.>.>>..>.v.vv.>..>...vv>v.>.v>vv.>>>vv..>.>>..v..v>.
>..>>v>>>v>.vv.>>.v...v.>.>vvv....v.>.v>>.>...>>.vv.v>.v.vv>v...>..v>...>.>>.v.....v..>..v.v>...vv>v>v...v.>..>v>>v.>.>..v>..>..>..>>v.>.v>
>.>..>>..v>v.v>v.v>..>>...>.vv...>.>>.vv>.....v...vv......>v.v.>.>.v..v.v.v.>>>v.>>>v.v>.v>v.>v..>..vvv.>>>v....>.>v...v..>......v...v...v.
>v>>>>.>v.v.>vv..........>v>vv..v......>..v..v..v.vv....v>v>>>v>v>>..v..>vvvv.>>>v.v..v.v.....>.>..>...vv>>v..v.v.>>v.>...v>vv..v.>.>>>vv>v
..vv...>...>v>....>..>v.>>vvv>.>.v>>..>.>>>>>..>vv>........>v.v.vv..vv>>.vv.>>>v>vv..v>>...v>>>.v...>....>>.>.v.v>.vv..>.>.>v.>..v...v>>>.v
v>.>.v>v>vv..v>.>.>..>>>>...v>.vv>>......v.....>....v.>.>.>..>..>.v......vv.v...v..v.>..>>.v>>.>.>v.v.>....>.v..v.vv.vv>v>>>v>>vv.>>.>.v>..
>..>.>....v>>v...v..>>v....v.>...v>.v>>...v.>v.>..>.v.v>vv.>.v..v.>..v.>vv.>.>.>>.>vvv.>.v.v>>>.vvv.vv...>.v>>vv.v>vv>v.....v..>.>.>>>vv>..
.....v..v.>>.vvv.>.v..v.>v.v.v..v.v..vv..>.v...v.>..>>v>v..v....>>.>..v...vv.v>.v.v>..>.>vv>..>>.vv..v.>v>v...>.v.>...vv..>>v.v>v>>.......v
v.>.v.v.v.v.v...>.v>.v>>v.>.>..>.....>>..>.>.v..>v>.v>vv>>..>.....>.vv..>..>....v>.v.v..v..>>v.....>....v>v>...v..>....>.>v..v..>vv.>.v.>>>
.vv.....>.vv....v.>.v.v.......v.>.vv>>>>..>vv..v.v..v>...>..>..v.v..>..>.v.>.v.>>......>v.>..v..v......>.>...vvv....>>......v>>..>v.>....>.
>v..v....>>>>.>......v>.>>.>v.>...v.v>>.v.vvv...>..v>>..v>v>>>.vv.>>v..vv.v>>>>v..>>>.vv.>>.v>...vv..>>.vvv.>.>>v.....>.>v>.v..v>.>>>..>.>v
v......>.>vv...vvv.>.>v.>v.v....>..vv..>...>>>>.vv>v.>..>.v>..>>...>>>....vv..v.v..v>v>......v...v..vv.....>.>>v.>..>>.>.v.vvvv...v>>>>v..v
.v>vv>>..>>.v.vvv>v.>>v.v.>.>.v.v>>>..>>..vv.....v....v.>.vv..>>v>.v..vv...v>.v.>vv>.v.>v>>>.vvv..>..vv.vvvv..v..v.>..>.v>>.v..>...v>...>>v
>..v.>..v.>v>>vv.>..>>vv.>v.v..v>v>>.v.>>>.>>vv..v.vv.>>>.vv.>...v.>vvv.>>v..v>v>.>v..vv>...>....vvv...v.v>>.v.>..>>v....v>>>....v.....>vvv
.>.>..vvvvv.v....>>.>v..>.>.>.vv.>v....v.vvv>v.....vv.>v>vv...>v>.>..>>>v.v..>v.v..>vv....>...v.>...>>....>.>vv.v>v>.v.vvv.v.>v.v.vvv..v.v.
.v....v>....vv.>vv.>>.v.>v.....>.v.......vv.>.>..vv.>v>....vv..v...>v>.v...v.v..>.>v.v>v>....v>....>>>....v>..v..>..v..>>>....>>v>>.>.>.vv.
..v.>.....>>.v....vv...vv.v.v>.v>>>vv>>v..>v.vv.v>.>>.v>v.v.>..>.>v>...v...>.v>....v>....>>..vv.v>...vv.>.v..>>.v>.>>..>>.>vvv>>..v.>vv..v.
...>vv.>.v...>v.>>>..v>.v>..vv..>v...v....>v...>>>>..>>>>.v.>>...>v.vv.v>>vvv.>.>>.>.>..v>..>>.>v.vvv>..v>.>v>.v.>..v..>vv>....v>....vv.>.>
...>>v.>.vvv>..v..>>.vv....>v.vvv..>v.vvv..vv..v.>...vv..>v.>..>.vv...vv.>..>>.>vv>.v.v.v>...>..v>>>..>>>>..>v>...>.>.v..v...>v>.v.>>.>.v.v
.v.>v>>..>v..>.>>...>..v.v...>>>>v.v....v.>.>>vv..>.>..>.v>......>>>..vvv.....vvv.v>vv....v.>>.v..>..>>.>v.>>v.......v....v>.v...>.>>>.vv.>
>v.v>.....>.>...vv..>v..vv.>>v..vv>>.vv>.>>.>v...v.v..>...v.>v>>v>...v>>>v>>..v.....>..v..>.v...>.>>.>>>.vv>>...v...>v>>.>>v.v....>>>..v...
....v>v...>v>..>.>>......>.vv.>..>>v.v..v>v.>>v>v>.vv.v.>.vv..>..v>........>.>....v..v>.....vv>v>...>.v>>.v.>.>.....>>>....>>>.>..>.v...vvv
.>v.v.>>>.v.v>.v......vv>>v.v...v>>.v>v.v>..>>..>..vv>...>v....v>.>.>..v.v>vv..v>v....vv...v....>>...v>>.v.>>..>vv>.>...>...>..>v...v>>v>>v
>v>..v.v.>.vv.v.>..vv>...v.>..vv.>vv..>..vv..>v..v.vv.>>v..v>>..>vv.>.v>vv>...>..>vv.v>.vv>.>...>v>v.v>...>..>.>.>v.v>>..v.v>>v.vv>.v>.v...
v.>>...>>..vvvv>.v.>>>v>..v>>.>..>.>>.vv.vv.>vvv..>....vv>.vvvvvv.>>....v>...v>.vv>v.vv.v>...>v>.........vv......v>vv.>v.v.v..v>.>..vv.v>v.
v.>..vv...v.>>.v.>>.>.>>v>.>.v.vvv.>.>v>>...vvv>....>>..v>vv..>>v...v>>v.>>vvvv..v.>v.v>v>v..>v.v.v>...vv.>.>..v...>v>..vv>v.>...>...v.>.>.
>>.>.....v..>.........v..>.v>>v...v..>>.v.>.>v.>v>v.>>..>.v...v....>v.v>.>v.v>.>vv>v>vvv.vv.v>....v>vv..>..>.>.....v.v.>vv.v.>..v.v.vv.v.>v
.>>..vvvvv.>v>>.v.v>>.vvvv..v...v.>.vv.v..v>>....v.vv>..>...v..vvv>>>..v.>.>.vv>>.vvv>...v>>..>v...vvvv>>v>..v.>v.>.v.v..vv....>..v..v....v
.v.>..>.v.v..>v...v.>v>..v>>>.vv.v..vv>......>......>.>>..vv.......>...vv.......>....>>..>..v...>..>vvv.....>...>.v>.....>.>....v..>..v>>>.
vv..vv.v..>>..v.>>>.>.>...v.v.>v..>.vv>..v.>vv.>.v...vvv>v...>..v..>>.>v.v.>v.vv.v>v>..vv....>.>...v.>.v...>.>...v.v....>....vv..>.v>>>.vv>
v.>.>......v....v>.>.>v...>.vv...>v.>...>..>.>vv.v..v>vv>..>>.>v...>>>>v..v..v..vv.v...>....v..vv.>>..v>.vvv>.>........>>..v>.>>.v..>..>v.v
..>>>v..v.v...v.....vvv..v.v.>.>.....>...>..>v>...>v>.v.>>>v.v..vvv...v.vvv>v.vv>.vv>.>>>>.>v>.>..v..>.>>>v..v.v>.v>..>.>v.>>.v....vv>>>>>.
vv..>..v>.....v..>v>>..>>..v...>..>..>.v>v.>>.>v>v.v...v>>>.v...v>...>..v.>>v.v...>>v>.v>......v..>.....vvvv..v.vvv...>....v..v.v......v.>>
>>..v.>..v..v>v...v....v....>.v.>.vv....>>.v.vvv.v>>....>>.....>...>vv..>...v...v>.v...v..vv.>.vv>.v..>.>.v..vv.v.>>.vv...v..>vvv>.vv..v>..
v>v.v>>>vvv...v..>>>>>...vvv>.>.v..>v.>>.vv.>.v.>.....>.>..v>..>>.>v>.vvvv....>...v>vvv>..v...v....>>.v.>.>>.v..>.v.v>...vv...v.....v...vv.
.v..>.vv>v..>.>>..v>..>....v.>v....v....>.>v>.v>..>>.>>v>..vv>>...v>.vvvv>v.vv>v>v.>>..vv>v.>.>....v>..>..>v.>..vv...vvv.v>>..>v>.>.>..>>..
....v.>..vvv.>>v...>...v.v..>..v>.>v.v>v>>.>.v...>vv....v.>..>>>v.....>...>vv>.......>v...v.v..vv........>vvv>.v>>..>.v..v.v.vv.>.v...v...>
>.>v..v..v.v>>>..>..v.>.>v..v.v>.vv..>.....>v.>...>.>>v.v.>.v....v..vvv.>.>>v...v>v....>v.>.>.>>.v.vvv...vv>vv...>>v..vv.v.vv.........>.v..
...>>...>>..>vv.vv.v..>.....>v.v..>v..v.v>.>....v..>..v>..>v.v..v.v>.vv>>v.>>...v>.vvv>..vv..>.v>..>vvv>>v.v>.>.v>v......v.....v....>vvv..>
>...>.vv>v.v..v.v...vv..v>v.vv....>>.........v>.v.>.vv.vv.v...>>>.>>>.>vv.>v...>..>..>.v..>>...>v.vv..v>vv...>>.v.v>vv..v.v>vv..vv.>>.v..vv
>>.vv.>.v.>v>.v.v.>.v....v...vvvvv>>...>.>v>..>...>...v.vvv.v..>v>v.>.>v..v.v.vv>.>..v>>.....v.vvv...v>v>...v.>>..>......>.....v...v...v...
...v..>>v..vv.>..>.>.>.v.>....v.v>>.>>>..>...>v.v.vv...>vv.>v.>.v...vvv....v>v.vv..vv..>...vv.v>..v......v>v>>...>>..>v>...>>>>vv..>.v.>.>v
.>.>v...>>.>..>v.v>.vvv>>.v>>...v.v>.v>..>v.>>v....>.v>vvv>....>>.>>>.v>>...>v>..>>>.>....>v...>>.>>.>......>..v....vv>...vv.v>....>>.v....
v..v..>.>>vv..vv>vv..>vvv>v.v.v..v..v.>v>>v>>..........v>>v.vvvv>...>vvv..vv>v...>.v...v.....>v..>>.>..vvv..v>..v..>>>>v.....v..v.>....>>.v
>.>v.>v.......>v>>.>..v.v....>>>.v>v>v..v.>vvv>v>>..>.>...vv>.v>.v>....>.v.>.v...vvv>v..v...>..>.>>v...>.>.......v...v....>vv.>..v.>>.>vv.v
..v>.....>......>>.v..v...>>..vvv.>.>.>....>.v>v..v....v>>.v...>v>..>.>v..v....>...>>.......v.v.v.v...>.>.v..v.>vv...v>.>>.>>...>....v.v.>>
v..>...vv>...>.>.....v..v>...>..>.vv>>v..>vv.vv..>v.v.v>.>>>>.>..>>>>>.vvvvv>>>..>vv.v>.v...v..>v.....vv..vv>>.v.>...v.vv...>.>.....>>vv...
vv>>vv.>v.v..>...v.>....>.>..>>>...>>..>.....>.v.v>.v..vv>....>.....>v.>..>.>v.vv..>v>.....v.vv.>..>..>..v.>v..v.v>v..>.....v.>...>..v.....
.v.>>....>>vvvv>>>..v>>v.>>.......>.vv>v.>vv.v>v.>v.>v..>>.....>v>v.>v>.....v..vvv..vv>.v.vv.vv..vv..>..v>..v.>.v.>>.v.>vv.vv>>...>..>.v.>.
vv.>.>.v>.>...vv>v>.v>.>..>.vv>.>>.v.>.v>...>..v..vv...vv.v>......v>>.v>.>vv.>.v>v.>>vvvvv>vv>.v.>v...>.v>..>.>v.v.v..v.>..........v..>>>.v
>..>.>v>.v>>>.v.v.v..>...>>>...>v.>.>>..>v.>.v...v..v.vv...>>>.v.v>.vv>>vv>..v.v...v.>>..v>vv..vv>>vv.>>>v.v....>..v.v.vv..v.v.>>v.v.vv>>..
..>>v.>.>.>.....>...>.v.>>.v....>vv...>vv.>.v....v.>.>>.>.vv.v>v.......v>.>......v>.>>.vv...v>...>.>...>v>>..vv..>.v...vvv>v>vvvv...>......
>.>.v..v....vv.>.>v.v..vv...vvv...vv..vv.>.>..vv.>.vv>..v>.v>v>v.v>.v......>>.v>vv.v>v.>>.>.>.vv>..vv>....vv>.......>v.>>..>>......v>>...>v
>.>..v.>>.vv.vvvv.v>vv....>.....>.>...vv.>.>..v.>vvv..>v>......>>vv..>v>>..v>..v.v.v>..vvvvvv>v.>>v>..>..v.vv.>..v>>...>..v>>.v>v.....>>v>v
.v.v.....>.vvv......v...>.v>vvv.....v>>....vv..v>v.v.v..v.v.>vv...v..>>v..>v..vvvvvv.v>vvvvvvv>..vv.v.v>.....>v>..v>.....>>.v>.vvv.vv.....>
v>>.vv..>v.>>..v.>.v.v.v.v..>v>v.>.>v.v..v.v>.v.v.v.....>...>.v>.v.>v..v.>vvv...>.v>v.vv.>.>vv>v>v>.....>.v.>vv.v.v>v>vv>v.>..vv>v...v.vv.>
.....v..v....v..v.>>vv.>>..>>>v..>v>.v>v>v>>v>v>.v>.>..vv>..>>>...>>>>..v.v.v>>v....>vv..v.v>.v>.v..v>v.>.v.>.v>v>v.>vvv.v..>..>>.>.......v
>>>vvv.v.v..>>v.v.>...v>>v>.>..v.v>>...v..>>>v.>>vv>>.v>v..>v>v.>.>.......>..v>.v...>.v..vv.>...>.vv...>...v.>.>v..v..v>.v.>>>>.>v....vvvv.
.>..>v>>.>v.>.....>..vv.>.>.v.v>>v.>v..v.v.>vv.vv.>.....v>>....>v>.....v.>vv..>>vvv>v>>.>.vvv.>v.>..>.v.v.v.v...v>v>.>v.....v>v..>>.>>.>v..
v.>>.>v.vvv..v.>>>......vvv.v.v....v>..v>>>.v.>v.>>.>>v.>>..>v...v>..v.v.>...>..v.>.....vv>v.v>v..>>v.>.v>vv.>v.>v.....vv.....vv>v..v.v>..v
v>>.v>.>.>>v>v>v.....>v>.......>..v.vv..v>>.>.>>.vvv>.v>>.>v..vv>v>v>.v.>.vv.>.>.>>v>>.>..v..v>v.v>>v...>>.v.>>..>>..v.>.......>..>vv......
.v..v.>.v>>..v>>v.v...v>.v.v>.....v.v....>>.v.>>v...v..v...>..>.vv.v>v..>.v>.....>....v...>.>.>....v..>vv.v.>......>v>...>.v.>......>..>...
...v>.>...v...vvv>>.>.......v>...>.>..vvv.>>....>.v..v>.>v.vv>v..>>.>.v>.v>v..v...v...>v.vvvv..>>..v>v>v..v>>...v........>.v..v....>>>>..vv
.v..>v.vvvv>......vv>vv....v..>v>>v.v.>v.v...v..v>.v.>...>.>.>>>...>>vv.>...>>..>v>.>vv.>.>v..v..v.>>v...vv.v.v>..>>.v...>v.vv>>.>v.v...>.v
.>v.>.>..v...>>v>.>.vv...>..vv.v...>>.v>v...>..>.>>>...>>....>v>v>v.>..vv..>...>v.vv..v.v.v..>>.....v>vv..>v.>>.v>.v.vvv.>>.>.>..v..>.v>.v.
.>>.>v...>vv.>>>..vvvvv.v.v..>.>>>vv.........>..>vvv...>>.>>....>>v.v...v>..v>v..>.>..v..>>..v>>vv........v>...vvv...>v..v.vv.>......>.>..v
v..v.v>.vvv.>>>>>......v>>v..>>.>..>.....vv>.v>>..>.vv..>.v.v>v>v..>...>v>>vv>v..>>v..v.v..vv>vv...>..v.>v>v>.>.>>>v....v.......v>..v...v>.
>>vv.v..v..>.vv.>v......>v..v.>v.v..vvvv...vv>v>..v>v>>..>.>..vv.>..>..>.v>>>vv.>.....v>v>...v>.>.>.v.>>.v.>vv>vv...v.vvv>v..>.v>vv..v..>.v
..>.....>>v..>vv.>>..v.......v.....v..>v>...>v>.........>>.v..v>>v.vv.>v>>>...v>v....>vv.vv..v.v..>v>..>.....>>>.v.v.v.vv>v....vvv.v.v>..>>
..v.v..>..>v>>.v>...>...>>v>>...>.v.v....v...>.>.vvv>..>.v..v>>v>vvv>.>....>v.>....>.v..v....>......>...>.>vv...v>>>..>>..v.>>>>.v.v>vv>.v.

View File

@ -23,7 +23,6 @@ function p1(input::Vector{String})
end
function simulate(position, score, mul, scores)
length(scores) == 0 && return
s = popfirst!(scores)
for (throw, chances) in [(3, 1),(4, 3),(5, 6),(6, 7),(7, 6),(8, 3),(9, 1)]
position2 = (position + throw) % 10
@ -42,9 +41,9 @@ end
function p2(input::Vector{String})
p = prepare_input(input)
s1 = [ [0,0] for _ in 1:21 ]
s1 = [ [0,0] for _ in 1:11 ]
simulate(p[1], 0, 1, s1)
s2 = [ [0,0] for _ in 1:21 ]
s2 = [ [0,0] for _ in 1:11 ]
simulate(p[2], 0, 1, s2)
w1 = sum(map(x -> x[1][1] * x[2][2], zip(s1[2:end], s2)))

58
src/day_22.jl Normal file
View File

@ -0,0 +1,58 @@
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
import .Aoc: @aoc
using Pipe: @pipe
function prepare_input(input)
out = []
for l in input
on = l[1:3] == "on "
n = split(l, ",")
cords = [ parse.(Int, match(r"(-?\d+)\.\.(-?\d+)", r).captures) for r in n ]
push!(out, (on, cords))
end
out
end
function p1(input::Vector{String})
list = prepare_input(input)
dict = Dict()
for (on, range) in list
xmin = range[1][1] < -50 ? -50 : range[1][1]
ymin = range[2][1] < -50 ? -50 : range[2][1]
zmin = range[3][1] < -50 ? -50 : range[3][1]
xmax = range[1][2] > 50 ? 50 : range[1][2]
ymax = range[2][2] > 50 ? 50 : range[2][2]
zmax = range[3][2] > 50 ? 50 : range[3][2]
for x in xmin:xmax, y in ymin:ymax, z in zmin:zmax
dict[(x,y,z)] = on
end
end
return sum(collect(values(dict)))
end
function p2(input::Vector{String})
list = prepare_input(input)
cubes = []
for (on, ((xmin, xmax),(ymin, ymax),(zmin, zmax))) in list
for i in 1:length(cubes)
(xmin2,xmax2,ymin2,ymax2,zmin2,zmax2) = cubes[i]
if xmin > xmax2 || xmax < xmin2 || ymin > ymax2 || ymax < ymin2 ||zmin > zmax2 || zmax < zmin2
# new cube does not intersect with the current one
continue
end
# the new cube intersects the current cube, mark current cube for removal and divide it into smaller cubes that dont intersect the new cube
cubes[i] = nothing # unset the element to keep positions constant fo ths step
(xmin > xmin2) && push!(cubes, (xmin2 , xmin-1 , ymin2 , ymax2 , zmin2 , zmax2 ))
(xmax < xmax2) && push!(cubes, (xmax + 1 , xmax2 , ymin2 , ymax2 , zmin2 , zmax2 ))
(ymin > ymin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymin2 , ymin - 1 , zmin2 , zmax2 ))
(ymax < ymax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymax + 1 , ymax2 , zmin2 , zmax2 ))
(zmin > zmin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmin2 , zmin - 1))
(zmax < zmax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmax + 1, zmax2 ))
end
on && push!(cubes, (xmin, xmax, ymin, ymax, zmin, zmax)) # Add cube if on
filter!(!=(nothing), cubes) # delete the unset elements
end
sum([ (xmax-xmin+1) * (ymax-ymin+1) * (zmax-zmin+1) for (xmin,xmax,ymin,ymax,zmin,zmax) in cubes ])
end
@aoc(2021, 22)

17
src/day_23.jl Normal file
View File

@ -0,0 +1,17 @@
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
import .Aoc: @aoc
using Pipe: @pipe
function prepare_input(input)
zip(match(r"(\w)", input[3]).captures, match(r"(\w)", input[4]).captures)
end
function p1(input::Vector{String})
rooms = prepare_input(input)
@info rooms
end
function p2(input::Vector{String})
end
@aoc(2021, 23)

51
src/day_24.jl Normal file
View File

@ -0,0 +1,51 @@
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
import .Aoc: @aoc
using Pipe: @pipe
using Memoization
function calc(i, w, z, add_x, add_y, div_z)
x = add_x[i] + (z % 26)
z = z ÷ div_z[i]
x != w && (z = z * 26 + w + add_y[i])
z
end
@memoize function find_solution(i, z, add_x, add_y, div_z)
(i == 15 && z == 0) && return [""]
i == 15 && return []
x = add_x[i] + (z % 26)
possible_numbers = collect(1:9)
x in 1:9 && (possible_numbers = [x])
out = []
for num in possible_numbers
nextz = calc(i, num, z, add_x, add_y, div_z)
nextxs = find_solution(i + 1, nextz, add_x, add_y, div_z)
for x2 in nextxs
push!(out, string(num) * x2)
end
end
out
end
function p1(input::Vector{String})
add_x = []
add_y = []
div_z = []
for (i, l) in enumerate(input)
(contains(l, "add x") && !contains(l, "add x z")) && push!(add_x, parse(Int, split(l, " ")[3]))
(contains(l, "add y") && ((i-1) % 18 == 15)) && push!(add_y, parse(Int, split(l, " ")[3]))
contains(l, "div z") && push!(div_z, parse(Int, split(l, " ")[3]))
end
@info add_x
@info add_y
@info div_z
solutions = [ parse(Int, s) for s in find_solution(1, 0, add_x, add_y, div_z) ]
minimum(solutions), maximum(solutions), length(solutions)
end
function p2(input::Vector{String})
"P2 solution is part of P1"
end
@aoc(2021, 24)

37
src/day_25.jl Normal file
View File

@ -0,0 +1,37 @@
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
import .Aoc: @aoc
using Pipe: @pipe
using Memoization
function p1(input::Vector{String})
grid = [ collect(l) for l in input]
steps = 0
while true
steps += 1
moved = false
tmp = deepcopy(grid)
for y in 1:length(grid), x in 1:length(grid[1])
if grid[y][x] == '>' && grid[y][x%length(grid[1])+1] == '.'
moved = true
tmp[y][x%length(grid[1])+1] = '>'
tmp[y][x] = '.'
end
end
tmp2 = deepcopy(tmp)
for y in 1:length(tmp), x in 1:length(grid[1])
if tmp[y][x] == 'v' && tmp[y%length(grid)+1][x] == '.'
moved = true
tmp2[y%length(grid)+1][x] = 'v'
tmp2[y][x] = '.'
end
end
!moved && (return steps)
grid = tmp2
end
end
function p2(input::Vector{String})
"Day 25 has no Part 2"
end
@aoc(2021, 25)