This commit is contained in:
Stefan Harmuth 2025-12-06 06:42:52 +01:00
parent db7cf58798
commit e1f076a24f
3 changed files with 77 additions and 0 deletions

68
day06.py Normal file
View File

@ -0,0 +1,68 @@
from tools.aoc import AOCDay
from tools.math import mul
from typing import Any
class Day(AOCDay):
inputs = [
[
(4277556, "input6_test"),
(4076006202939, "input6"),
],
[
(3263827, "input6_test"),
(7903168391557, "input6"),
]
]
def parse_input(self) -> list[tuple[list[int], int]]:
p = [l.split() for l in self.getInput()]
l = len(p[0])
r = []
for x in range(l):
r.append([y[x] for y in p])
return [(list(map(int, x[:-1])), x[-1]) for x in r]
def part1(self) -> Any:
ans = 0
for numbers, op in self.parse_input():
if op == '+':
ans += sum(numbers)
else:
ans += mul(numbers)
return ans
def part2(self) -> Any:
lines = self.getInput()
ops = lines[-1].split()
l = max(len(x) for x in lines)
rotated = []
for i in range(l):
rotated.append("".join(x[i] if len(x) > i else " " for x in lines[:-1]))
i = 0
ans = 0
total = 0 if ops[0] == '+' else 1
for n in rotated:
if not n.strip():
ans += total
i += 1
total = 0 if ops[i] == '+' else 1
continue
if ops[i] == '+':
total += int(n)
else:
total *= int(n)
ans += total
return ans
if __name__ == '__main__':
day = Day(2025, 6)
day.run(verbose=True)

5
inputs/input6 Normal file
View File

@ -0,0 +1,5 @@
5 679 21 1766 81 75 16 993 2897 28 534 9545 5 5922 63 6 732 569 579 727 63 57 931 1854 55 834 441 32 72 33 3 365 56 718 96 278 985 47 364 34 58 76 99 495 15 78 736 87 4324 456 361 42 3126 69 76 7994 533 31 67 8 176 2 14 623 6628 5 8 49 9114 6 96 35 725 994 87 37 34 8 367 8 697 778 34 96 8 7 911 194 684 97 75 829 37 2 369 526 35 62 57 9613 16 68 2 96 7 38 34 2 169 866 92 718 49 38 22 5 9 1 489 639 21 19 399 71 89 298 6 984 55 21 68 9 694 6 554 5 1398 4212 2272 35 48 55 46 5639 3 86 199 6 286 33 628 63 39 82 22 4 1 631 5 143 4595 859 811 31 6 459 5 863 3 475 22 7 179 72 461 76 679 57 8 6867 65 74 5931 31 494 77 6369 152 3 141 379 5791 99 3 678 33 245 92 66 774 86 3 2 17 3 33 187 6 58 23 483 365 19 4 46 767 289 39 74 8562 32 774 715 48 87 76 96 8 33 18 11 35 973 78 145 377 4 46 9655 64 321 56 1 779 95 716 388 6 28 578 31 68 5648 67 467 918 4 3 364 433 9 786 198 52 92 97 41 679 9 974 32 87 17 7434 41 27 9931 1 38 796 8594 27 24 16 5 968 26 18 5 242 2159 24 95 8 24 365 1269 49 767 83 66 951 921 75 3123 8 454 86 71 291 1 22 9416 2 442 33 53 4 1 8562 7 4 74 1 551 8 99 925 892 57 8 7 93 58 19 591 36 21 72 64 51 33 651 95 52 44 19 2268 37 829 77 17 2 279 144 47 273 37 43 5 28 21 91 25 11 767 2359 55 17 8 663 4 9 662 357 85 4865 596 429 13 58 57 9 366 5 11 4 13 57 2 46 3 83 92 7 78 76 281 3161 485 2558 2 968 178 4 926 463 35 872 2586 7 42 716 28 13 17 6 6 7 62 59 6239 4168 132 528 37 23 287 38 88 66 566 77 3 94 41 56 946 83 183 85 47 53 36 955 7 647 94 959 67 39 494 32 9 641 16 219 27 6 4 21 5 5 32 85 7 7713 53 3 65 33 15 48 649 13 9 26 977 96 84 9 74 727 97 339 36 88 94 61 3 985 932 128 32 22 118 54 7 272 61 527 93 1 226 5 81 11 41 8 767 3 625 37 973 195 3 3 97 8 674 1 765 3 1278 954 69 98 66 49 4 2378 4 34 52 13 41 32 675 1 89 338 294 6 677 217 34 33 16 47 83 717 11 384 3 51 87 6453 8348 34 13 344 5 431 615 658 3 334 9 81 3 12 85 877 4667 66 3 3 482 55 67 55 93 45 9 194 3 47 25 9 8 33 763 4191 71 39 9 39 52 7 995 4 838 863 2 1 891 1376 5 67 7 36 1315 8 4314 81 335 659 3 184 83 542 15 3583 11 7 6 91 634 45 9 2 375 19 695 1 4 196 47 25 993 4 56 96 44 84 568 41 152 82 3826 946 9597 23 11 419 13 638 3176 425 12 44 42 6545 74 6827 94 58 347 33 3457 82 5826 452 3 942 844 557 264 35 171 6 98 942 2255 4 437 37 4 5225 179 9225 8 67 8318 8 6696 7 2137 21 381 49 91 31 27 15 4 9 428 437 82 976 869 51 413 31 5 3164 6 7852 97 18 5 22 142 78 6 42 4 347 62 298 62 8 957 5 23 334 66 78 156 75 92 37 53 65 581 64 74 7 9 863 453 269 79 156 551 72 757 99 6 1358 224 94 415 1 3 23 1 371 4 846 23 93 76 6 45 41 68 739 93 57 7733 7582 38 7899 962 3 7 8 66 96 37 91 6 13 758 55 71 4472 9552 1365 518 16 6 1 85 372 71 115 891 7586 327 681 448 93 17 2 97 9 46 44 29 99 5225 62 6461 1 6 17 99 583 2911 285 7129 368 9889 29 12 515 942 1953 56 6 964 36 2 46 729 14 2 5335 56 3 66 273 82 625 81 42 262 3 37 36 876 519 91 21 97 74 8 99 88 849 965 767 1 87 945 384 3 7 22 35 4 159 7 349 388 81 4289 348 41 1 39 74 7 93 648 9 5 2 51 3 295 9445 99 314 58 14 581 66 354 99 8563 79 81 82 84 9 7192 517 16 677 64 58 3 19 25 3 195 1 51 432 414 6 6 3773 12 466 2 865 26 429 3 57 7 94 37 29 52 26 731 158 57 2939 27 4 9 87 9 922 144 5332 23 677 285 2 612 5 8 377 38 8841 42 31 776 13 95 62 49 97 82 7979 12 3 368 92 45 1889 1 266 715 49 92 64 51 14 645 5 632
5 847 87 277 81 51 62 98 823 64 254 144 37 3422 1 1 636 778 546 317 98 82 971 336 89 838 153 11 291 449 3 384 9448 511 254 118 545 1 682 51 48 9933 4 726 91 7 319 18 9178 273 875 76 7472 846 336 4664 19 65 8676 69 627 3 24 631 5882 85 269 41 152 6 49 221 685 525 8411 36 46 11 988 61 671 656 31 83 93 7 148 223 895 57 783 696 52 7 6 597 43 662 48 395 33 91 71 66 1 43 96 95 825 844 831 553 91 74 13 87 116 3 9136 34 62 92 381 311 87 4 4 46 25 55 63 7 397 9 484 26 6451 2331 1387 44 253 224 64 3698 2273 753 672 79 171 346 726 73 23 13 4 57 73 387 42 273 7928 935 773 33 3 148 3 749 7 378 23 79 829 77 85 16 314 36 59 784 88 85 8936 33 932 96 8317 122 45 836 178 3443 58 7 31 82 957 421 49 45 21 11 8 67 3 33 443 822 77 73 912 896 39 33 53 57 537 52 63 5722 673 775 31 621 825 37 57 1 2429 71 29 43 188 97 187 778 48 61 8249 66 8551 42 65 25 83 263 548 25 29 574 12 24 7234 61 65 448 41 214 366 844 3 277 131 96 731 873 52 424 4 664 543 69 7974 939 64 91 7737 763 56 1443 1773 69 41 85 2 87 45 51 61 782 7127 62 39 3414 69 717 4995 47 562 61 21 834 74 19 4392 2298 871 239 49 429 677 37 4746 16 681 27 29 1 3 7831 6 97 267 24 3351 77 35 473 761 54 78 8 26 32 524 338 68 59 863 261 17 27 168 51 686 12 422 7441 41 193 32 78 71 323 44 15 627 86 31 22 49 69 639 97 87 99 4348 12 597 12 216 94 49 934 312 25 5919 824 474 77 993 3354 46 86 164 96 763 82 23 4 87 2 99 31 48 5 877 567 3248 372 6716 71 132 1179 94 983 515 68 823 6357 81 33 951 84 77 15 576 1 847 761 246 5987 5647 849 85 93 95 984 28 21 877 658 28 758 84 19 28 728 43 297 86 27 85 235 71 8 895 58 218 42 98 626 491 71 824 26 893 58 44 83 57 54 8 529 16 4 9411 76 141 49 94 72 399 645 41 9 14 757 67 73 82 17 452 24 152 27 88 75 84 29 91 332 588 996 15 281 62 45 627 26 346 15 15 86 1 656 38 114 39 365 6 797 493 454 556 3 713 23 43 285 614 598 33 2358 14 61 73 87 745 21 7913 64 11 38 25 44 21 468 81 87 287 479 6 171 851 96 46 63 25 27 679 64 725 63 513 4 1365 865 35 77 943 41 616 258 369 13 649 78 847 426 9 79 82 8284 67 541 14 248 65 72 18 7694 48 984 686 618 67 49 5 45 52 864 928 91 93 135 94 43 51 343 1 638 914 41 74 613 3514 5 82 24 18 1533 11 4121 65 724 521 7 732 164 364 15 7931 69 91 27 19 872 862 94 91 99 59 284 4 5 364 15 153 871 82 43 26 482 41 217 218 463 85 6112 947 9549 38 78 62 43 267 3389 737 45 856 54 6484 246 2527 733 25 247 42 3878 22 6337 721 9 638 818 735 772 668 528 46 37 826 7929 52 589 77 81 6115 374 5788 8 33 3697 6 9644 5 524 77 785 75 44 44 912 9 4 69 168 515 2 191 818 8457 745 832 37 1441 335 9449 973 55 586 74 934 542 28 44 36 864 88 9333 85 2 738 4 49 734 836 522 758 17 92 921 51 99 31 62 157 8 92 174 8466 872 29 3931 949 43 256 57 73 2446 837 75 864 25 62 15 66 776 7 528 57 693 328 69 64 42 71 572 45 46 644 9995 15 9993 696 4 4 14 85 12 83 67 4 19 626 84 929 6989 876 575 843 4 4 7797 12 847 25 87 345 1859 8797 644 673 92 12 73 83 78 348 85 77 14 132 515 4462 31 7 6483 641 679 9816 941 5761 834 2196 443 98 898 996 6358 19 62 439 53 63 94 755 68 19 314 71 9 91 339 13 2874 67 95 193 6 28 6944 476 76 39 487 8141 756 34 527 89 729 652 54 977 41 832 633 5 77 82 16 13 181 82 662 665 125 191 671 81 5 287 39 5 94 187 1 78 59 42 895 846 6521 837 848 127 66 276 3 768 87 9335 47 39 69 336 41 1817 839 14 867 9 84 27 53 123 9 323 9 45 1462 9684 4 3 9465 59 186 17 114 23 976 35 84 68 95 211 63 71 24 684 384 419 7585 642 99 1 76 87 174 351 4145 89 51 516 4 362 91 3 946 53 2991 634 92 459 95 24 81 84 59 47 165 35 97 448 65 17 1332 54 857 21 22 45 33 273 49 972 1 875
61 86 49 467 38 211 37 55 3 38 945 644 94 394 3 52 535 977 923 875 24 8 837 262 21 64 246 51 6193 847 43 62 4567 386 848 623 9711 4 29 7126 574 6241 9 94 7 3 69 7 912 795 529 49 9185 362 533 4554 56 32 5628 11 85 7 845 89 5656 716 787 93 477 72 83 864 785 967 7461 71 71 75 439 42 896 949 31 39 53 89 463 61 15 942 296 59 9 14 4 826 72 927 43 763 24 36 72 61 21 65 6 32 112 666 237 421 957 32 48 34 3233 47 7749 4 62 83 342 931 1 7 31 9 27 417 33 93 735 59 59 38 25 467 597 3 4741 753 77 941 1778 915 877 96 146 9783 862 98 34 89 7 32 21 998 563 688 1533 611 617 71 52 525 549 534 61 493 58 32 86 99 7 88 9921 18 18 93 92 881 648 63 36 15 6242 753 915 512 2 8752 51 5 86 22 38 279 915 94 46 539 13 95 3 13 335 497 84 63 112 1496 38 555 863 38 146 166 13 7636 879 83 85 5973 319 73 138 74 6819 93 61 6 151 35 889 888 65 69 3798 16 6295 33 18 98 52 931 685 524 2 923 9 51 7347 8 63 551 58 373 673 47 8 15 992 34 494 626 53 67 63 212 143 66 8486 52 32 3 42 471 78 8928 5132 93 191 59 937 98 24 79 66 35 7133 56 2852 1765 68 552 333 59 635 61 87 367 44 563 3138 2535 497 6495 76 596 189 144 4374 51 378 46 45 128 6 3348 49 54 174 8593 4636 23 8 927 9378 3 97 65 49 45 846 287 39 69 8917 498 4 41 583 71 264 73 754 6566 31 217 41 85 221 282 19 19 689 14 64 61 59 39 621 86 8 42 73 35 294 77 82 66 416 754 212 76 711 428 6267 35 268 1629 529 8 657 73 151 74 29 22 87 28 4 54 474 8 415 577 55 518 311 18 4275 8218 218 894 869 25 356 534 38 62 633 6 81 75 997 52 188 5762 675 2492 94 822 71 77 96 7 39 868 456 619 17 742 24 16 54 2 22 831 7343 18 28 684 3 68 198 8 133 635 23 881 577 923 68 76 29 34 94 25 14 778 37 611 64 84 519 2 588 35 35 2 5771 921 44 8 21 33 33 66 487 2 553 62 46 99 56 656 25 232 32 75 931 2173 73 481 8 46 591 82 463 58 62 3 61 154 65 6973 37 247 53 82 5256 626 64 26 388 369 96 471 6172 143 59 329 14 91 8 9 7624 54 4623 61 72 79 82 1583 25 397 563 49 625 945 51 624 64 77 13 94 96 8 371 59 296 64 379 5 3862 143 38 3 389 8866 943 634 647 44 583 115 561 694 2 61 79 88 66 4139 19 999 52 84 19 5238 85 814 293 866 99 24 52 53 77 54 468 63 7 346 52 42 21 898 92 367 2 841 38 629 7369 119 81 632 27 7276 43 621 19 8293 753 48 339 251 16 817 95 74 22 76 5 26 823 26 756 12 93 758 91 55 56 776 684 73 88 15 13 165 4 138 436 543 68 114 417 3897 95 68 22 55 124 551 178 18 192 99 13 5515 4427 572 65 8114 3 283 64 785 864 257 72 12 826 59 265 852 49 56 25 823 42 239 98 53 5155 9 5397 23 8658 8957 1 54 12 863 2 166 59 27 71 789 5 24 337 18 816 9 278 671 9581 424 5652 12 9895 662 215 718 36 752 93 38 694 38 42 32 748 21 4473 87 997 697 66 33 125 666 276 51 4 94 581 15 2 99 2 737 22 131 6899 9734 281 88 9989 744 52 931 94 443 873 567 57 987 13 71 94 66 999 58 619 1 972 873 888 46 98 95 896 2 25 155 8 84 16 72 85 9 95 98 38 4 79 13 2 48 78 9216 128 774 15 297 3 89 3261 11 183 64 73 641 2965 6481 143 75 679 199 34 4 52 499 68 2 71 3 715 3868 34 2675 7711 827 461 387 13 8194 135 569 222 365 749 934 889 96 29 983 31 61 28 63 37 96 259 82 14 28 138 85 2963 57 54 78 1 77 3518 9342 78 76 554 6212 7274 36 6275 62 895 69 24 619 48 358 732 27 26 15 673 57 938 65 28 23 359 468 592 14 47 2137 35 4 47 2 71 84 76 28 982 672 432 898 759 598 37 162 1 823 28 6372 692 55 3 762 1863 123 928 67 767 9 261 783 71 915 29 7472 875 15 8723 6714 3 8 945 49 557 719 4493 5 466 756 85 45 9 428 54 457 71 184 487 681 1939 265 844 68 8 16 626 71 52 6 88 363 73 976 392 97 281 54 1252 715 81 77 86 49 16 782 272 72 76 66 23 66 25 72 9313 759 111 85 25 24 23 511 34 718 7 39
62 3 73 51 77 483 23 49 8 5 3 5 95 634 3 77 379 915 337 714 56 8 53 24 1 11 39 768 4979 797 485 9 9224 7 785 576 9984 2 75 1713 713 3899 4 74 9 4 1 7 256 678 524 89 113 518 759 2741 11 23 9429 15 6 99 189 6 163 273 211 9 45 75 71 418 145 76 7662 1 15 24 449 16 86 37 1 88 78 28 53 7 96 899 796 7 1 82 6 48 6 631 97 49 68 71 38 85 685 5 2 61 1 541 222 6 522 7 18 46 5317 44 7842 6 9 6 138 776 8 9 59 5 51 9728 78 55 118 51 2 88 33 17 142 7 7697 876 9 8 7157 742 218 46 4 1536 269 16 5 13 9 66 56 82 379 323 177 63 12 18 61 7 735 74 57 1 84 12 7 53 6 13 7462 81 67 1 7 559 49 28 53 8 52 825 973 15 5 43 4 53 41 29 5 835 484 3 98 271 49 26 62 39 125 656 62 63 89 3247 62 137 4683 39 48 414 87 7 148 47 9 7838 317 7 583 74 6188 8 36 3 34 31 22 96 36 97 16 4 5252 65 57 4 84 13 65 866 2 575 3 91 47 1 4 129 26 179 238 67 84 65 834 44 783 638 44 51 59 384 381 171 1587 89 71 3 62 919 63 8772 69 78 785 73 176 9 85 41 99 65 53 39 9883 7466 56 16 74 75 965 2 5 29 15 736 853 8747 973 4645 65 296 249 778 675 493 559 19 72 265 67 892 44 47 167 6976 6747 95 1 76 3175 7 25 332 4 33 267 568 239 59 3117 336 1 529 372 9 914 89 779 9 49 562 69 9 755 263 55 99 735 3 37 17 91 77 384 37 8 23 27 37 323 36 17 82 691 7 53 95 93 986 2581 2 245 7128 944 5 3983 45 431 12 19 472 23 84 2 71 332 6 515 71 7 23 222 28 3842 1221 539 345 8 41 57 5 97 85 831 6 3 7 293 41 165 9627 926 579 9 7 5 6 9 3 48 326 725 312 9 946 83 68 99 5 45 834 2187 1 883 115 4 45 741 9 7 714 73 37 946 286 18 69 37 5 38 62 6 874 93 584 97 961 7 2 688 397 39 8 9536 81 67 624 4 5 251 73 925 3 16 1 1 72 1 876 84 918 8 7 33 6542 65 759 9 78 37 78 75 35 9635 7 325 325 41 7764 64 56 82 58 4846 516 54 53 859 474 47 257 6159 142 65 245 56 51 6 2 8637 531 724 828 74 7 72 4951 5 48 836 38 671 95 99 4 2 12 5 25 8 5 1 78 48 92 431 9 74 32 97 6 7 4666 72 672 972 421 595 289 5467 683 7 26 2 39 36 2481 49 211 12 33 5 7955 26 457 95 354 34 81 16 24 6 3 26 48 6 455 22 61 94 15 44 533 9 356 48 316 894 749 57 213 3 7417 647 89 58 7345 8 14 92 882 85 574 68 64 945 49 6 1 164 95 483 34 73 476 94 31 33 944 266 5 82 33 786 894 5 87 111 783 5 43 138 9933 37 82 87 94 29 6 562 93 684 19 52 4724 852 9129 73 8899 8 97 189 934 485 523 39 6 143 22 933 519 26 5 52 24 93 197 2 33 78 8 129 27 4517 44 15 57 12 39 8 825 92 57 43 338 7 56 379 59 892 9 17 161 9847 262 3915 51 645 5839 48 812 79 938 5 4 279 36 57 63 28 74 7737 18 776 841 84 35 254 266 276 8 8 82 667 2 1 58 1 169 71 566 5875 5531 28 679 6451 347 56 11 4 481 78 935 8 95 93 16 72 38 92 66 71 7 192 449 146 3 61 2 97 6 53 48 6 372 33 8 36 16 99 25 99 8 39 46 5 75 1 2162 418 63 72 48 4 21 9979 6 559 84 13 25 644 1767 5983 54 244 355 13 3 33 141 61 2 67 9 461 7636 56 3489 2564 617 9734 34 6 522 14 297 313 873 7 1 61 2 56 79 92 47 73 28 81 19 587 1 48 67 44 3 9453 3 7 6 67 654 7928 8554 6 1 365 7847 1745 46 3536 72 16 3 94 464 5 723 25 17 946 2 642 573 954 78 24 12 5381 166 798 87 63 2353 24 43 16 8 75 27 22 4 999 9469 572 687 73 569 5 875 3 863 3 8818 162 33 9 764 6489 282 217 53 45 1 948 416 1 517 15 9316 296 3832 7164 5511 48 82 32 49 626 7956 3553 5 484 614 8 875 1 215 3 852 4 98 297 459 668 594 456 89 2 54 39 48 5 5 8 98 33 4 941 66 292 24 793 225 58 6 2 4 5 674 647 55 6 34 593 59 69 52 2489 421 148 7 66 83 5 951 27 29 74 9
+ * * + + * + + + * + + * + * + * * * * + + + + * + * * + * + * + + * * + * * + * + + * * * * * + + + + + * + + * + + + + * * * + * + + + + + * * + + * * + * + * * + * * * + + * + * * + + + * + * * + + * + * + + * + * + * + * + + + + + + * + * * + + + * * * + * + + * * * + + + * + * * + + * * * + + + + + * * * + + * + + + * * * * + + * * * + * * * + + * * + * * + * + + + * + + + + * * * * * * + * * * * * * * * * * * + + + * + * * * * + * + * + + * * + + * * + * * * * + + + * + * * * * * * + * * * * + + * * + * * + * * * + + + * + * + * * + + * + + + * + + * * * + + + + + + + * + + * + + + * + + * * * + + * + * + * + + * * + + * * + + * * + + * * * + * * + * * + * * * + + + * + * * * * + + + + * * + * * * * + * * * * * * + + + * + + * * * * * + + + * * + * + + + + * * * * + * * * + * * + * + * + + * * * + * + * + + * + + * * * + * + + + * * * * * + * + + + * * * * * * + * * + + + * * * + * * + * + * * * * * * + * + + + + * * * * * + * + + * + * + * * * * * + + + * * * * * + + + * + * + * * + * + + * + * * * + + + * + + + * + + * * + + * * * + * + + * * * + * + * + * + * + * + * * + + * * * * * * + + * * * + + + + * + * + * + * + + * + * * * * + + + * + * + * * + * + + * * + + + * + * * + * + * + * * + + + + + * + * * * + * * + + * * * + * * * + + * + * + * + * + + * * + + + + * + * + + * + + + + + + + + + + + + + + + + + + * + * * + * * * * + + + * * * + + * + * + + * + * + * + * + + * * * * * + + * + + * + * + + + * * * * * + * + + * * + + * + * * * * * + * * * * + * + * * * + + * * + + * * * * + + * + * + * * + * + * * + * + * + + * * + + + + * + + + * * * * + * * * + + + + * + * + + + * * * + + + + + * * + * * * + + + * + * + + + + + * + * + + * * * + * + * * + * + * + + + + * * * + + * * + + + + * * * + + + + * + + * * + * * + + + + + + + + + + + + + + + * * + * * * * * * + + + * * * + + * * + + * + + + + + + * + * + * * * + * + + + * + + * * + + + + + + * * * + + * * * * + * * + + * + + + * * * * * * + + + + * * * * * * + + * + * * * * + + * * * * * + * + + + *

4
inputs/input6_test Normal file
View File

@ -0,0 +1,4 @@
123 328 51 64
45 64 387 23
6 98 215 314
* + * +