Skip to content

Instantly share code, notes, and snippets.

@dmechas
Last active December 5, 2023 16:45
Show Gist options
  • Save dmechas/1f28ff2ebe58159b9c031ec99dbe49fb to your computer and use it in GitHub Desktop.
Save dmechas/1f28ff2ebe58159b9c031ec99dbe49fb to your computer and use it in GitHub Desktop.
advent_code_20231205
from functools import reduce
import sys
seed_soil = [
{"dst": 3078006360, "src": 2182201339, "len": 30483272},
{"dst": 803630304, "src": 624445326, "len": 165226844},
{"dst": 2393736333, "src": 2745251526, "len": 281120946},
{"dst": 717936870, "src": 789672170, "len": 85693434},
{"dst": 598717319, "src": 410599330, "len": 27984688},
{"dst": 3999095007, "src": 2024628810, "len": 157572529},
{"dst": 3605588191, "src": 3026372472, "len": 22322803},
{"dst": 3555659576, "src": 2678166775, "len": 3396919},
{"dst": 968857148, "src": 438584018, "len": 1780307},
{"dst": 3216227818, "src": 2212684611, "len": 87459567},
{"dst": 2302084376, "src": 4122083708, "len": 91651957},
{"dst": 970637455, "src": 0, "len": 188112122},
{"dst": 507182228, "src": 299146916, "len": 40412346},
{"dst": 1372302034, "src": 1689624457, "len": 202945009},
{"dst": 1370123632, "src": 191483770, "len": 2178402},
{"dst": 324787204, "src": 193662172, "len": 105484744},
{"dst": 3116425470, "src": 2671328191, "len": 6838584},
{"dst": 626702007, "src": 875365604, "len": 82756204},
{"dst": 1575247043, "src": 978774853, "len": 317322423},
{"dst": 3134996187, "src": 4213735665, "len": 81231631},
{"dst": 2024628810, "src": 2681563694, "len": 63687832},
{"dst": 714565222, "src": 188112122, "len": 3371648},
{"dst": 547594574, "src": 1620884480, "len": 51122745},
{"dst": 3529388087, "src": 3374604163, "len": 26271489},
{"dst": 709458211, "src": 973428243, "len": 5107011},
{"dst": 2713008276, "src": 3985570976, "len": 98361735},
{"dst": 2088316642, "src": 3048695275, "len": 213767734},
{"dst": 3627910994, "src": 2300144178, "len": 371184013},
{"dst": 2674857279, "src": 4083932711, "len": 38150997},
{"dst": 1229789645, "src": 958121808, "len": 15306435},
{"dst": 4156667536, "src": 3328662676, "len": 45941487},
{"dst": 0, "src": 1296097276, "len": 324787204},
{"dst": 3108489632, "src": 3320726838, "len": 7935838},
{"dst": 4202609023, "src": 3667512001, "len": 92358273},
{"dst": 1352266801, "src": 978535254, "len": 239599},
{"dst": 1352506400, "src": 1672007225, "len": 17617232},
{"dst": 1245096080, "src": 440364325, "len": 107170721},
{"dst": 2811370011, "src": 3400875652, "len": 266636349},
{"dst": 430271948, "src": 547535046, "len": 76910280},
{"dst": 1158749577, "src": 339559262, "len": 71040068},
{"dst": 3559056495, "src": 3262463009, "len": 46531696},
{"dst": 3123264054, "src": 3308994705, "len": 11732133},
{"dst": 3303687385, "src": 3759870274, "len": 225700702},
]
soil_fertilizer = [
{"dst": 2937874770, "src": 2957653952, "len": 339980892},
{"dst": 1886469734, "src": 2145122669, "len": 192293654},
{"dst": 3277855662, "src": 822424488, "len": 19779182},
{"dst": 2622882196, "src": 2393077006, "len": 314992574},
{"dst": 3449876679, "src": 3769116301, "len": 525850995},
{"dst": 583550735, "src": 842203670, "len": 1302918999},
{"dst": 2145755543, "src": 345297835, "len": 477126653},
{"dst": 2078763388, "src": 2890661797, "len": 66992155},
{"dst": 2650514, "src": 2708069580, "len": 182592217},
{"dst": 0, "src": 2337416323, "len": 2650514},
{"dst": 530540566, "src": 2340066837, "len": 53010169},
{"dst": 185242731, "src": 0, "len": 345297835},
{"dst": 3975727674, "src": 3449876679, "len": 319239622},
]
fertilizer_water = [
{"dst": 861477134, "src": 5168332, "len": 68211907},
{"dst": 136969509, "src": 2229711837, "len": 29094441},
{"dst": 2823248929, "src": 1150509810, "len": 118368045},
{"dst": 3678888284, "src": 3073610919, "len": 53498438},
{"dst": 3948051821, "src": 3682691325, "len": 96234592},
{"dst": 1302827191, "src": 2387840795, "len": 504257794},
{"dst": 1198743248, "src": 1926818347, "len": 104083943},
{"dst": 1807084985, "src": 1104177008, "len": 46332802},
{"dst": 2143096098, "src": 619653304, "len": 259805223},
{"dst": 2063436946, "src": 2385211148, "len": 2629647},
{"dst": 2066066593, "src": 445026117, "len": 35759449},
{"dst": 358008423, "src": 537865723, "len": 81787581},
{"dst": 621204445, "src": 0, "len": 5168332},
{"dst": 2724438904, "src": 1861632296, "len": 65186051},
{"dst": 1853417787, "src": 2258806278, "len": 126404870},
{"dst": 3933311080, "src": 4141091197, "len": 14740741},
{"dst": 851739278, "src": 2892098589, "len": 9737856},
{"dst": 4044286413, "src": 3029323079, "len": 44287840},
{"dst": 1979822657, "src": 1778018007, "len": 83614289},
{"dst": 2101826042, "src": 2084781230, "len": 3070511},
{"dst": 4088574253, "src": 4268409625, "len": 26557671},
{"dst": 929689041, "src": 111346117, "len": 211974050},
{"dst": 3566310597, "src": 4155831938, "len": 112577687},
{"dst": 439796004, "src": 2030902290, "len": 53878940},
{"dst": 166063950, "src": 1490707297, "len": 191944473},
{"dst": 8760514, "src": 888219041, "len": 128208995},
{"dst": 3794695843, "src": 3778925917, "len": 57203243},
{"dst": 3029323079, "src": 3127109357, "len": 409045756},
{"dst": 2792635116, "src": 77722143, "len": 30613813},
{"dst": 3438368835, "src": 4013149435, "len": 127941762},
{"dst": 3732386722, "src": 3620382204, "len": 62309121},
{"dst": 2402901321, "src": 1682651770, "len": 95366237},
{"dst": 0, "src": 879458527, "len": 8760514},
{"dst": 493674944, "src": 2901836445, "len": 39780529},
{"dst": 3851899086, "src": 3536155113, "len": 81411994},
{"dst": 2498267558, "src": 1268877855, "len": 221829442},
{"dst": 4117947021, "src": 3836129160, "len": 177020275},
{"dst": 2789624955, "src": 108335956, "len": 3010161},
{"dst": 1141663091, "src": 480785566, "len": 57080157},
{"dst": 2104896553, "src": 406826572, "len": 38199545},
{"dst": 533455473, "src": 1016428036, "len": 87748972},
{"dst": 626372777, "src": 2087851741, "len": 141860096},
{"dst": 2720097000, "src": 73380239, "len": 4341904},
{"dst": 4115131924, "src": 3617567107, "len": 2815097},
{"dst": 768232873, "src": 323320167, "len": 83506405},
]
water_light = [
{"dst": 3846882465, "src": 367033980, "len": 98093832},
{"dst": 1878565977, "src": 3292746518, "len": 62917983},
{"dst": 4255729420, "src": 661438934, "len": 39237876},
{"dst": 469590509, "src": 2191298319, "len": 301681796},
{"dst": 381948234, "src": 1999013894, "len": 87642275},
{"dst": 3688496086, "src": 199351627, "len": 156562666},
{"dst": 1300818753, "src": 2086656169, "len": 104642150},
{"dst": 806539912, "src": 2798447654, "len": 224466318},
{"dst": 1265336919, "src": 355914293, "len": 11119687},
{"dst": 1405460903, "src": 1914042148, "len": 28882526},
{"dst": 2577391070, "src": 1942924674, "len": 56089220},
{"dst": 3680239306, "src": 4136990116, "len": 8256780},
{"dst": 1941483960, "src": 700676810, "len": 607954854},
{"dst": 3845058752, "src": 3022913972, "len": 1823713},
{"dst": 4239658038, "src": 1308631664, "len": 16071382},
{"dst": 2566162195, "src": 4254580741, "len": 11228875},
{"dst": 1671792383, "src": 3831845903, "len": 10462472},
{"dst": 3944976297, "src": 3842308375, "len": 294681741},
{"dst": 3290662499, "src": 3160062910, "len": 132683608},
{"dst": 2549438814, "src": 1324703046, "len": 16723381},
{"dst": 3423346107, "src": 1341426427, "len": 27108304},
{"dst": 1031006230, "src": 3355664501, "len": 234330689},
{"dst": 1276456606, "src": 4145246896, "len": 24362147},
{"dst": 3450454411, "src": 54538430, "len": 144813197},
{"dst": 1682254855, "src": 465127812, "len": 196311122},
{"dst": 54538430, "src": 1403802338, "len": 272790856},
{"dst": 2633480290, "src": 2492980115, "len": 305467539},
{"dst": 3595267608, "src": 4169609043, "len": 84971698},
{"dst": 3242064105, "src": 3644614138, "len": 48598394},
{"dst": 3077581200, "src": 4265809616, "len": 29157680},
{"dst": 771272305, "src": 1368534731, "len": 35267607},
{"dst": 1434343429, "src": 1676593194, "len": 237448954},
{"dst": 327329286, "src": 3589995190, "len": 54618948},
{"dst": 3106738880, "src": 3024737685, "len": 135325225},
{"dst": 2938947829, "src": 3693212532, "len": 138633371},
]
light_temperature = [
{"dst": 2777813298, "src": 2971073270, "len": 586210802},
{"dst": 1687968665, "src": 0, "len": 334152507},
{"dst": 4159107034, "src": 3882460035, "len": 135860262},
{"dst": 0, "src": 2095520416, "len": 192800212},
{"dst": 3640671099, "src": 3557284072, "len": 3145370},
{"dst": 2455782705, "src": 3560429442, "len": 322030593},
{"dst": 2022121172, "src": 1272848785, "len": 266199456},
{"dst": 773517036, "src": 914869331, "len": 357979454},
{"dst": 1131496490, "src": 1539048241, "len": 556472175},
{"dst": 3364024100, "src": 4018320297, "len": 60669366},
{"dst": 3643816469, "src": 2455782705, "len": 515290565},
{"dst": 192800212, "src": 334152507, "len": 580716824},
{"dst": 3424693466, "src": 4078989663, "len": 215977633},
]
temperatyre_humidity = [
{"dst": 4072523312, "src": 605654847, "len": 17750681},
{"dst": 1174610018, "src": 540191835, "len": 65463012},
{"dst": 2038455907, "src": 3792024734, "len": 100202248},
{"dst": 2539396783, "src": 866566556, "len": 128459181},
{"dst": 96342672, "src": 2296045868, "len": 14715058},
{"dst": 3827330744, "src": 1522255720, "len": 106701221},
{"dst": 3816190028, "src": 4081148893, "len": 11140716},
{"dst": 1706101724, "src": 3892226982, "len": 188921911},
{"dst": 3780839952, "src": 623405528, "len": 35350076},
{"dst": 765616949, "src": 1813669629, "len": 408993069},
{"dst": 4225769488, "src": 3778728770, "len": 13295964},
{"dst": 2752105545, "src": 1645897858, "len": 167771771},
{"dst": 2138658155, "src": 1121517092, "len": 400738628},
{"dst": 4239065452, "src": 4155853973, "len": 55901844},
{"dst": 3934031965, "src": 96342672, "len": 35726394},
{"dst": 3005272654, "src": 658755604, "len": 22724553},
{"dst": 3989311833, "src": 4211755817, "len": 83211479},
{"dst": 280430452, "src": 3186777866, "len": 320785315},
{"dst": 111057730, "src": 2310760926, "len": 65268270},
{"dst": 176326000, "src": 3659551759, "len": 104104452},
{"dst": 1895023635, "src": 1628956941, "len": 16940917},
{"dst": 4093334384, "src": 3507563181, "len": 132435104},
{"dst": 3027997207, "src": 132069066, "len": 179421352},
{"dst": 1477400307, "src": 311490418, "len": 228701417},
{"dst": 2934949875, "src": 2225723089, "len": 70322779},
{"dst": 601215767, "src": 681480157, "len": 100836818},
{"dst": 2919877316, "src": 3763656211, "len": 15072559},
{"dst": 3969758359, "src": 3639998285, "len": 19553474},
{"dst": 3207418559, "src": 2613356473, "len": 573421393},
{"dst": 4090273993, "src": 2222662698, "len": 3060391},
{"dst": 1911964552, "src": 995025737, "len": 126491355},
{"dst": 2667855964, "src": 782316975, "len": 84249581},
{"dst": 1240073030, "src": 2376029196, "len": 237327277},
{"dst": 702052585, "src": 4092289609, "len": 63564364},
]
humidity_location = [
{"dst": 2848734682, "src": 2982177676, "len": 22285660},
{"dst": 3380476660, "src": 3717224958, "len": 24199873},
{"dst": 3201930685, "src": 734568132, "len": 100088122},
{"dst": 764851360, "src": 4087339561, "len": 71173655},
{"dst": 188169313, "src": 2953711255, "len": 28466421},
{"dst": 3189375901, "src": 2832231336, "len": 12554784},
{"dst": 3369909102, "src": 47909639, "len": 10567558},
{"dst": 47909639, "src": 3741424831, "len": 99762378},
{"dst": 2871020342, "src": 58477197, "len": 7400020},
{"dst": 3042878026, "src": 3409715295, "len": 146497875},
{"dst": 1196348942, "src": 2734551883, "len": 97679453},
{"dst": 3418711171, "src": 3387790447, "len": 21924848},
{"dst": 1587973141, "src": 573552831, "len": 65833150},
{"dst": 1121006696, "src": 889063447, "len": 75342246},
{"dst": 1294028395, "src": 567796360, "len": 5756471},
{"dst": 3302018807, "src": 499906065, "len": 67890295},
{"dst": 2915035031, "src": 2921050411, "len": 32660844},
{"dst": 1982422286, "src": 3064299481, "len": 301982155},
{"dst": 704786709, "src": 4084864539, "len": 2475022},
{"dst": 299076626, "src": 834656254, "len": 54407193},
{"dst": 3623423724, "src": 2182055199, "len": 207702290},
{"dst": 388851709, "src": 2881400789, "len": 39649622},
{"dst": 147672017, "src": 3592293988, "len": 40497296},
{"dst": 2947695875, "src": 639385981, "len": 95182151},
{"dst": 707261731, "src": 3556213170, "len": 36080818},
{"dst": 2284404441, "src": 2389757489, "len": 138657919},
{"dst": 353483819, "src": 2146687309, "len": 35367890},
{"dst": 2519626540, "src": 441189704, "len": 58319568},
{"dst": 743342549, "src": 3366281636, "len": 21508811},
{"dst": 2878420362, "src": 2844786120, "len": 36614669},
{"dst": 216635734, "src": 4212526404, "len": 82440892},
{"dst": 3440636019, "src": 1235194267, "len": 182787705},
{"dst": 2577946108, "src": 964405693, "len": 270788574},
{"dst": 1453221956, "src": 3877915244, "len": 70435137},
{"dst": 836025015, "src": 1861705628, "len": 284981681},
{"dst": 1299784866, "src": 499509272, "len": 396793},
{"dst": 1859942766, "src": 3948350381, "len": 122479520},
{"dst": 2423062360, "src": 3004463336, "len": 59836145},
{"dst": 3404676533, "src": 4070829901, "len": 14034638},
{"dst": 1399208768, "src": 4158513216, "len": 54013188},
{"dst": 1300181659, "src": 342162595, "len": 99027109},
{"dst": 1523657093, "src": 3652908910, "len": 64316048},
{"dst": 3851243640, "src": 1417981972, "len": 443723656},
{"dst": 3831126014, "src": 3632791284, "len": 20117626},
{"dst": 1653806291, "src": 2528415408, "len": 206136475},
{"dst": 428501331, "src": 65877217, "len": 276285378},
{"dst": 2482898505, "src": 3841187209, "len": 36728035},
]
def get_dst(input: int, map) -> int:
for i in map:
if i["src"] <= input <= (i["src"] + i["len"] - 1):
return i["dst"] + (input - i["src"])
return input
def get_seed_location(seed: int) -> int:
soil = get_dst(seed, seed_soil)
fertilizer = get_dst(soil, soil_fertilizer)
water = get_dst(fertilizer, fertilizer_water)
light = get_dst(water, water_light)
temperature = get_dst(light, light_temperature)
humidity = get_dst(temperature, temperatyre_humidity)
location = get_dst(humidity, humidity_location)
return location
seeds = [
3037945983,
743948277,
2623786093,
391282324,
195281306,
62641412,
769611781,
377903357,
2392990228,
144218002,
1179463071,
45174621,
2129467491,
226193957,
1994898626,
92402726,
1555863421,
340215202,
426882817,
207194644,
]
print(reduce(
lambda acc, curr: min(acc, get_seed_location(curr)),
seeds,
sys.maxsize,
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment