Browse Source

Add solution for day 22

pull/1/head
Maya Herrscher 3 years ago
parent
commit
805d09a907
  1. 188
      AoC2021/challenges/challenge22
  2. 91
      AoC2021/code/AoC22.py
  3. 420
      AoC2021/inputs/input22
  4. 4
      AoC2021/inputs/test22A
  5. 22
      AoC2021/inputs/test22B
  6. 60
      AoC2021/inputs/test22C

188
AoC2021/challenges/challenge22

@ -0,0 +1,188 @@
--- Day 22: Reactor Reboot ---
Operating at these extreme ocean depths has overloaded the submarine's reactor; it needs to be rebooted.
The reactor core is made up of a large 3-dimensional grid made up entirely of cubes, one cube per integer 3-dimensional coordinate (x,y,z). Each cube can be either on or off; at the start of the reboot process, they are all off. (Could it be an old model of a reactor you've seen before?)
To reboot the reactor, you just need to set all of the cubes to either on or off by following a list of reboot steps (your puzzle input). Each step specifies a cuboid (the set of all cubes that have coordinates which fall within ranges for x, y, and z) and whether to turn all of the cubes in that cuboid on or off.
For example, given these reboot steps:
on x=10..12,y=10..12,z=10..12
on x=11..13,y=11..13,z=11..13
off x=9..11,y=9..11,z=9..11
on x=10..10,y=10..10,z=10..10
The first step (on x=10..12,y=10..12,z=10..12) turns on a 3x3x3 cuboid consisting of 27 cubes:
10,10,10
10,10,11
10,10,12
10,11,10
10,11,11
10,11,12
10,12,10
10,12,11
10,12,12
11,10,10
11,10,11
11,10,12
11,11,10
11,11,11
11,11,12
11,12,10
11,12,11
11,12,12
12,10,10
12,10,11
12,10,12
12,11,10
12,11,11
12,11,12
12,12,10
12,12,11
12,12,12
The second step (on x=11..13,y=11..13,z=11..13) turns on a 3x3x3 cuboid that overlaps with the first. As a result, only 19 additional cubes turn on; the rest are already on from the previous step:
11,11,13
11,12,13
11,13,11
11,13,12
11,13,13
12,11,13
12,12,13
12,13,11
12,13,12
12,13,13
13,11,11
13,11,12
13,11,13
13,12,11
13,12,12
13,12,13
13,13,11
13,13,12
13,13,13
The third step (off x=9..11,y=9..11,z=9..11) turns off a 3x3x3 cuboid that overlaps partially with some cubes that are on, ultimately turning off 8 cubes:
10,10,10
10,10,11
10,11,10
10,11,11
11,10,10
11,10,11
11,11,10
11,11,11
The final step (on x=10..10,y=10..10,z=10..10) turns on a single cube, 10,10,10. After this last step, 39 cubes are on.
The initialization procedure only uses cubes that have x, y, and z positions of at least -50 and at most 50. For now, ignore cubes outside this region.
Here is a larger example:
on x=-20..26,y=-36..17,z=-47..7
on x=-20..33,y=-21..23,z=-26..28
on x=-22..28,y=-29..23,z=-38..16
on x=-46..7,y=-6..46,z=-50..-1
on x=-49..1,y=-3..46,z=-24..28
on x=2..47,y=-22..22,z=-23..27
on x=-27..23,y=-28..26,z=-21..29
on x=-39..5,y=-6..47,z=-3..44
on x=-30..21,y=-8..43,z=-13..34
on x=-22..26,y=-27..20,z=-29..19
off x=-48..-32,y=26..41,z=-47..-37
on x=-12..35,y=6..50,z=-50..-2
off x=-48..-32,y=-32..-16,z=-15..-5
on x=-18..26,y=-33..15,z=-7..46
off x=-40..-22,y=-38..-28,z=23..41
on x=-16..35,y=-41..10,z=-47..6
off x=-32..-23,y=11..30,z=-14..3
on x=-49..-5,y=-3..45,z=-29..18
off x=18..30,y=-20..-8,z=-3..13
on x=-41..9,y=-7..43,z=-33..15
on x=-54112..-39298,y=-85059..-49293,z=-27449..7877
on x=967..23432,y=45373..81175,z=27513..53682
The last two steps are fully outside the initialization procedure area; all other steps are fully within it. After executing these steps in the initialization procedure region, 590784 cubes are on.
Execute the reboot steps. Afterward, considering only cubes in the region x=-50..50,y=-50..50,z=-50..50, how many cubes are on?
Your puzzle answer was 580810.
--- Part Two ---
Now that the initialization procedure is complete, you can reboot the reactor.
Starting with all cubes off, run all of the reboot steps for all cubes in the reactor.
Consider the following reboot steps:
on x=-5..47,y=-31..22,z=-19..33
on x=-44..5,y=-27..21,z=-14..35
on x=-49..-1,y=-11..42,z=-10..38
on x=-20..34,y=-40..6,z=-44..1
off x=26..39,y=40..50,z=-2..11
on x=-41..5,y=-41..6,z=-36..8
off x=-43..-33,y=-45..-28,z=7..25
on x=-33..15,y=-32..19,z=-34..11
off x=35..47,y=-46..-34,z=-11..5
on x=-14..36,y=-6..44,z=-16..29
on x=-57795..-6158,y=29564..72030,z=20435..90618
on x=36731..105352,y=-21140..28532,z=16094..90401
on x=30999..107136,y=-53464..15513,z=8553..71215
on x=13528..83982,y=-99403..-27377,z=-24141..23996
on x=-72682..-12347,y=18159..111354,z=7391..80950
on x=-1060..80757,y=-65301..-20884,z=-103788..-16709
on x=-83015..-9461,y=-72160..-8347,z=-81239..-26856
on x=-52752..22273,y=-49450..9096,z=54442..119054
on x=-29982..40483,y=-108474..-28371,z=-24328..38471
on x=-4958..62750,y=40422..118853,z=-7672..65583
on x=55694..108686,y=-43367..46958,z=-26781..48729
on x=-98497..-18186,y=-63569..3412,z=1232..88485
on x=-726..56291,y=-62629..13224,z=18033..85226
on x=-110886..-34664,y=-81338..-8658,z=8914..63723
on x=-55829..24974,y=-16897..54165,z=-121762..-28058
on x=-65152..-11147,y=22489..91432,z=-58782..1780
on x=-120100..-32970,y=-46592..27473,z=-11695..61039
on x=-18631..37533,y=-124565..-50804,z=-35667..28308
on x=-57817..18248,y=49321..117703,z=5745..55881
on x=14781..98692,y=-1341..70827,z=15753..70151
on x=-34419..55919,y=-19626..40991,z=39015..114138
on x=-60785..11593,y=-56135..2999,z=-95368..-26915
on x=-32178..58085,y=17647..101866,z=-91405..-8878
on x=-53655..12091,y=50097..105568,z=-75335..-4862
on x=-111166..-40997,y=-71714..2688,z=5609..50954
on x=-16602..70118,y=-98693..-44401,z=5197..76897
on x=16383..101554,y=4615..83635,z=-44907..18747
off x=-95822..-15171,y=-19987..48940,z=10804..104439
on x=-89813..-14614,y=16069..88491,z=-3297..45228
on x=41075..99376,y=-20427..49978,z=-52012..13762
on x=-21330..50085,y=-17944..62733,z=-112280..-30197
on x=-16478..35915,y=36008..118594,z=-7885..47086
off x=-98156..-27851,y=-49952..43171,z=-99005..-8456
off x=2032..69770,y=-71013..4824,z=7471..94418
on x=43670..120875,y=-42068..12382,z=-24787..38892
off x=37514..111226,y=-45862..25743,z=-16714..54663
off x=25699..97951,y=-30668..59918,z=-15349..69697
off x=-44271..17935,y=-9516..60759,z=49131..112598
on x=-61695..-5813,y=40978..94975,z=8655..80240
off x=-101086..-9439,y=-7088..67543,z=33935..83858
off x=18020..114017,y=-48931..32606,z=21474..89843
off x=-77139..10506,y=-89994..-18797,z=-80..59318
off x=8476..79288,y=-75520..11602,z=-96624..-24783
on x=-47488..-1262,y=24338..100707,z=16292..72967
off x=-84341..13987,y=2429..92914,z=-90671..-1318
off x=-37810..49457,y=-71013..-7894,z=-105357..-13188
off x=-27365..46395,y=31009..98017,z=15428..76570
off x=-70369..-16548,y=22648..78696,z=-1892..86821
on x=-53470..21291,y=-120233..-33476,z=-44150..38147
off x=-93533..-4276,y=-16170..68771,z=-104985..-24507
After running the above reboot steps, 2758514936282235 cubes are on. (Just for fun, 474140 of those are also in the initialization procedure region.)
Starting again with all cubes off, execute all reboot steps. Afterward, considering all cubes, how many cubes are on?
Your puzzle answer was 1265621119006734.
Both parts of this puzzle are complete! They provide two gold stars: **

91
AoC2021/code/AoC22.py

@ -0,0 +1,91 @@
#!/usr/bin/env python3
import sys,re
from collections import Counter
def parse(l):
return re.compile(r"(?P<mode>\w+) x=(?P<x1>-?\d+)..(?P<x2>-?\d+),y=(?P<y1>-?\d+)..(?P<y2>-?\d+),z=(?P<z1>-?\d+)..(?P<z2>-?\d+)").search(l)
def volume(k):
if k[1]-k[0] < 0 or k[3]-k[2] < 0 or k[5]-k[4] < 0: return 0
return (k[1]-k[0]+1)*(k[3]-k[2]+1)*(k[5]-k[4]+1)
def count_cubes(c):
o = 0
for k,v in c.items():
if v == 'on':
o += volume(k)
return o
def intersect(c1,c2):
x1,x2,y1,y2,z1,z2 = c1
lx,hx,ly,hy,lz,hz = c2
xos = max(lx,x1)
xoe = min(hx,x2)
yos = max(ly,y1)
yoe = min(hy,y2)
zos = max(lz,z1)
zoe = min(hz,z2)
return volume((xos,xoe,yos,yoe,zos,zoe)) > 0
#return (c1[0] in range(c2[0],c2[1]+1) or c1[1] in range(c2[0],c2[1]+1)) and (c1[2] in range(c2[2],c2[3]+1) or c1[3] in range(c2[2],c2[3]+1)) and (c1[4] in range(c2[4],c2[5]+1) or c1[5] in range(c2[4],c2[5]+1))
def split(c1,c2):
x1,x2,y1,y2,z1,z2 = c1
lx,hx,ly,hy,lz,hz = c2
xos = max(lx,x1)
xoe = min(hx,x2)
yos = max(ly,y1)
yoe = min(hy,y2)
zos = max(lz,z1)
zoe = min(hz,z2)
v = 0
for x in [(lx,xos-1),(xos,xoe),(xoe+1,hx)]:
for y in [(ly,yos-1),(yos,yoe),(yoe+1,hy)]:
for z in [(lz,zos-1),(zos,zoe),(zoe+1,hz)]:
v += volume((*x,*y,*z))
if volume((*x,*y,*z)) > 0 and (x,y,z) != ((xos,xoe),(yos,yoe),(zos,zoe)):
yield (*x,*y,*z)
def init(steps):
cubes = {}
for m,x1,x2,y1,y2,z1,z2 in steps:
if not (-50 <= x1 <= 50 and -50 <= x2 <= 50): continue
for x in range(x1,x2+1):
if not (-50 <= y1 <= 50 and -50 <= y2 <= 50): continue
for y in range(y1,y2+1):
if not (-50 <= z1 <= 50 and -50 <= z2 <= 50): continue
for z in range(z1,z2+1):
cubes[(x,y,z)] = m
return cubes
def reboot(steps):
cubes = {}
for c1 in steps:
m,c1 = c1[0],c1[1:]
atm = [k for k in cubes.keys()]
for c2 in atm:
om = cubes[c2]
if intersect(c1,c2) or intersect(c2,c1):
for c in split(c1,c2):
if not (intersect(c,c1) or intersect(c1,c)):
cubes[c] = om
cubes.pop(c2)
cubes[c1] = m
return cubes
if __name__ == '__main__':
nums = map(lambda x: (x[0],int(x[1]),int(x[2]),int(x[3]),int(x[4]),int(x[5]),int(x[6])),[parse(l).groups() for l in open(sys.argv[1])])
nums = [n for n in nums]
# challenge 1
cubes1 = init(nums)
c = Counter([v for k,v in cubes1.items() if -50 <= k[0] <= 50 and -50 <= k[1] <= 50 and -50 <= k[2] <= 50])
res1 = str(c.most_common(2))
print("challenge 1:" + "\n" + res1 + "\n")
# challenge 2
cubes2 = reboot(nums)
res2 = str(count_cubes(cubes2))
print("challenge 2:" + "\n" + res2 + "\n")

420
AoC2021/inputs/input22

@ -0,0 +1,420 @@
on x=-22..28,y=-12..37,z=-34..11
on x=-35..15,y=-10..40,z=-48..-2
on x=-31..19,y=-4..43,z=-22..28
on x=-48..-2,y=-36..13,z=-29..20
on x=0..49,y=-14..30,z=-39..6
on x=-8..41,y=-9..41,z=-42..7
on x=-22..25,y=-16..28,z=-40..9
on x=-11..33,y=-22..26,z=0..44
on x=-13..39,y=-26..19,z=-31..15
on x=-7..47,y=-1..44,z=-40..13
off x=-47..-31,y=12..24,z=4..19
on x=-23..30,y=-22..27,z=-9..35
off x=-49..-33,y=36..46,z=28..42
on x=0..48,y=-41..7,z=-18..31
off x=-48..-34,y=-33..-18,z=-32..-23
on x=-16..29,y=0..48,z=-12..37
off x=-48..-32,y=-47..-31,z=-24..-8
on x=-35..18,y=-11..42,z=-23..21
off x=-5..5,y=-47..-31,z=-18..-4
on x=-41..10,y=-39..8,z=-45..5
on x=57743..70226,y=-61040..-49730,z=-9481..1779
on x=34469..59935,y=-19657..-15459,z=52982..68107
on x=2032..20175,y=43518..62126,z=58508..71090
on x=31229..48351,y=22846..46374,z=58775..63336
on x=50790..81085,y=-43836..-24658,z=16376..45716
on x=28957..62666,y=-63812..-43726,z=-21518..-20032
on x=-79145..-53125,y=-58835..-40328,z=-34032..-1191
on x=-39963..-30908,y=61052..76815,z=-14209..4001
on x=30995..46213,y=-188..23074,z=48848..73955
on x=-30327..817,y=-92891..-71382,z=-556..15570
on x=-66084..-49749,y=-70089..-44721,z=543..18051
on x=-10435..875,y=1868..22100,z=-90712..-72390
on x=-6457..23401,y=39789..59388,z=-64029..-59562
on x=-48891..-19571,y=-60094..-41210,z=-63314..-59729
on x=-84053..-64052,y=2084..16189,z=-31207..-1454
on x=-52377..-25969,y=-90697..-66004,z=-17839..-5215
on x=-7876..16576,y=25156..48291,z=-78019..-63073
on x=-70710..-54783,y=28572..57892,z=2846..14577
on x=69353..93836,y=-32370..-11069,z=-15941..8778
on x=-92783..-71784,y=-17812..17198,z=2761..27075
on x=45799..59502,y=-51290..-23552,z=35610..57193
on x=-50227..-17040,y=46996..74417,z=28330..44175
on x=8914..26079,y=-50911..-30028,z=-67490..-43942
on x=-10960..6571,y=-75351..-66572,z=21851..44569
on x=22699..44190,y=-83751..-52386,z=20341..36226
on x=58542..77668,y=47268..63235,z=-3866..26621
on x=73780..79320,y=-13674..519,z=-25349..-12369
on x=61440..79923,y=7960..26241,z=-27706..-15327
on x=38043..50418,y=44221..51183,z=-65245..-45723
on x=22702..31491,y=-17144..312,z=-85339..-53805
on x=21638..55787,y=44959..61008,z=-47808..-39438
on x=-63113..-41252,y=-67744..-41914,z=-26758..-4882
on x=63367..92148,y=30084..48195,z=-5852..-3181
on x=11847..30590,y=66766..73165,z=19550..26333
on x=-82252..-43217,y=16642..33032,z=31779..53160
on x=376..8916,y=-85149..-77287,z=-3825..28320
on x=-11778..4687,y=-65208..-43505,z=-56839..-41330
on x=-59599..-26799,y=-43262..-22054,z=53184..68929
on x=27880..45230,y=31092..48118,z=53472..65470
on x=66503..87392,y=14887..44613,z=5640..29076
on x=-18992..15785,y=70329..84705,z=-11543..3900
on x=26450..55691,y=33724..51544,z=-67288..-47510
on x=-55101..-20607,y=-54336..-50167,z=-63808..-39985
on x=-58662..-44430,y=23514..35998,z=-57391..-35888
on x=-30686..-14789,y=52951..78131,z=23020..30026
on x=59723..89386,y=-1973..20344,z=-23466..16370
on x=-28704..-19628,y=-26635..-10672,z=67912..92984
on x=34109..52603,y=6207..33762,z=-78531..-54945
on x=6969..35234,y=12510..46591,z=-88613..-51919
on x=-16819..13310,y=-78286..-72895,z=-40672..-15821
on x=12715..44649,y=59413..85803,z=12932..25405
on x=39882..72763,y=-29701..-24955,z=30035..53183
on x=61861..91147,y=-22736..-7422,z=4820..7751
on x=25793..39413,y=46741..82626,z=5326..33146
on x=-6107..19053,y=68420..92110,z=-36318..-16459
on x=28551..40390,y=68467..76382,z=-16632..-2714
on x=-45969..-23239,y=-62699..-36719,z=38811..56336
on x=-76366..-72346,y=21237..38131,z=-10669..22165
on x=44705..59494,y=6680..11337,z=49501..61061
on x=2597..24468,y=14065..37612,z=61022..74073
on x=35904..59720,y=-8301..13166,z=59515..64632
on x=-19466..2821,y=54015..73358,z=37279..67387
on x=22671..24877,y=-78893..-54761,z=30577..49365
on x=-61910..-30004,y=-48658..-30216,z=-63277..-39443
on x=31804..62778,y=-10031..4607,z=53321..66647
on x=35353..59793,y=-64800..-45779,z=-45954..-25389
on x=-54351..-23056,y=-85690..-64612,z=-11671..9856
on x=46643..60469,y=-72975..-45242,z=-27257..-9772
on x=-1587..22614,y=42774..64311,z=-75051..-55436
on x=43500..63874,y=57617..69803,z=-9587..20014
on x=-84644..-71132,y=20240..38502,z=20664..34375
on x=40993..55870,y=-67190..-52687,z=-33480..-19778
on x=-47052..-17260,y=-89061..-56609,z=-1611..29297
on x=25170..40430,y=-74511..-62273,z=-42240..-11723
on x=20724..48041,y=-49570..-30648,z=-65320..-52402
on x=18971..41779,y=-74384..-55955,z=21290..42401
on x=12372..25040,y=-19897..8311,z=-92628..-74366
on x=-41481..-9209,y=-30115..-3165,z=61616..78046
on x=-60608..-23394,y=-77847..-59531,z=23434..37967
on x=-71858..-50069,y=-57588..-41250,z=-50072..-33315
on x=37501..71584,y=31996..53811,z=27365..52251
on x=-56165..-38552,y=44724..61002,z=23249..44903
on x=33227..40766,y=61266..72042,z=-40028..-30190
on x=-11144..9046,y=20660..52650,z=61730..86031
on x=21865..39875,y=46084..72027,z=-41788..-32094
on x=-30545..-4677,y=44278..74009,z=-59990..-47040
on x=-48012..-35017,y=-70818..-58672,z=16398..44578
on x=-60425..-50019,y=-59529..-42076,z=-36601..-4347
on x=-5505..16222,y=77230..83177,z=-12302..11122
on x=18568..47510,y=62799..88600,z=-6696..22060
on x=34553..42144,y=67458..85473,z=-20865..3279
on x=-70604..-50638,y=-37855..-14331,z=-37538..-26619
on x=-18955..-3382,y=-15846..1586,z=65846..86641
on x=-36618..-11388,y=-38199..-8026,z=-84356..-55275
on x=14279..42431,y=39293..56427,z=50099..77725
on x=28773..43843,y=51502..73850,z=4898..32973
on x=-78414..-50811,y=-51353..-20494,z=170..25282
on x=-2690..8500,y=42310..58100,z=45997..59275
on x=-51673..-35241,y=-69072..-48834,z=23583..43079
on x=-17870..16848,y=-3928..15129,z=-84692..-79036
on x=-87341..-71032,y=-20078..212,z=1818..30236
on x=71091..85417,y=-5563..16629,z=22831..30523
on x=28443..44534,y=53772..78417,z=-11050..19315
on x=-58440..-40362,y=-36161..-21536,z=51262..64247
on x=-43628..-14975,y=21749..39527,z=-87409..-62207
on x=-83544..-75074,y=-33970..-17359,z=-13538..9135
on x=18355..46439,y=17596..51653,z=49322..73971
on x=-10768..10856,y=-209..18736,z=-79866..-77867
on x=-64915..-38455,y=-33420..-19423,z=-57336..-36896
on x=-59594..-49691,y=39386..53637,z=-61118..-42358
on x=22547..44540,y=41783..75825,z=-53800..-26170
on x=52927..63056,y=-20945..13569,z=50274..69604
on x=29639..47649,y=51463..74979,z=29464..61363
on x=-62445..-46494,y=39646..59555,z=-47592..-26239
on x=-30926..-7219,y=-76422..-53700,z=19664..37575
on x=8068..25595,y=-15448..15190,z=-95311..-75741
on x=-2315..14899,y=-94702..-78498,z=6767..13841
on x=52658..77574,y=-1925..7965,z=37088..62731
on x=-71749..-51034,y=-41036..-23998,z=-25383..-2310
on x=-72935..-52021,y=4145..31708,z=28168..44264
on x=-38524..-29058,y=54203..87398,z=-4270..8719
on x=-18458..-547,y=-41938..-28075,z=55353..85466
on x=63334..86680,y=-8977..5737,z=3089..23619
on x=-76522..-51279,y=51711..63609,z=-1119..11074
on x=43978..67672,y=-46119..-36350,z=-54348..-32116
on x=-61977..-39979,y=48805..66908,z=-4087..15443
on x=-38393..-15142,y=34482..45895,z=51707..73387
on x=-15098..5245,y=64504..86193,z=11660..42572
on x=20462..32546,y=67335..88945,z=-23808..-12174
on x=-45710..-29866,y=-48713..-40225,z=36191..72881
on x=-80647..-72347,y=6003..19378,z=6018..26968
on x=-30135..-907,y=-40352..-17385,z=-74550..-69713
on x=25651..40752,y=25704..44767,z=-69419..-53995
on x=-65351..-49165,y=-665..33203,z=-58077..-53439
on x=27847..41886,y=-57196..-51432,z=-60041..-31392
on x=-74571..-65726,y=18936..34595,z=-14994..8307
on x=3420..18201,y=59080..63744,z=-50796..-37402
on x=-59725..-52919,y=25233..56324,z=36770..52550
on x=25084..37742,y=-22473..13416,z=61111..89517
on x=-31123..-9929,y=-38982..-28408,z=-76197..-54610
on x=26239..39855,y=-67171..-50065,z=34490..46827
on x=-31113..-2705,y=59178..87794,z=8623..21865
on x=64246..81862,y=13839..27162,z=-37512..803
on x=-38914..-20811,y=-35350..-18517,z=62773..89363
on x=-79546..-58914,y=39361..40589,z=-23746..-1521
on x=-92264..-60845,y=-16477..-4211,z=-34296..-15581
on x=-81598..-55814,y=-8529..14390,z=-50600..-33531
on x=50748..66514,y=56968..76774,z=-9752..13820
on x=-80025..-55789,y=-41134..-19361,z=28348..54979
on x=-28896..-19805,y=-68202..-37931,z=49748..61021
on x=57234..73263,y=-37712..-1405,z=13150..46160
on x=7376..29616,y=-8620..20535,z=-83248..-62090
on x=44553..56109,y=32850..57714,z=25785..52790
on x=-7717..25102,y=-7725..12431,z=59010..93276
on x=-3663..20480,y=31992..48881,z=-80967..-61519
on x=-54684..-38284,y=33082..51001,z=-47536..-31488
on x=-24421..-10049,y=-73142..-50307,z=-47158..-25659
on x=41005..51559,y=54743..68960,z=-32157..-19293
on x=-8763..26625,y=66264..86593,z=-57863..-26158
on x=39695..57854,y=-10327..960,z=-81724..-65077
on x=41233..63655,y=-37542..-11744,z=-67651..-49824
on x=-18469..-14312,y=36071..63118,z=56475..75090
on x=-28731..-15639,y=-72916..-60994,z=17355..48092
on x=-29016..-17872,y=1691..28301,z=-80313..-74087
on x=-24861..-2063,y=-29881..-11428,z=-74927..-54438
on x=-2908..8218,y=68593..71825,z=-42304..-36475
on x=27546..51021,y=4696..22461,z=56219..85387
on x=39005..55338,y=48826..72635,z=-24709..-1
on x=47727..73855,y=-63059..-41116,z=-9038..23091
on x=-19884..6774,y=-33156..-8931,z=72725..87601
on x=-72461..-53556,y=-27699..-14981,z=19211..41822
on x=63249..81403,y=-40188..-14765,z=6931..37685
on x=63142..82981,y=-25106..-3270,z=20101..29453
on x=31130..58947,y=3173..21337,z=-74916..-68397
on x=-58714..-42813,y=11593..34345,z=34118..58810
on x=-49518..-27875,y=-29607..-21358,z=-75178..-53370
on x=69461..77175,y=15448..36416,z=-34182..-22402
on x=35551..54657,y=-69428..-42048,z=-17045..6812
on x=27635..38793,y=45411..69203,z=-50135..-43361
on x=16688..38446,y=-61396..-37075,z=-64966..-31030
on x=-35814..-19493,y=63372..81491,z=27500..54462
on x=10356..30411,y=-74284..-55629,z=39846..45049
on x=-38328..-4710,y=64415..79565,z=-43116..-22145
on x=-29835..-5671,y=-90310..-76428,z=277..1869
on x=48292..76832,y=37381..49402,z=34886..43306
on x=19066..33779,y=-3597..8757,z=-76149..-71976
on x=-26733..-12570,y=-35681..-26828,z=62655..71618
on x=50628..68591,y=-51527..-24729,z=25316..59839
on x=59379..62742,y=-57334..-46510,z=3134..10600
on x=55393..77648,y=4221..37143,z=44784..65699
on x=-15390..-5126,y=-3381..11074,z=73410..86424
on x=-26889..-7086,y=-77791..-41328,z=-66410..-29235
on x=-43347..-21552,y=57590..64785,z=28677..49316
on x=-67247..-37242,y=-28533..-8487,z=-69945..-48320
on x=-2207..27139,y=71426..90772,z=11875..24958
on x=-7365..22762,y=-96133..-73290,z=-30621..-6784
on x=44813..66334,y=-20573..-2018,z=-64230..-53722
on x=51196..58944,y=-60144..-41259,z=18880..45821
on x=-60386..-32399,y=-36568..-12315,z=40586..67416
on x=-665..20331,y=-17403..-11184,z=-87940..-72839
off x=32946..48821,y=-28974..-15614,z=64401..84617
on x=-55785..-28569,y=65269..75512,z=-21176..-6442
off x=32390..46916,y=-82938..-68118,z=-13863..21900
off x=53888..71942,y=-46568..-32979,z=-34248..-19326
off x=-81837..-78163,y=-5392..9087,z=-2450..18903
off x=21995..44453,y=-40185..-33499,z=62135..76283
on x=10308..40463,y=59540..77174,z=-61333..-36739
off x=-94177..-61603,y=-22758..11823,z=-38788..-12954
on x=53438..75655,y=25126..43060,z=-14518..7932
on x=-19531..3177,y=4045..27930,z=-94265..-64178
off x=-77480..-62456,y=41988..53394,z=-3296..5224
on x=17779..35549,y=-83981..-44676,z=24943..61118
on x=-71879..-58513,y=11898..41686,z=-30305..-14377
on x=49017..68249,y=-15129..18976,z=48060..66574
on x=-11838..7348,y=47553..63542,z=-67414..-47164
on x=29088..44545,y=-50912..-15959,z=-70395..-57574
off x=-43388..-23603,y=45905..62609,z=27676..53750
off x=8215..38810,y=62437..78852,z=-38209..-33224
on x=-64059..-27171,y=-60727..-35326,z=-61026..-43427
off x=20457..53119,y=-60711..-47679,z=23184..55606
on x=-70978..-46394,y=-65589..-44877,z=-10372..7338
on x=-59744..-39936,y=48445..55988,z=-44347..-26762
on x=-36717..-8107,y=26844..43311,z=-80832..-66912
off x=72293..96031,y=3700..25701,z=-37561..-4131
on x=-15500..16913,y=-79205..-68966,z=-39173..-4379
off x=-756..21231,y=10628..37269,z=73578..82977
on x=32058..55455,y=-6957..7461,z=45838..80279
off x=-24364..-772,y=-85720..-66735,z=-48781..-36855
on x=46435..56654,y=43815..66941,z=-25404..-13767
off x=-88068..-77674,y=-10771..13874,z=-12402..-4509
on x=-89131..-61902,y=-26569..-6043,z=-27916..-14242
on x=32210..52737,y=-40074..-9230,z=42872..76038
on x=56737..79302,y=24768..45359,z=-19322..4672
on x=1759..24409,y=46620..57152,z=-71066..-48445
on x=35478..60734,y=-39693..-22719,z=41724..51793
on x=42961..64758,y=-12522..3554,z=52646..69182
on x=-11351..-502,y=-40082..-24124,z=-75980..-63117
off x=-40962..-6900,y=-5118..14251,z=-82423..-57286
on x=-49095..-30797,y=1882..6948,z=-83530..-55361
off x=-37135..-22299,y=-90205..-63314,z=-24970..4150
on x=66749..74930,y=-44446..-9795,z=-16854..-4579
on x=-63254..-52331,y=-68192..-44209,z=-35685..-8323
on x=-78284..-55858,y=-43922..-30639,z=18437..29177
off x=54114..79875,y=-17857..-2753,z=34356..52806
on x=-4442..14186,y=29328..43813,z=-80985..-51107
off x=-58292..-34166,y=35200..44230,z=-69669..-55147
on x=18045..42192,y=-78983..-70509,z=1260..35570
on x=37675..59839,y=-51270..-39433,z=-37248..-29925
off x=-22757..-7114,y=-84027..-59378,z=-24973..-14829
on x=24241..36320,y=52369..65837,z=31303..51099
off x=5979..23857,y=9333..31171,z=-87793..-57399
off x=49574..65617,y=-38214..-7290,z=-50479..-28030
off x=-73979..-66980,y=-798..7274,z=-45325..-25314
on x=-8945..-1295,y=-59463..-41375,z=52225..73615
off x=18015..39217,y=32056..50406,z=-75587..-63271
on x=-53213..-30694,y=-55350..-31907,z=49198..70681
on x=-9682..8872,y=-52795..-28009,z=-82757..-59017
off x=-83110..-67560,y=-37952..-10775,z=-19407..13655
on x=-39964..-17588,y=52065..72360,z=4014..37773
off x=56122..79842,y=-5178..21833,z=31724..59969
on x=-20183..-4251,y=-12930..11778,z=77653..97600
off x=31458..67825,y=9649..32029,z=41670..71827
on x=-47523..-37181,y=-9554..-5366,z=-71284..-54135
off x=-79907..-51809,y=-39505..-26324,z=-21886..8622
on x=-49722..-26739,y=-4492..20265,z=-80362..-69563
off x=30956..62691,y=22770..49749,z=57837..73923
off x=63665..78972,y=-9429..11537,z=-61063..-23216
off x=22797..28866,y=-83267..-52609,z=-50008..-23447
off x=-9433..6781,y=-15625..9568,z=72480..99132
on x=-39178..-2942,y=61606..79222,z=-12921..17911
on x=-27409..-12810,y=-52323..-14724,z=70950..84284
off x=25852..56927,y=-36323..-17730,z=-59374..-41271
on x=-25411..1430,y=-71359..-48805,z=-54737..-38627
off x=14921..35377,y=-63995..-41674,z=42383..70707
on x=-81958..-63608,y=22908..36352,z=28840..42388
off x=16786..42211,y=-73540..-54273,z=24103..37846
on x=6690..26003,y=-68391..-40681,z=-57692..-53952
off x=61396..83789,y=17549..42812,z=30784..43751
on x=64100..88074,y=14435..30275,z=-26170..-9208
off x=-21535..-16329,y=43013..49150,z=-80307..-58327
off x=43392..60791,y=-67760..-57740,z=-3562..18983
on x=53803..85117,y=-30851..-20415,z=11800..29393
off x=-60548..-44088,y=-74749..-57558,z=-16897..-13294
on x=-49335..-21672,y=-28001..3992,z=58205..86850
on x=71619..75833,y=-41210..-28321,z=-3506..23850
on x=-59162..-51706,y=-50779..-26256,z=-49407..-29710
on x=-52052..-32903,y=16989..38661,z=-62750..-44298
on x=27603..37228,y=-16325..-9791,z=51369..78290
off x=-79181..-55186,y=26844..41675,z=-48211..-20069
on x=-13372..-2778,y=-87434..-58366,z=13997..33615
off x=-15866..1555,y=47047..63001,z=42221..60961
on x=36372..49160,y=29641..52191,z=50265..54610
off x=-50..22846,y=24999..49002,z=-90397..-70826
off x=-53637..-33631,y=-70839..-47506,z=-40320..-30176
on x=57782..80982,y=-13986..8709,z=-42185..-18601
on x=-51683..-23658,y=-6359..15179,z=-75206..-63727
off x=370..30490,y=44410..64293,z=49151..65936
off x=46915..58565,y=-69733..-44180,z=-41213..-17210
on x=28837..55823,y=-13583..10313,z=-85499..-50397
on x=45884..74879,y=4208..23505,z=-57225..-37365
on x=-16055..2075,y=-98025..-64232,z=404..15021
off x=-6697..-284,y=-52120..-14644,z=61108..88330
on x=-73126..-42133,y=-14478..-770,z=-67159..-42210
on x=-78746..-55031,y=21688..48503,z=-43668..-17650
off x=13011..19587,y=-76531..-58192,z=-21056..-6942
on x=-3906..16882,y=38223..63854,z=-65796..-44021
off x=75643..77858,y=-402..29624,z=-29755..-2860
on x=18431..37928,y=-50506..-31706,z=65280..75113
on x=-82626..-59287,y=-50984..-29586,z=-15689..-4450
on x=35196..53027,y=26428..54765,z=57751..62588
off x=23336..31485,y=-1303..18746,z=-94682..-64565
on x=-3825..10918,y=-98053..-71932,z=865..16121
off x=42549..65012,y=26302..54316,z=35324..58055
off x=-30637..-826,y=69704..92482,z=8957..37872
on x=9789..45193,y=-58252..-25098,z=55030..75560
on x=-9204..9530,y=71096..78338,z=20937..35152
off x=49102..65728,y=27717..54106,z=-51279..-22263
off x=-73112..-53014,y=-17888..2555,z=34313..45513
off x=19481..39159,y=-19753..16672,z=-84120..-70512
off x=29245..51208,y=55393..75349,z=-26693..-9367
off x=-32408..-12470,y=-86513..-71371,z=11659..34621
on x=3836..19984,y=72474..77290,z=28159..42009
off x=-65810..-45330,y=-40192..-17201,z=-36860..-23230
on x=8693..27534,y=-32382..-13972,z=58478..81189
on x=-43704..-20018,y=-33808..-23372,z=-78637..-61326
off x=51547..78372,y=12517..15861,z=30172..52291
on x=-33603..-11175,y=-36898..-7873,z=-90188..-68980
off x=68965..88379,y=-35199..-18501,z=-16736..13433
off x=-92562..-58792,y=-20585..-13928,z=7579..22007
on x=-15258..-2610,y=69924..96628,z=-12430..15797
off x=-30519..-8339,y=-12995..4240,z=63439..83735
off x=-17707..10709,y=-26922..-18807,z=-96558..-63936
off x=15322..27787,y=26350..47801,z=-67802..-46180
off x=-84914..-54768,y=6968..34294,z=17631..34799
on x=-7598..17160,y=37828..54405,z=-76895..-51602
on x=11668..34456,y=40686..60885,z=-53707..-42575
off x=-32256..-12704,y=-78957..-51139,z=-54900..-19346
off x=19575..33292,y=-76785..-58856,z=-24794..-8650
on x=-12555..10431,y=76180..91052,z=-7974..2379
on x=-39693..-14106,y=7322..18221,z=-78159..-74632
off x=-66375..-51676,y=-66860..-34841,z=-39129..-8655
off x=-17258..-10828,y=12607..37266,z=61514..85164
off x=-33610..-11456,y=-84257..-56108,z=-23442..-7294
on x=14531..43763,y=53525..64606,z=-63336..-35807
off x=-70597..-55320,y=-41967..-24265,z=25101..39095
on x=-49603..-26677,y=-13219..1867,z=66460..87923
off x=-60096..-23074,y=-70199..-42821,z=22480..37880
off x=40348..69827,y=-51515..-33466,z=-52295..-34043
off x=20389..44646,y=28477..41577,z=-72555..-44667
on x=33741..54867,y=-36670..-7776,z=-72049..-55244
on x=10950..46532,y=-54829..-45911,z=-73274..-40618
on x=-67960..-44819,y=-45382..-24321,z=30618..47707
on x=-58662..-48729,y=-65642..-29405,z=-56128..-29636
on x=49272..79011,y=38939..52493,z=20586..30187
off x=43410..60801,y=-61935..-34193,z=-32036..-22862
on x=30969..60898,y=33040..50806,z=35073..57010
off x=37114..59569,y=-71501..-44738,z=11340..32549
off x=52829..76198,y=7688..34836,z=-67073..-40835
off x=-92186..-63748,y=-11890..20416,z=-11446..1644
on x=67652..84380,y=-40733..-18056,z=24324..41742
on x=-62702..-39426,y=-43457..-16012,z=-69221..-51945
on x=-73660..-53500,y=27383..37368,z=2421..23275
on x=-77487..-46062,y=-50070..-24177,z=-47875..-27262
on x=-945..14054,y=-49971..-42857,z=-76052..-46001
on x=-43003..-22308,y=58137..82894,z=19469..47327
off x=19774..38418,y=-33987..-16275,z=-69339..-64365
on x=-21207..4193,y=-7234..-2286,z=-85723..-60361
on x=72912..88857,y=2552..35986,z=20898..28896
on x=54225..89222,y=15996..40989,z=-44532..-13768
on x=-65712..-61563,y=-49387..-24770,z=-44808..-18999
on x=-69404..-48271,y=-68838..-43356,z=-7999..13427
on x=-14554..-6184,y=67577..76141,z=25618..45348
off x=17080..39490,y=54822..76095,z=-33504..-20429
off x=72126..88153,y=-25075..-2924,z=-35655..-21906
off x=-9585..24318,y=-79462..-62167,z=36467..45387
on x=50711..62365,y=8410..24520,z=44319..69714
off x=26163..48176,y=49270..76862,z=25486..40214
off x=-66006..-47007,y=26306..40268,z=-57257..-44008
on x=-18103..978,y=-66402..-53423,z=-58187..-49950
off x=-82231..-53929,y=-30302..-2792,z=-50350..-33862
off x=-80773..-50142,y=26085..50767,z=-37036..-5317
on x=-73412..-50645,y=-37254..-15738,z=27795..47197
on x=53256..56693,y=-27500..-12752,z=39288..60009
on x=9678..25000,y=9814..20035,z=-80762..-69083
off x=75905..77562,y=-35226..-12588,z=-23403..2007
on x=-74228..-51192,y=-60471..-47282,z=-18153..11152
on x=-88144..-65383,y=27947..50190,z=-22007..7068
on x=-57769..-30200,y=-74568..-46266,z=1997..7401
on x=-53231..-25606,y=-1090..21355,z=57688..84914
off x=3894..23908,y=-12364..22961,z=-89732..-71854
on x=-29012..-9560,y=-78082..-62997,z=-29218..-8539
off x=-35760..-28704,y=-69703..-59299,z=26665..59052
on x=-9820..-311,y=-50467..-30267,z=45150..77323
off x=-34746..-29058,y=53504..84718,z=15584..24656
off x=-80685..-48403,y=-19777..4826,z=33281..66712
on x=67395..77602,y=-46450..-19661,z=-31973..-18038
on x=-70033..-64759,y=19552..51911,z=11121..35381
off x=-73590..-42942,y=-46390..-22759,z=40874..56566
off x=-36575..-18344,y=61042..86630,z=6307..26426
off x=-46370..-27813,y=23975..41903,z=54255..72840

4
AoC2021/inputs/test22A

@ -0,0 +1,4 @@
on x=10..12,y=10..12,z=10..12
on x=11..13,y=11..13,z=11..13
off x=9..11,y=9..11,z=9..11
on x=10..10,y=10..10,z=10..10

22
AoC2021/inputs/test22B

@ -0,0 +1,22 @@
on x=-20..26,y=-36..17,z=-47..7
on x=-20..33,y=-21..23,z=-26..28
on x=-22..28,y=-29..23,z=-38..16
on x=-46..7,y=-6..46,z=-50..-1
on x=-49..1,y=-3..46,z=-24..28
on x=2..47,y=-22..22,z=-23..27
on x=-27..23,y=-28..26,z=-21..29
on x=-39..5,y=-6..47,z=-3..44
on x=-30..21,y=-8..43,z=-13..34
on x=-22..26,y=-27..20,z=-29..19
off x=-48..-32,y=26..41,z=-47..-37
on x=-12..35,y=6..50,z=-50..-2
off x=-48..-32,y=-32..-16,z=-15..-5
on x=-18..26,y=-33..15,z=-7..46
off x=-40..-22,y=-38..-28,z=23..41
on x=-16..35,y=-41..10,z=-47..6
off x=-32..-23,y=11..30,z=-14..3
on x=-49..-5,y=-3..45,z=-29..18
off x=18..30,y=-20..-8,z=-3..13
on x=-41..9,y=-7..43,z=-33..15
on x=-54112..-39298,y=-85059..-49293,z=-27449..7877
on x=967..23432,y=45373..81175,z=27513..53682

60
AoC2021/inputs/test22C

@ -0,0 +1,60 @@
on x=-5..47,y=-31..22,z=-19..33
on x=-44..5,y=-27..21,z=-14..35
on x=-49..-1,y=-11..42,z=-10..38
on x=-20..34,y=-40..6,z=-44..1
off x=26..39,y=40..50,z=-2..11
on x=-41..5,y=-41..6,z=-36..8
off x=-43..-33,y=-45..-28,z=7..25
on x=-33..15,y=-32..19,z=-34..11
off x=35..47,y=-46..-34,z=-11..5
on x=-14..36,y=-6..44,z=-16..29
on x=-57795..-6158,y=29564..72030,z=20435..90618
on x=36731..105352,y=-21140..28532,z=16094..90401
on x=30999..107136,y=-53464..15513,z=8553..71215
on x=13528..83982,y=-99403..-27377,z=-24141..23996
on x=-72682..-12347,y=18159..111354,z=7391..80950
on x=-1060..80757,y=-65301..-20884,z=-103788..-16709
on x=-83015..-9461,y=-72160..-8347,z=-81239..-26856
on x=-52752..22273,y=-49450..9096,z=54442..119054
on x=-29982..40483,y=-108474..-28371,z=-24328..38471
on x=-4958..62750,y=40422..118853,z=-7672..65583
on x=55694..108686,y=-43367..46958,z=-26781..48729
on x=-98497..-18186,y=-63569..3412,z=1232..88485
on x=-726..56291,y=-62629..13224,z=18033..85226
on x=-110886..-34664,y=-81338..-8658,z=8914..63723
on x=-55829..24974,y=-16897..54165,z=-121762..-28058
on x=-65152..-11147,y=22489..91432,z=-58782..1780
on x=-120100..-32970,y=-46592..27473,z=-11695..61039
on x=-18631..37533,y=-124565..-50804,z=-35667..28308
on x=-57817..18248,y=49321..117703,z=5745..55881
on x=14781..98692,y=-1341..70827,z=15753..70151
on x=-34419..55919,y=-19626..40991,z=39015..114138
on x=-60785..11593,y=-56135..2999,z=-95368..-26915
on x=-32178..58085,y=17647..101866,z=-91405..-8878
on x=-53655..12091,y=50097..105568,z=-75335..-4862
on x=-111166..-40997,y=-71714..2688,z=5609..50954
on x=-16602..70118,y=-98693..-44401,z=5197..76897
on x=16383..101554,y=4615..83635,z=-44907..18747
off x=-95822..-15171,y=-19987..48940,z=10804..104439
on x=-89813..-14614,y=16069..88491,z=-3297..45228
on x=41075..99376,y=-20427..49978,z=-52012..13762
on x=-21330..50085,y=-17944..62733,z=-112280..-30197
on x=-16478..35915,y=36008..118594,z=-7885..47086
off x=-98156..-27851,y=-49952..43171,z=-99005..-8456
off x=2032..69770,y=-71013..4824,z=7471..94418
on x=43670..120875,y=-42068..12382,z=-24787..38892
off x=37514..111226,y=-45862..25743,z=-16714..54663
off x=25699..97951,y=-30668..59918,z=-15349..69697
off x=-44271..17935,y=-9516..60759,z=49131..112598
on x=-61695..-5813,y=40978..94975,z=8655..80240
off x=-101086..-9439,y=-7088..67543,z=33935..83858
off x=18020..114017,y=-48931..32606,z=21474..89843
off x=-77139..10506,y=-89994..-18797,z=-80..59318
off x=8476..79288,y=-75520..11602,z=-96624..-24783
on x=-47488..-1262,y=24338..100707,z=16292..72967
off x=-84341..13987,y=2429..92914,z=-90671..-1318
off x=-37810..49457,y=-71013..-7894,z=-105357..-13188
off x=-27365..46395,y=31009..98017,z=15428..76570
off x=-70369..-16548,y=22648..78696,z=-1892..86821
on x=-53470..21291,y=-120233..-33476,z=-44150..38147
off x=-93533..-4276,y=-16170..68771,z=-104985..-24507
Loading…
Cancel
Save