From bc388c31ff7d012ddcac3f516a21004d366486d5 Mon Sep 17 00:00:00 2001 From: "Pascal P." Date: Mon, 1 Dec 2025 16:03:16 +0100 Subject: [PATCH] Initial setup (part 2) --- inputs/day01.txt | 4099 ++++++++++++++++++++ src/day1.py | 35 + src/utils/__pycache__/load.cpython-313.pyc | Bin 0 -> 634 bytes src/utils/load.py | 4 + 4 files changed, 4138 insertions(+) create mode 100644 inputs/day01.txt create mode 100644 src/day1.py create mode 100644 src/utils/__pycache__/load.cpython-313.pyc create mode 100644 src/utils/load.py diff --git a/inputs/day01.txt b/inputs/day01.txt new file mode 100644 index 0000000..1d3d280 --- /dev/null +++ b/inputs/day01.txt @@ -0,0 +1,4099 @@ +L45 +R35 +R42 +R33 +L6 +L32 +R32 +R10 +L9 +L46 +R25 +L32 +L47 +R32 +L18 +L18 +R38 +L43 +R39 +R6 +R7 +R1 +R37 +R7 +L19 +R17 +L41 +L9 +R25 +L1 +R30 +R16 +R17 +L28 +L23 +R45 +L49 +R38 +R47 +R25 +L49 +L26 +L29 +L40 +R40 +L20 +L29 +L20 +L3 +L12 +R27 +L27 +L73 +R65 +L9 +R25 +R84 +R8 +R52 +L65 +L44 +R25 +R32 +R38 +L38 +L57 +L75 +L38 +R94 +R17 +R59 +L57 +L12 +L64 +L41 +R74 +L22 +R52 +R96 +L96 +L82 +L48 +L85 +L39 +R24 +L75 +R10 +L85 +R62 +R52 +R21 +R15 +L77 +R99 +R78 +R50 +L60 +L61 +R71 +L93 +R30 +L64 +R96 +L819 +L7 +R638 +R90 +L71 +L76 +L31 +L693 +R44 +R60 +L4 +R84 +R382 +R34 +R155 +L55 +R124 +R857 +L92 +R71 +L651 +L9 +L967 +L33 +R72 +R28 +L48 +L386 +R978 +L20 +R93 +L84 +L33 +R60 +L25 +R84 +L17 +R64 +L66 +L19 +R19 +L37 +R49 +L12 +L40 +R44 +R96 +R65 +L65 +L43 +L98 +R741 +R814 +L17 +R3 +R185 +L85 +R83 +R17 +L22 +L2 +R27 +L78 +R13 +L678 +L69 +L91 +R34 +L34 +L545 +L43 +R40 +R98 +L50 +L558 +R46 +L95 +R79 +R747 +L97 +L25 +L97 +L49 +R56 +L44 +R37 +L20 +L75 +L33 +L370 +L74 +R672 +L10 +L902 +R12 +R66 +R43 +R91 +R76 +L65 +L11 +R922 +L334 +L88 +L17 +R783 +R34 +R31 +L43 +R12 +L67 +L68 +L2 +L41 +R78 +R1 +R83 +R16 +L17 +R236 +R81 +L76 +R76 +L705 +L345 +L30 +L90 +R70 +L763 +L43 +R498 +L72 +R36 +R44 +R69 +R56 +L61 +L23 +R35 +R46 +R78 +R98 +R839 +L38 +L87 +L99 +L1 +R626 +R62 +R681 +L81 +L78 +R878 +L15 +L785 +R413 +R787 +L31 +L41 +R840 +L68 +R87 +L960 +L92 +R65 +L30 +L370 +L35 +L4 +R39 +R27 +R604 +R70 +R199 +R69 +R28 +L49 +L65 +R70 +R51 +R39 +L543 +R90 +R45 +R15 +R54 +L4 +L379 +L21 +R98 +L7 +R76 +L767 +R227 +R84 +R92 +L30 +L273 +L33 +L67 +R46 +R11 +L36 +R179 +L264 +R63 +R49 +R52 +L52 +L48 +R5 +L535 +R530 +L23 +L77 +R96 +L40 +L56 +L30 +L467 +L63 +L640 +R75 +L57 +R80 +R56 +L54 +L475 +L25 +R93 +L518 +L16 +L126 +R60 +R7 +L7 +R7 +L4 +R51 +R53 +R369 +R49 +R382 +R24 +R76 +L944 +R11 +L91 +R169 +R47 +R1 +L93 +R18 +L18 +R56 +R32 +L88 +R62 +L62 +R5 +R17 +R78 +L33 +R32 +R13 +L12 +L59 +L4 +R90 +L95 +L83 +R51 +R34 +R66 +R479 +R72 +L51 +L341 +R97 +R89 +R80 +R103 +L38 +L26 +L63 +L54 +L53 +L94 +L86 +R20 +R38 +L72 +L319 +R26 +L30 +R656 +L80 +L1 +L52 +L78 +R78 +L1 +L99 +L523 +L50 +L76 +R49 +R19 +R536 +L662 +L70 +R656 +L79 +R99 +R201 +R99 +R82 +L81 +R61 +R89 +L50 +R92 +L192 +L81 +R75 +L40 +L65 +R38 +L27 +L65 +L81 +R52 +L11 +R25 +R15 +L71 +R36 +L436 +L21 +L336 +R72 +R886 +L65 +L262 +R46 +R16 +R543 +R868 +R32 +L13 +R70 +R32 +R47 +R21 +R90 +R10 +R105 +R25 +L30 +L26 +L373 +L20 +L29 +R45 +R3 +R61 +L61 +R76 +R538 +R60 +R25 +L99 +R215 +L23 +L92 +L98 +L87 +R48 +L42 +R462 +L95 +L788 +L69 +L980 +R83 +L92 +L80 +L62 +L21 +R178 +L66 +L53 +R85 +R377 +L46 +L82 +R28 +L246 +R68 +R83 +R17 +L22 +R52 +L29 +R9 +L32 +L92 +L37 +R29 +R12 +R85 +L97 +L34 +L66 +L90 +R55 +R12 +R23 +L707 +L781 +L12 +L66 +R66 +R744 +R19 +L19 +L911 +L49 +R38 +L653 +L237 +R597 +R89 +L18 +L60 +L36 +R94 +L51 +R5 +L94 +R36 +R6 +R39 +L13 +L26 +R15 +L25 +L27 +R58 +L21 +R11 +L61 +R711 +L39 +L47 +L97 +L878 +L8 +R61 +R73 +R22 +L948 +R97 +L97 +L55 +R55 +R62 +L62 +R79 +R68 +L447 +R32 +R81 +R34 +L36 +L30 +L716 +R89 +R415 +L69 +L37 +L23 +L73 +L67 +L85 +L458 +L78 +L98 +R10 +L91 +R53 +R96 +L85 +R436 +L45 +R763 +L18 +R9 +L1 +L8 +R11 +R37 +L699 +R151 +R64 +R36 +R58 +R58 +L14 +R468 +R62 +R16 +R52 +R85 +L72 +R87 +L687 +L606 +L975 +R87 +L19 +L39 +R5 +R84 +R50 +L52 +L69 +R6 +R50 +R19 +R46 +L95 +L62 +R50 +L593 +L17 +L64 +L19 +L95 +R56 +L966 +L72 +R37 +R40 +L45 +R4 +R907 +L71 +L95 +L15 +R84 +R44 +R11 +R76 +L37 +R13 +L92 +L53 +R69 +R1 +L14 +R13 +R589 +L89 +L569 +L406 +R60 +R15 +R57 +L80 +R52 +L63 +R34 +R32 +R81 +R287 +R58 +R42 +L13 +R63 +L50 +R63 +R37 +L88 +R88 +R1 +R62 +L29 +L60 +L17 +R54 +L11 +L71 +L29 +R35 +L86 +R58 +L43 +L293 +R59 +L106 +L24 +R84 +R2 +L26 +R40 +R473 +R3 +L397 +R42 +R93 +L14 +R96 +L41 +L93 +L90 +L76 +L96 +L35 +R67 +L60 +R28 +L72 +R72 +L85 +R13 +R486 +R612 +L26 +L93 +L7 +R62 +R17 +R821 +R191 +R16 +L69 +L18 +L15 +R12 +R18 +L1 +R23 +L49 +R62 +L70 +L72 +R98 +R87 +R45 +R961 +L44 +R37 +R756 +L90 +R626 +R28 +L32 +R77 +R79 +R91 +R551 +L67 +L83 +R452 +L11 +R11 +R2 +R98 +R391 +L430 +R864 +L26 +R99 +R2 +R89 +L89 +R68 +R6 +R26 +L428 +R211 +L70 +R97 +L10 +R70 +L86 +R22 +R45 +R749 +R38 +R62 +R94 +L94 +R32 +R880 +L19 +R88 +R219 +R76 +L43 +L658 +R15 +R2 +R8 +L42 +R242 +L95 +R97 +L2 +R86 +R14 +L46 +L48 +R94 +L38 +L69 +L93 +L25 +R25 +L84 +R81 +R33 +R215 +L445 +R95 +R521 +R61 +R523 +R72 +R28 +R75 +R98 +L73 +L14 +L351 +L63 +R28 +L93 +R93 +R97 +L91 +R659 +R33 +L98 +R40 +L27 +R387 +R77 +R881 +R42 +L477 +R77 +R65 +R35 +R79 +L460 +R497 +L70 +R54 +R95 +R673 +R32 +L119 +L81 +R47 +R53 +R119 +R46 +L25 +R60 +R97 +L44 +L53 +L53 +L52 +L87 +R2 +R17 +L10 +R568 +L3 +L63 +R928 +R318 +R159 +R76 +R35 +R146 +L94 +R36 +R88 +L2 +R91 +R679 +L34 +R55 +R11 +L23 +R78 +L76 +L84 +L6 +L338 +R83 +R91 +R878 +R35 +L49 +R898 +R837 +R67 +R96 +L60 +R5 +R44 +R837 +L55 +L11 +L90 +L696 +L26 +L57 +R74 +L63 +L8 +R8 +R606 +L6 +R8 +L8 +R27 +R54 +L81 +R604 +L639 +R66 +L31 +L102 +L11 +R95 +L70 +R488 +L19 +R381 +L42 +R41 +L23 +L704 +L50 +L11 +R409 +R44 +R26 +R74 +L64 +R938 +R60 +L16 +R17 +L99 +R656 +R173 +L91 +L40 +R5 +R6 +R39 +L656 +L7 +R53 +R675 +R29 +L4 +L15 +L66 +L54 +R79 +R3 +R63 +R21 +L32 +R96 +L96 +L53 +R225 +R6 +R47 +L22 +L94 +R92 +L68 +L32 +R57 +R633 +R79 +L69 +L17 +L612 +L92 +R83 +L62 +R14 +R64 +R27 +L605 +R62 +R9 +L13 +L64 +R83 +L67 +L91 +R82 +L59 +L42 +L494 +R94 +R75 +L782 +L93 +L56 +L244 +R50 +R86 +L36 +R545 +L82 +L63 +R80 +L87 +L93 +L23 +L177 +L28 +R67 +R361 +R92 +R42 +R470 +L4 +L34 +L44 +R33 +R45 +R726 +L55 +R32 +L15 +R412 +L12 +L418 +R30 +L65 +R581 +R81 +L12 +R17 +L2 +R55 +R35 +R53 +L98 +L45 +R797 +L10 +L51 +L9 +L182 +R70 +R85 +L52 +R52 +L51 +L34 +R46 +R15 +L76 +L490 +R40 +L50 +R255 +L55 +L478 +L94 +R943 +L2 +L69 +R11 +L11 +L13 +R86 +L59 +L614 +R799 +L21 +L55 +R28 +L30 +R84 +R74 +L87 +L23 +L52 +L61 +L83 +L97 +L870 +L6 +R82 +R69 +R49 +R65 +R335 +L393 +R63 +L70 +L356 +R56 +R54 +R78 +R68 +L43 +L57 +R51 +R649 +L64 +R91 +L63 +L864 +L26 +R26 +R21 +R72 +L299 +R6 +L26 +R27 +R95 +L69 +L74 +R91 +R54 +L83 +L54 +L69 +R8 +R39 +R57 +R4 +R645 +R455 +L194 +R282 +L23 +R35 +L47 +R66 +L75 +R72 +R3 +R81 +R86 +R14 +L780 +L75 +R47 +R48 +R60 +L40 +L25 +L35 +L411 +R532 +L41 +L80 +L31 +L27 +L677 +R35 +R68 +L51 +R51 +L68 +R32 +R22 +L42 +R18 +L30 +R55 +L155 +L494 +R161 +L67 +L421 +R54 +L97 +L436 +L87 +R98 +R689 +L24 +L76 +L30 +R27 +R3 +R39 +L39 +L502 +R45 +R528 +R76 +R53 +R858 +L58 +R95 +R18 +R767 +R887 +L53 +R3 +R817 +R89 +R13 +R55 +R9 +R934 +L18 +L16 +L86 +R86 +R450 +R31 +R819 +R79 +R21 +R66 +R14 +R20 +R30 +L30 +R2 +R98 +L92 +L98 +L10 +R74 +L914 +L64 +L96 +L88 +L15 +L839 +L658 +R236 +L919 +R53 +R86 +R76 +R2 +L18 +R467 +R98 +R19 +R97 +L88 +L71 +R48 +R14 +L95 +L52 +L329 +L28 +R65 +R901 +L52 +L930 +R20 +R6 +L6 +L64 +R83 +L721 +L28 +L70 +L75 +L273 +R48 +L753 +R74 +L743 +L78 +L26 +L590 +L18 +L893 +L20 +L53 +R98 +R47 +R655 +R53 +L11 +R909 +R69 +L89 +R35 +R30 +R4 +R52 +R68 +R793 +R87 +L4 +R74 +R99 +R31 +L845 +L55 +L43 +L57 +R56 +R43 +L99 +L98 +L2 +L8 +R42 +R66 +R72 +L470 +L2 +L6 +L94 +R89 +R911 +R18 +L618 +R939 +L39 +L45 +R92 +R43 +L58 +L932 +R43 +L43 +L82 +L68 +R50 +L80 +L2 +L69 +R93 +R79 +R279 +L6 +R23 +L78 +R77 +R384 +L46 +R8 +L67 +R40 +R62 +R578 +L8 +R91 +R37 +R5 +R24 +R349 +R65 +R27 +R35 +R78 +R22 +L48 +L52 +R98 +R2 +L835 +L16 +L49 +R817 +L52 +R35 +L8 +L92 +R32 +L32 +R87 +R814 +L9 +L46 +R72 +R38 +R16 +R10 +R25 +L7 +L13 +R67 +R2 +L15 +L964 +L777 +R1 +L91 +L10 +R39 +R62 +R99 +R38 +R70 +L13 +R5 +R1 +L96 +L5 +L13 +R13 +R88 +L15 +R627 +R8 +R92 +L1 +L36 +L522 +L75 +L66 +R49 +R98 +L47 +R72 +L55 +R9 +L909 +L519 +R2 +R465 +L77 +R33 +R3 +R19 +L43 +L15 +L2 +L47 +L36 +R73 +R23 +R4 +L75 +L25 +L960 +R81 +R79 +L60 +L88 +L91 +L61 +L4 +L954 +R3 +L14 +L42 +L46 +R31 +R26 +R51 +R70 +L73 +L48 +R94 +L94 +L934 +R29 +L55 +R60 +L94 +R94 +R871 +R16 +L64 +R34 +L57 +L80 +R80 +L68 +L27 +L263 +R9 +L807 +L442 +L2 +L586 +L14 +L25 +L84 +R71 +R11 +R89 +L48 +R86 +R28 +R89 +R7 +R64 +R12 +L67 +R96 +L218 +R818 +L29 +L13 +R54 +L41 +R69 +R81 +L66 +L208 +R24 +R28 +R72 +R71 +R29 +L97 +L55 +L42 +L83 +R44 +R18 +L36 +L941 +L208 +R76 +L46 +L37 +R31 +R57 +R19 +L12 +R46 +R60 +R927 +R33 +R9 +R429 +L92 +L91 +L2 +L93 +L17 +L759 +L40 +R2 +R325 +R48 +R336 +L61 +L54 +L34 +R62 +R29 +L40 +L38 +R31 +L68 +L81 +L13 +L69 +L6 +L67 +L85 +R85 +L2 +R70 +R701 +L89 +L80 +R38 +L38 +R31 +L31 +R477 +L77 +R63 +R82 +R55 +R167 +L67 +L63 +R25 +R938 +L891 +R91 +R16 +R91 +L981 +R61 +L61 +R74 +L80 +L86 +L359 +L63 +R88 +R46 +R84 +R8 +L11 +L32 +L64 +L331 +R60 +R440 +L45 +L806 +R51 +R83 +L56 +L82 +R55 +L92 +R176 +L93 +L91 +L527 +L973 +L41 +R547 +R21 +R842 +R49 +R882 +L390 +R122 +L97 +L53 +R18 +R65 +R30 +L95 +L865 +L35 +R80 +R965 +L145 +L97 +L97 +R94 +L729 +R93 +R89 +R669 +R8 +L30 +R72 +R702 +L2 +L72 +R183 +L18 +L765 +L4 +R80 +L76 +L30 +L870 +L521 +L879 +L52 +R80 +L45 +L15 +L68 +L73 +R1 +L32 +R4 +R563 +L63 +L32 +L68 +L41 +L76 +L83 +R39 +L10 +R71 +R78 +L59 +R81 +R43 +L177 +L70 +L96 +R66 +R34 +L29 +R763 +R66 +L13 +L310 +L8 +L66 +R14 +R90 +R393 +R5 +R795 +R89 +R27 +R670 +R319 +L43 +L60 +R743 +L33 +R88 +R84 +R281 +R699 +L12 +R36 +L56 +L32 +R27 +L4 +L40 +R44 +R20 +R12 +L1 +R79 +L37 +R491 +R9 +L360 +R689 +R571 +R89 +L89 +L54 +R17 +L63 +L56 +R688 +L975 +R343 +L19 +R19 +L19 +L77 +L4 +R30 +R770 +L84 +R216 +R68 +L6 +R57 +L51 +R12 +L5 +L348 +R63 +R95 +L7 +L132 +L78 +R296 +R525 +R79 +L3 +L414 +L59 +R2 +R74 +R50 +L37 +R87 +L8 +L20 +R45 +L970 +R359 +L23 +L58 +R850 +R4 +L31 +R53 +R99 +R43 +L6 +R79 +R284 +L46 +L33 +R79 +R992 +R6 +R62 +R26 +R921 +R27 +R9 +L522 +R79 +R24 +R76 +R4 +L32 +L72 +R50 +L50 +L50 +R30 +R84 +R95 +R41 +R81 +R19 +R159 +L22 +L27 +L10 +R30 +L30 +R45 +L845 +L82 +R31 +L53 +L96 +R15 +L43 +L72 +R71 +L71 +R54 +L83 +L71 +L71 +R871 +R46 +L434 +L181 +R81 +L955 +R643 +R47 +R53 +R80 +R912 +L92 +R76 +L76 +R87 +R34 +L502 +R64 +L83 +L538 +L962 +R567 +L67 +L56 +L76 +R6 +L744 +L830 +L17 +R61 +L433 +L3 +R8 +L792 +R38 +L62 +R29 +R7 +R32 +L68 +R56 +R96 +R63 +L61 +L77 +L593 +L819 +L573 +R841 +L32 +L64 +R63 +L51 +L573 +L64 +R93 +L29 +L276 +L35 +R35 +R3 +L47 +L40 +L81 +R65 +R897 +L28 +L69 +R21 +R31 +R648 +L78 +L22 +L88 +L49 +R8 +R98 +R56 +R2 +R65 +R8 +L71 +L31 +R38 +L87 +R51 +R593 +L93 +L77 +L23 +R97 +L95 +R55 +L49 +R92 +R93 +L95 +R2 +R678 +R80 +L65 +R55 +R35 +R417 +R928 +L29 +L67 +L47 +R15 +R45 +L72 +R23 +R64 +L5 +L55 +L29 +R28 +R632 +L15 +L36 +L57 +L565 +R43 +L45 +L97 +L621 +R62 +L47 +L53 +L31 +R31 +R33 +R12 +L125 +L71 +L14 +L35 +L92 +L97 +R537 +R86 +L34 +L61 +L39 +L363 +R63 +L80 +L60 +R40 +R42 +L25 +L79 +L738 +L40 +R70 +R40 +R624 +L80 +R33 +R77 +L82 +L26 +L16 +R79 +R721 +L975 +L24 +R284 +R15 +R527 +L27 +R83 +R17 +R14 +R86 +L9 +R9 +R42 +R58 +R85 +L420 +L97 +R9 +L23 +L1 +L53 +R99 +L846 +R995 +R47 +R37 +R168 +L46 +R46 +R208 +R9 +L10 +L96 +L11 +L35 +L44 +R250 +L50 +L24 +L63 +R55 +R68 +R343 +R84 +L84 +L15 +L585 +L713 +L50 +R63 +R6 +L6 +R80 +R39 +R53 +L72 +R15 +R85 +L32 +L210 +L167 +R9 +L90 +R15 +L397 +R699 +R73 +L89 +R61 +R40 +R873 +L985 +L80 +R18 +L31 +L107 +L19 +L82 +R12 +L35 +L146 +L30 +L31 +L69 +R20 +R61 +L81 +R23 +R390 +R93 +L24 +L576 +R601 +R3 +R90 +R6 +R94 +L774 +R2 +R281 +L709 +R460 +R31 +L46 +L38 +L21 +R14 +R14 +L27 +R2 +R747 +L297 +R78 +R89 +R36 +L599 +R79 +L616 +R34 +L40 +R15 +R77 +L592 +R67 +R21 +R552 +L40 +L12 +R12 +R49 +R51 +R7 +L108 +L99 +L71 +R71 +L28 +R55 +L20 +L907 +R77 +R23 +R7 +R47 +R146 +L83 +R80 +L97 +L684 +L211 +R57 +L62 +R20 +L164 +L256 +L22 +L99 +L37 +L34 +L70 +R29 +L96 +R32 +R45 +L48 +L27 +R74 +R70 +R83 +R4 +L4 +R14 +R23 +R15 +L44 +L8 +R787 +R55 +R42 +R82 +R34 +L51 +L291 +L58 +R28 +R73 +L5 +R4 +R617 +R96 +L16 +R903 +L91 +R91 +R80 +L41 +R61 +R350 +R64 +L992 +L22 +R72 +R28 +L78 +R29 +R36 +L87 +R12 +L393 +R81 +L93 +L8 +L96 +R95 +R45 +R12 +L94 +R39 +L80 +L77 +L59 +R91 +R47 +R478 +R22 +L15 +R685 +L76 +R7 +L23 +R95 +L95 +R64 +R39 +L745 +L11 +R130 +L27 +L50 +L62 +L34 +R50 +R41 +L95 +R27 +R91 +L25 +L93 +R722 +L95 +L27 +L44 +L841 +R73 +L88 +R36 +L83 +L91 +R531 +L49 +L342 +R74 +R951 +R73 +R56 +L321 +L45 +L45 +L28 +L535 +R18 +R185 +R319 +R58 +R30 +R741 +R9 +L35 +R42 +R51 +R58 +L12 +R54 +L203 +R7 +L204 +L63 +R34 +L62 +L42 +R209 +L27 +R51 +L50 +L50 +L59 +L61 +L88 +R246 +L97 +L41 +L67 +R29 +R16 +R99 +R54 +L68 +L63 +R52 +L52 +R24 +L24 +L363 +R32 +R31 +L18 +R18 +L13 +L50 +L37 +R39 +R7 +L90 +R80 +R64 +L92 +L8 +L581 +R77 +L16 +L85 +L95 +L286 +L14 +R29 +L58 +L232 +L463 +R24 +R76 +L76 +R36 +R564 +R26 +R274 +L5 +L95 +R61 +L94 +L73 +R94 +R12 +R18 +L65 +R77 +L55 +L75 +L42 +L85 +L73 +L461 +L605 +L679 +R8 +R9 +R57 +R71 +R49 +L73 +R489 +L63 +L2 +L575 +L536 +R999 +L32 +L25 +R969 +R63 +L730 +R24 +L22 +R41 +L76 +R19 +L319 +R26 +R883 +L7 +R50 +R48 +R43 +R57 +R92 +L41 +L23 +R72 +R48 +R93 +R4 +L15 +L211 +L60 +R230 +R611 +L58 +R4 +R69 +R575 +L57 +L33 +R30 +R70 +L71 +R36 +L170 +L13 +L82 +L1 +R34 +L33 +L76 +L843 +L81 +R8 +R92 +L353 +L1 +L13 +R67 +L34 +L4 +L16 +R654 +R11 +R89 +R30 +L82 +R52 +L45 +L89 +R90 +L45 +L31 +L1 +R33 +L81 +L31 +L48 +L445 +L92 +L15 +R49 +L67 +L86 +R90 +R33 +R81 +R53 +L41 +L51 +L86 +L75 +R749 +R78 +R45 +R35 +R93 +R3 +L99 +L4 +L33 +R75 +L42 +R46 +R97 +L131 +L13 +R1 +L58 +R20 +L3 +R41 +L33 +L67 +L15 +R15 +L30 +R31 +L13 +L88 +R66 +R26 +R8 +R50 +L41 +L94 +L815 +R42 +L34 +R853 +R68 +L75 +L76 +R86 +L822 +L72 +R75 +L955 +R10 +L28 +L81 +L19 +L63 +R87 +R904 +L413 +L87 +R280 +L94 +R62 +R52 +L13 +R13 +L343 +R43 +L54 +L546 +R49 +R51 +L90 +L97 +L915 +R2 +R763 +R20 +L459 +L46 +L78 +L28 +R21 +R7 +L3 +R3 +L92 +R92 +R53 +R30 +L283 +R46 +R69 +R42 +R43 +R37 +L49 +L87 +R30 +L28 +R44 +R53 +L77 +R93 +R34 +R50 +L667 +R467 +R15 +R73 +L74 +L63 +L19 +L46 +L1 +L85 +R42 +L542 +L34 +R90 +L76 +L636 +L490 +L11 +L12 +R13 +R56 +L68 +L27 +L25 +R93 +R55 +L94 +R66 +L18 +L404 +R322 +L842 +L59 +L6 +L41 +L62 +R40 +L54 +R24 +R102 +L48 +R93 +L47 +L70 +L30 +L41 +L59 +R19 +R16 +L61 +L37 +R87 +L70 +L54 +R6 +L421 +R73 +L58 +L88 +R52 +L973 +R9 +R830 +R70 +L55 +L94 +R439 +L49 +R54 +L27 +L234 +L7 +R73 +R72 +L62 +R504 +L96 +R590 +L8 +R66 +L96 +L73 +R179 +R18 +L28 +L325 +R59 +R33 +R79 +L986 +L826 +L18 +L82 +L65 +R428 +L63 +R38 +R1 +L22 +L17 +R16 +L25 +L42 +L45 +L269 +R31 +R92 +L63 +R42 +R63 +L26 +R26 +R7 +R71 +R85 +R118 +L26 +R11 +R34 +L25 +L82 +L493 +L90 +R88 +L62 +R47 +L26 +L1 +L869 +R13 +R4 +L9 +L19 +R6 +L81 +R92 +R16 +L8 +R899 +L259 +L41 +R26 +R74 +L554 +R54 +L59 +L41 +L50 +R42 +R32 +R3 +R73 +R5 +R93 +L92 +L6 +L89 +R89 +L743 +L26 +L231 +R18 +R82 +R28 +R29 +R143 +R57 +L74 +R17 +R20 +L75 +L21 +R76 +R60 +R239 +L43 +R44 +L244 +L17 +R161 +R36 +L31 +R47 +R390 +L42 +L209 +L78 +L54 +L307 +L47 +L5 +R53 +L53 +R481 +R6 +R13 +L725 +R25 +R28 +L33 +L95 +R69 +R31 +L42 +R18 +R62 +R62 +L182 +R78 +R4 +R496 +R4 +L401 +R1 +L25 +R325 +L31 +L54 +L44 +R87 +L443 +L35 +R55 +L35 +R24 +R88 +R33 +R87 +L86 +L18 +L95 +L7 +R99 +L87 +R62 +L36 +R31 +R9 +R93 +R703 +R68 +R53 +R1 +L28 +R62 +L341 +L2 +R87 +R92 +L92 +R49 +R51 +R44 +R56 +L768 +L287 +R28 +L19 +R46 +R168 +L4 +R636 +L4 +L28 +L45 +R77 +R76 +R99 +R74 +R92 +R59 +L41 +R34 +L22 +L318 +R18 +R3 +L7 +L509 +L58 +R31 +L81 +L98 +L206 +R54 +R995 +R505 +L699 +R99 +L947 +R6 +R32 +L66 +L23 +R9 +L214 +R3 +R558 +L67 +R41 +L32 +L54 +L51 +R28 +R77 +R82 +R18 +R638 +L38 +R20 +L63 +L89 +L218 +L750 +L31 +L69 +L90 +R19 +R49 +R86 +R36 +L71 +L9 +L36 +L57 +R73 +R23 +L323 +R63 +R37 +L74 +L226 +R4 +R21 +R69 +L94 +R559 +L70 +R86 +L75 +R9 +R26 +R76 +R98 +R91 +L518 +R64 +L10 +R164 +R788 +L988 +R92 +L594 +L62 +L36 +L8 +R108 +R26 +R82 +L33 +R12 +R413 +R834 +L749 +R47 +R68 +R516 +L43 +R715 +R881 +L69 +R915 +R85 +R17 +R450 +R20 +R13 +R80 +L80 +L26 +L213 +R403 +R36 +R49 +L24 +L77 +L49 +R8 +R79 +L46 +L40 +L844 +L363 +R18 +L444 +R33 +R65 +L833 +L963 +L69 +R71 +L71 +R83 +L7 +L88 +L186 +R592 +L14 +R38 +L18 +L58 +R58 +L31 +R22 +R582 +R27 +L72 +L41 +R56 +L43 +L67 +L33 +R93 +L93 +R59 +L59 +R30 +R38 +R47 +R43 +R42 +L63 +L837 +R77 +R59 +R37 +L73 +L99 +L1 +R79 +L494 +L59 +R74 +R61 +L911 +R50 +L39 +L16 +R122 +L68 +R1 +L48 +L930 +L22 +R10 +R90 +L8 +R6 +L635 +L38 +R75 +R26 +L80 +R81 +L27 +R414 +L73 +R57 +L62 +R664 +L151 +L35 +R86 +L79 +R37 +R14 +R20 +R32 +L8 +R20 +L36 +L809 +L98 +L41 +R62 +L72 +L36 +R94 +L65 +L835 +L86 +R78 +R39 +R76 +R971 +R22 +R9 +R91 +L50 +L99 +R49 +L73 +R43 +R30 +L393 +L40 +R33 +R12 +R71 +R108 +R45 +L718 +R69 +L87 +L144 +R11 +R16 +L97 +R14 +R896 +L80 +L16 +R40 +R11 +L28 +R9 +L63 +R59 +L377 +L51 +R63 +L42 +L821 +R35 +L35 +R69 +L49 +R16 +L36 +L88 +R3 +R685 +R98 +L77 +L67 +R46 +L59 +L31 +L13 +R3 +R81 +L33 +R49 +L84 +R587 +R97 +R58 +R590 +R19 +L15 +R60 +R91 +L55 +R85 +R2 +R22 +L954 +L77 +R72 +L53 +R58 +L11 +R711 +L64 +R71 +L7 +R710 +R490 +L74 +L11 +R98 +L79 +L83 +L51 +R60 +R802 +R38 +R737 +R468 +L11 +R13 +L9 +L990 +L87 +R96 +R371 +L2 +L386 +R19 +L19 +R80 +R18 +R35 +L95 +L12 +R20 +R33 +R21 +R15 +L615 +L14 +L31 +R12 +L67 +L358 +L42 +R42 +L42 +R7 +L6 +L55 +L48 +R7 +R34 +R211 +R28 +L86 +R2 +L494 +L50 +L56 +L20 +L29 +L45 +R56 +R94 +L91 +R777 +L36 +R47 +R53 +L385 +L15 +R16 +L16 +L43 +R43 +R36 +R43 +R21 +R38 +L31 +L314 +L42 +L51 +L8 +L56 +L519 +L17 +R168 +R810 +L17 +R64 +R75 +R24 +L605 +L76 +R57 +L64 +L36 +R9 +L9 +R78 +R22 +R70 +R985 +L55 +R8 +R92 +R283 +L83 +L32 +L778 +R74 +R1 +L65 +L97 +L903 +L958 +R6 +L948 +L13 +L63 +L24 +R273 +R27 +L74 +L26 +R81 +R11 +L50 +R664 +R694 +R34 +L34 +L18 +R73 +R60 +L15 +L89 +L11 +L8 +L92 +L31 +L559 +L78 +R68 +R52 +R95 +R92 +L15 +R38 +R38 +R43 +L22 +R79 +L72 +R43 +R50 +L21 +R42 +R58 +L93 +L7 +R15 +L15 +R78 +R89 +R53 +L23 +L54 +R57 +L629 +R8 +R38 +R926 +L953 +L286 +L21 +R17 +R55 +R67 +R178 +L13 +R113 +L53 +R50 +R73 +L70 +L26 +R1 +R22 +L97 +L823 +L91 +R56 +R13 +L42 +L13 +L52 +R17 +R245 +L23 +L143 +R92 +R64 +R206 +R15 +L21 +R83 +L50 +L21 +L17 +R47 +R68 +R90 +R48 +L44 +R831 +R917 +R48 +L56 +L914 +L30 +R64 +R218 +R18 +L414 +R58 +R850 +L490 +R96 +L903 +L75 +R78 +L26 +L81 +L90 +R8 +R33 +R931 +R625 +L68 +R77 +L9 +L543 +R25 +L682 +R31 +L31 +L685 +L15 +L66 +R91 +R63 +L46 +L42 +L28 +L1 +L22 +R92 +L865 +L95 +R781 +R82 +R72 +R59 +R98 +L753 +L19 +R56 +L157 +L13 +R13 +R18 +L55 +L65 +R21 +L910 +L9 +L40 +L159 +R99 +L75 +R75 +R47 +R96 +R57 +L92 +L71 +R63 +R59 +L49 +R90 +R81 +R19 +R84 +R16 +R94 +R6 +L549 +R477 +L32 +L43 +L68 +R70 +L55 +L23 +L77 +L1 +L85 +L14 +R37 +R6 +R3 +R27 +R37 +L75 +L769 +R94 +R540 +R72 +L965 +R85 +R8 +R79 +L33 +L28 +L84 +L10 +L24 +L79 +R498 +L19 +L15 +R14 +L94 +L482 +L64 +R252 +L11 +L93 +L7 +L591 +R540 +L75 +L65 +R91 +R42 +L42 +L72 +R72 +L94 +R19 +L25 +L21 +L57 +R22 +R856 +L17 +L83 +R439 +L39 +L92 +R80 +R78 +R844 +L45 +L42 +R477 +R92 +R5 +L97 +R57 +R143 +L73 +L89 +R59 +R3 +L76 +R76 +R816 +R29 +L28 +R53 +R36 +L39 +R25 +R979 +L6 +L54 +R47 +L440 +R82 +L430 +L9 +R332 +L1 +L92 +L50 +R26 +L76 +L565 +L27 +R711 +L46 +R17 +R29 +R81 +L64 +R96 +L38 +R6 +R96 +R67 +R93 +R44 +L36 +R436 +L184 +L27 +R11 +R97 +L55 +R81 +R37 +R40 +R521 +R779 +R94 +R45 +L65 +L71 +R71 +R26 +L737 +R37 +L94 +R68 +R81 +L580 +R886 +L73 +R728 +R84 +R9 +L586 +L95 +R30 +L1 +R94 +L95 +R83 +L9 +R70 +R21 +L821 +L15 +R15 +R33 +L33 +L74 +R58 +R16 +L718 +L26 +R544 +R64 +L64 +R930 +L18 +L12 +L56 +R53 +R67 +R236 +L534 +L95 +L57 +R60 +L74 +L848 +L201 +L60 +R73 +L740 +L85 +R13 +L91 +L61 +L502 +R51 +R96 +L45 +R18 +R82 +L952 +R36 +R16 +L56 +L417 +R17 +R51 +L54 +L41 +R94 +L929 +R35 +R13 +L613 +R312 +R99 +R51 +L17 +L866 +L679 +R594 +R6 +L22 +R32 +R90 +R19 +L54 +L341 +L87 +R63 +L38 +R38 +L5 +R5 +L84 +R62 +L5 +L25 +L70 +R22 +L358 +R58 +L10 +L41 +R51 +L63 +R63 +R87 +R99 +R24 +L76 +R94 +L28 +L73 +L27 +L26 +R29 +R10 +R87 +L24 +L60 +R84 +R55 +L54 +L99 +R72 +L38 +R64 +R22 +L37 +R15 +R940 +R60 +L88 +R39 +R7 +R15 +L73 +R743 +R60 +R35 +R26 +R66 +L22 +R70 +R23 +L609 +R8 +L737 +L63 +L81 +R25 +R74 +R82 +R36 +L51 +R28 +L21 +L30 +R538 +R656 +R40 +L96 +R66 +L52 +R29 +R202 +L76 +R31 +R73 +R37 +L734 +R24 +R77 +L77 +L68 +R54 +R7 +R98 +L91 +L32 +L49 +R11 +L4 +R43 +R80 +R2 +R20 +R653 +R89 +R787 +L11 +L17 +R28 +L59 +R59 +L82 +R75 +R35 +R70 +L898 +R198 +L79 +L27 +L92 +L13 +R35 +R534 +R12 +R58 +L26 +R386 +L27 +L12 +R80 +L83 +L30 +L17 +L54 +L43 +R77 +L77 +L38 +L962 +R96 +R451 +R61 +L8 +R962 +L94 +L68 +R64 +R36 +L14 +L11 +R15 +L12 +L62 +R985 +L25 +L76 +L51 +R34 +R217 +R61 +L913 +R52 +R86 +R11 +L69 +L18 +R90 +L379 +L70 +R92 +R57 +R9 +L81 +R37 +R35 +R92 +L5 +L63 +R776 +L611 +L585 +L60 +R79 +R15 +L923 +L92 +L97 +R37 +L85 +R19 +R703 +L81 +L60 +R962 +L96 +L897 +L28 +L155 +L45 +L18 +R61 +R793 +R49 +R522 +L31 +L176 +L3 +L33 +L89 +R861 +L40 +L22 +R35 +R91 +L40 +R40 +L1 +L32 +R51 +R36 +L546 +L50 +L90 +L468 +L76 +R76 +R87 +L184 +R90 +L76 +L17 +L82 +L79 +L913 +L77 +R80 +L29 +L95 +L58 +R53 +R52 +L68 +R92 +L50 +L39 +R213 +L99 +L1 +R845 +L45 +L94 +R99 +R31 +L37 +L95 +R96 +L94 +R67 +L673 +R24 +L24 +L26 +R823 +L397 +R93 +R48 +R69 +R90 +L82 +L6 +L62 +R50 +L17 +R117 +R10 +R658 +R846 +R59 +L5 +L68 +R42 +L48 +R5 +L99 +L839 +L49 +L137 +L75 +L47 +R47 +R68 +L68 +L108 +L64 +L28 +R43 +L43 +L6 +R6 +L21 +L611 +L568 +R33 +L25 +L8 +L37 +R35 +L53 +L18 +L90 +R875 +R88 +R69 +L69 +R498 +L98 +L33 +L67 +L448 +R3 +R40 +L81 +R74 +R15 +R72 +R625 +L86 +R86 +R4 +L78 +R92 +L96 +R20 +R58 +L2 +L98 +L20 +R86 +L16 +L21 +R22 +L92 +L59 +L3 +R98 +R5 +L61 +L80 +R58 +L17 +R73 +R90 +R3 +R4 +R97 +R33 +L32 +R72 +R20 +R49 +L14 +L95 +R53 +L53 +R93 +R7 +L17 +R33 +R56 +L22 +L49 +L81 +R80 +L93 +R58 +R35 +R70 +L18 +R33 +R10 +R21 +L40 +R8 +R11 +L2 +L3 +L45 +L30 +L3 +R5 +L46 +R37 +L25 +R16 +R9 +R9 +L40 +R6 +L6 +R26 +L44 +R27 +L47 +R25 +R20 +R30 +R28 +L45 +L33 +L42 +R18 +R34 +L14 +L37 +L43 +R25 +R28 +R26 +R31 +R6 +R21 +R28 +L40 +R5 +L39 +R13 +L7 +L35 diff --git a/src/day1.py b/src/day1.py new file mode 100644 index 0000000..8a236e7 --- /dev/null +++ b/src/day1.py @@ -0,0 +1,35 @@ +from utils.load import get_input + +def solve_part1(): + count = 0 + current = 50 + data = get_input(1).splitlines() + #data = [ "L68", "L30", "R48", "L5", "R60", "L55", "L1", "L99", "R14", "L82" ] + for value in data: + previous_value = current + if value[0] == 'L': + current = (current - int(value[1:]) ) + else: + current = (current + int(value[1:]) ) + + nb_rotation_zero = 0 + if current > 0: + nb_rotation_zero = current // 100 + current %= 100 + elif current < 0: + nb_rotation_zero = 1 + abs(current) // 100 + current = current + 100 * nb_rotation_zero + else: + nb_rotation_zero = 1 + + if previous_value == 0: + nb_rotation_zero = max(nb_rotation_zero - 1, 0) + + count += nb_rotation_zero + print(f"{value} -> {current} (+{nb_rotation_zero}) (count: {count})") + print(count) + + + +if __name__ == "__main__": + solve_part1() diff --git a/src/utils/__pycache__/load.cpython-313.pyc b/src/utils/__pycache__/load.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..859fb4ed131257f81555712c8a958ab1d0b2fa54 GIT binary patch literal 634 zcmZutzi-n(6uygp#Hm#kx_}svOS*VSRZ=2agd!>`gg~l7PMvy^<=U6Tkz+^abJcc0 z>O>DxCSDC)k;AF;^Bc<;RiFf+zGSV?3j+m#zJWjmPvL z4f28Nru*S3u#1cwa>j#b=1FJA9>dYkH!RP{wZoNbBh!4fB{a`5o9QciDY_nT9d`f$q+9j8pun OIzx)Ds=pSz=>H8;%#z6f literal 0 HcmV?d00001 diff --git a/src/utils/load.py b/src/utils/load.py new file mode 100644 index 0000000..2180db8 --- /dev/null +++ b/src/utils/load.py @@ -0,0 +1,4 @@ +from pathlib import Path + +def get_input(day_number: int) -> str: + return Path(__file__).parents[2].joinpath("inputs", f"day{day_number:02}.txt").read_text(encoding="utf-8") \ No newline at end of file