Compare commits
6 Commits
81eebf8df8
...
44079842d2
| Author | SHA1 | Date |
|---|---|---|
|
|
44079842d2 | |
|
|
4f5cf2e4c4 | |
|
|
61e0d608cc | |
|
|
0c31f900d1 | |
|
|
4b18aacb36 | |
|
|
1a3a64fca5 |
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,6 @@
|
|||
132 9 56 13 68 446 884 12 413 6126 118 89 73 4858 534 74 627 3 7823 4 32 879 83 67 442 85 839 71 74 314 8 8 19 1 627 4 24 73 9 18 65 19 56 36 53 57 66 947 919 422 6 937 564 21 84 9 5 79 842 3 66 1 243 227 2 929 971 55 2 645 186 61 472 4 76 86 6 8 57 99 8595 45 5 12 889 137 7 95 713 48 5824 388 1634 81 2 98 579 19 832 2 366 1486 6 39 75 7 274 172 17 39 49 74 1 745 33 21 58 547 13 55 37 21 61 96 3317 9 99 627 6 617 5 8 439 822 47 84 9 877 7956 623 52 13 955 97 147 85 647 3865 332 4131 97 318 4 226 836 53 318 448 78 8956 3 4147 27 24 38 9 84 9 31 931 3 37 6 149 328 12 94 939 6 66 6 26 731 44 985 67 259 513 5133 1 2 95 1756 25 111 354 6 5 61 8 712 121 67 3128 916 864 6346 34 716 69 84 1 32 39 97 472 33 3521 74 4987 11 8 667 62 422 32 4 5798 5368 1 2422 631 5448 33 7 951 29 743 82 573 158 52 4 574 674 22 6347 7 22 1 5 38 932 994 573 122 92 33 167 423 28 215 82 1 2588 46 33 25 2 779 347 37 9 416 7 6 97 48 7962 6364 753 78 85 218 48 97 46 15 347 3 9 329 785 552 349 237 92 9 2 766 695 332 73 68 9629 33 1541 2726 58 6 92 94 9 5285 446 13 75 4 35 8 92 226 561 7551 444 97 552 171 897 58 91 3446 8 693 7 742 462 839 584 82 89 8 29 23 359 3 1958 1 354 9 2 795 8 26 11 9534 93 898 4 438 829 895 481 4 44 38 2138 829 899 6 922 3336 78 1 84 6 73 26 69 3 7 38 55 4976 7 651 4 9872 4515 32 88 6177 13 7 4 24 686 924 62 737 35 8 16 156 2 11 9 5 24 7 3 49 722 756 29 815 642 54 92 31 25 385 7845 643 2 9 17 54 54 749 3 855 55 5 4 44 382 26 2494 8 217 1 254 79 96 1 43 96 117 6 43 45 28 99 896 7 28 119 5 73 6646 43 8 95 97 33 6179 77 47 55 67 9 932 8513 312 85 35 84 379 48 31 71 897 64 467 37 13 1 65 98 6343 31 5 32 169 3874 51 13 75 91 697 89 34 76 676 42 569 129 781 34 9846 566 83 698 146 1 17 8 43 5114 53 71 94 3 46 33 442 596 82 77 32 7 72 47 8 5253 78 75 866 29 7 873 2 563 47 41 6 53 89 63 36 984 5 48 63 1 76 836 8 77 2765 41 97 185 45 712 657 4 57 81 76 44 12 2 576 2 3978 387 8 1434 668 72 94 8296 8 43 2 55 41 667 4 84 629 43 9369 65 71 95 59 39 529 428 977 815 58 26 5578 1 7 2 88 13 6294 347 1 7 66 211 65 333 92 47 26 3 2 524 26 1 383 51 48 57 854 28 2779 44 25 36 1 4 24 986 849 5931 31 98 4111 395 474 644 1 7 64 692 71 38 16 32 59 15 637 956 18 3272 51 741 64 3 479 55 72 843 5 331 77 831 6 793 3 86 67 4624 75 44 14 593 111 658 4 44 8 912 8 42 23 425 74 6 8 4133 88 86 97 5 614 857 147 6 32 81 83 96 96 7281 9 142 11 5 952 3 45 55 124 41 31 973 93 9 5 376 777 9 9 3511 8341 27 442 8 27 42 66 71 513 374 17 57 6 727 138 12 64 93 6 722 29 445 83 89 21 9575 5 872 76 65 79 4 53 67 12 86 58 175 58 81 963 11 61 58 78 494 7 391 82 9121 4 53 2 853 3226 25 83 525 58 3 83 283 5134 11 8 34 4 271 44 9 39 68 81 32 67 246 9 55 2 19 1 78 4 88 2 158 33 313 96 712 44 6228 977 91 357 82 41 14 8195 83 48 9242 32 123 328 53 586 1 2378 87 1771 97 57 382 87 1957 13 88 61 68 91 33 8 91 1 385 53 77 398 44 823 59 7 8 747 6897 4958 292 685 12 328 2 1 68 596 89 82 32 52 75 27 82 3 58 95 8 46 37 457 8 92 967 989 1 2 4 3 86 22 59 68 5865 195 8 96 8764 7724 5 5 161 669 66 769 18 83 87 87 7 921 765 59 1 16 53 6 457 8 44 571 58 67 41 56 433 33 5 1959 8 427 4795 51 8152 426 14 442 777 6 43 68 4 39 9 145 43 582 15 228 58 5 148 13 58 8 998 83 21 5 778 5 234 9 8 87 97 81 878 1382 411 626 716 95 5 263 55 8 6263 1127 6472 55 53 117 16 829 3 8547 47
|
||||
985 6 64 55 95 671 761 31 116 6625 127 977 35 21 981 93 485 37 532 8 68 914 98 727 8764 933 476 39 14 744 79 35 95 497 376 8 29 11 29 38 37 13 5853 62 854 545 569 4948 892 287 5 951 473 62 88 29 73 66 631 4 234 68 636 128 48 327 769 321 5 28 499 67 536 627 92 82 95 1 76 64 5927 89 69 31 261 166 9 74 563 997 3772 458 2247 25 19 48 247 18 667 59 797 1146 8 92 61 7 597 548 782 62 86 41 31 424 541 1 12 541 47 88 65 839 56 52 4758 959 349 393 74 632 8 46 931 973 285 9941 938 635 6164 185 96 275 899 79 55 84 392 5772 257 7211 66 592 71 897 422 17 981 447 18 5339 9 4396 32 43 83 75 28 848 1 571 69 3713 5 786 669 67 49 228 828 89 9 66 731 56 157 57 378 384 7591 39 77 86 3352 62 522 849 5 28 49 6 738 513 15 8138 464 619 6917 51 437 89 85 7 21 15 95 727 53 1346 16 364 99 57 548 299 627 351 43 7139 153 6 7285 831 192 69 2 654 49 3491 93 62 735 27 72 998 15 94 4166 5 61 5 56 85 975 668 143 372 59 78 99 893 59 764 11 5 1779 19 56 377 83 128 639 88 6 423 965 41 39 14 2227 7145 921 86 94 553 63 59 67 47 347 2 762 913 898 611 555 369 28 57 1 575 3485 641 25 56 155 69 7862 8969 9 36 41 6756 31 1447 785 33 42 55 34 15 41 6454 838 9237 668 14 647 456 754 33 24 9127 6 143 589 772 795 694 3455 32 58 3 27 17 141 59 8351 43 356 4 95 544 8 95 688 2388 96 913 25 45 215 464 488 4 128 69 9486 298 9852 84 456 2641 48 8 57 76 96 89 38 87 41 96 7 946 6 858 63 2452 9275 96 21 7894 195 983 84 75 225 634 48 113 61 533 22 8941 63 51 3 68 8 34 21 3 834 861 21 242 522 26 31 23 15 168 9686 571 96 8 61 45 771 227 4 428 17 24 57 2 24 66 2737 76 991 72 372 59 462 172 14 87 494 64 55 29 33 38 579 19 76 591 6 9964 9813 99 79 122 87 85 3132 32 57 8 72 26 397 6163 543 86 869 444 278 737 45 67 426 76 153 87 152 9 71 92 6593 638 78 88 269 737 817 26 22 59 523 38 84 99 953 35 341 368 518 242 4472 257 11 747 796 945 29 29 58 8468 32 232 246 1 335 92 414 125 828 75 39 66 63 27 34 3991 9 73 228 47 863 298 3 1115 127 2593 28 97 37 147 69 624 753 37 23 86 89 396 8 63 1974 35 55 468 62 36 744 56 77 16 31 936 21 68 198 7 2746 582 948 813 887 36 95 673 956 59 94 76 75 627 65 1 636 52 4134 77 621 46 35 62 717 846 937 657 52 39 8989 517 965 99 96 84 2793 388 475 14 22 789 41 348 57 1133 88 49 98 688 49 196 718 16 472 949 473 85 2142 35 83 48 52 64 72 532 194 632 72 553 9566 235 69 476 3 4 626 818 88 25 17 53 19 73 391 213 68 3667 778 3814 19 86 819 854 36 476 6 944 13 32 95 254 1 726 484 2656 87 182 63 663 636 521 787 69 72 851 42 73 96 845 84 23 8 8279 85 66 64 3 237 995 272 4 76 92 73 42 46 2417 8 213 333 54 335 93 75 5 68 441 89 757 64 4 9 317 321 16 5 5711 9764 67 476 1421 75 496 97 27 972 426 367 69 89 493 975 95 44 338 995 645 71 89 767 219 42 6792 59 249 33 48 23 722 46 56 79 256 91 8626 96 16 584 98 55 22 32 892 68 843 52 6178 83 95 1 193 2892 78 869 892 48 84 33 997 5271 58 17 9942 75 667 97 97 79 46 87 25 8138 355 1 22 63 22 3 64 17 84 84 389 79 828 29 66 64 641 94 29 422 42 22 73 2931 27 49 3399 16 962 733 22 395 86 9766 356 8421 853 54 113 97 5868 49 85 95 91 447 85 88 29 18 763 6 23 784 732 133 525 52 96 912 6645 623 671 388 11 638 9 7 73 649 13 1 58 622 93 16 56 9 74 56 5 88 67 394 9 65 653 88 7 4 3 524 32 26 48 97 7745 151 7 39 1948 546 7 728 287 791 13 654 17 34 43 492 8 998 561 85 31 1 78 6 969 3 395 233 99 59 39 163 33 29 71 882 552 758 757 93 7373 322 51 663 773 68 894 95 14 93 43 163 81 874 38 551 452 39 361 486 776 2 456 19 78 93 944 5 523 519 3 85 19 2361 139 2419 1587 429 349 18 767 938 22 88 114 3331 7192 79 92 547 47 17 739 4735 59
|
||||
235 385 51 48 28 39 236 44 581 251 728 338 82 24 46 2 697 21 149 75 547 63 72 523 9368 169 81 83 89 792 583 83 86 557 778 114 13 18 51 5 16 7 9662 57 327 322 989 7994 691 995 9 174 267 98 35 356 186 18 191 82 818 75 651 552 13 371 638 397 43 4 146 99 527 8759 7 24 95 43 391 53 15 8 88 98 893 31 54 31 4 524 8378 812 233 89 898 63 342 96 24 67 265 6885 342 91 749 13 735 22 962 89 792 62 24 199 732 1 43 799 7 24 56 351 7 53 328 274 782 669 57 14 78 474 824 459 543 3874 198 73 7897 29 8 439 6 2 96 69 1915 591 314 7369 45 719 589 868 191 52 999 874 87 4292 48 6858 8 389 295 615 447 386 5 317 72 1117 2 16 884 95 38 398 131 67 3 41 647 43 799 17 242 587 963 533 65 82 4776 94 13 954 636 194 2 4 73 455 14 5882 73 272 1153 77 191 833 13 43 394 15 88 787 92 5176 489 32 68 532 325 9192 457 1711 64 393 247 39 87 66 352 44 51 436 63 1614 7 57 861 89 561 498 68 93 2751 57 21 59 14 58 948 639 15 27 99 92 87 511 23 59 13 16 1 44 8 646 13 74 725 54 97 699 955 215 12 1 4626 858 697 82 95 526 68 784 8359 828 985 8 339 699 126 261 722 91 56 652 45 381 7887 5 72 423 324 59 3549 8 1 56 713 4775 86 1933 631 395 62 17 64 19 94 8454 448 2991 772 44 784 614 218 428 67 1177 18 729 523 876 691 49 1114 84 45 629 63 39 26 97 2167 93 165 82 34 92 21 12 9863 2559 89 643 53 83 762 821 258 19 317 2 364 853 3348 55 9 987 61 32 3 586 29 52 34 58 86 84 8 638 9 218 65 534 948 457 74 6261 4627 198 922 8 765 658 37 743 4 9425 52 2428 22 77 47 73 2 67 42 9 562 59 695 555 612 12 964 49 788 561 9717 541 48 687 15 13 256 621 83 228 69 264 21 7 83 94 6995 53 214 45 471 87 233 461 38 44 973 71 59 3 69 37 282 43 65 11 92 4244 17 247 57 993 326 89 2476 44 28 9 43 58 392 2264 26 16 637 949 187 8184 82 61 882 31 317 16 246 5 584 265 9181 523 97 88 321 124 179 12 13 75 68 52 34 97 534 21 725 225 979 757 388 138 25 7 336 948 68 66 3 483 15 569 6674 311 964 53 341 7311 633 616 78 22 94 14 65 7935 1 21 51 76 626 21 5 5154 958 9416 62 88 49 289 16 211 945 33 32 61 25 21 46 968 83 36 69 997 67 96 565 73 972 26 59 233 5 32 5 89 9325 756 666 48 82 79 39 323 252 354 111 98 14 657 794 3 282 38 31 6 167 58 66 87 92 66 26 279 66 14 4359 339 387 82 215 32 322 2 883 168 84 52 73 87 1 7222 66 46 98 537 1 4144 219 39 211 629 851 12 3538 68 24 83 22 31 24 49 894 645 191 7782 2293 551 46 491 772 26 997 458 85 63 19 38 57 58 99 92 8 59 491 3391 54 771 126 354 55 994 5 8943 54 69 59 34 36 7677 794 5459 16 361 57 131 7 766 292 52 436 24 43 67 41 511 69 86 71 622 886 97 8 41 581 55 896 29 83 226 636 7 63 4189 262 6 276 91 9278 59 13 9 71 9323 713 787 67 427 723 2 787 732 53 427 949 34 8 7329 348 989 75 19 139 153 223 75 844 58 197 29 679 185 819 299 43 91 499 829 77 7561 37 928 92 1 46 252 578 61 19 593 15 9695 1 54 529 5 97 7 7 757 82 2533 77 119 19 28 548 491 5417 43 457 8534 16 675 7 488 9117 84 48 7487 14 483 62 33 6 67 338 2 9612 22 32 8 64 65 79 69 18 34 85 492 5 82 15 64 85 997 45 91 137 27 31 23 1945 14 39 281 44 874 212 74 36 29 5932 648 9711 4557 13 6214 64 596 69 32 73 98 994 57 83 79 24 11 6 34 695 822 913 533 35 359 561 3137 65 9 311 97 912 1 47 7 287 2 4 936 759 83 66 17 95 63 57 59 1 97 71 888 415 425 79 33 3 6 449 53 61 77 11 11 419 92 37 3696 175 38 238 52 132 95 561 91 82 8864 447 27 897 755 45 77 8 44 45 135 93 348 825 78 92 96 218 45 82 12 83 281 352 981 394 3572 992 24 329 549 17 178 48 25 578 91 112 94 571 941 793 477 23 669 477 232 85 253 85 95 224 78 76 65 778 24 35 74 4772 128 9635 9552 586 6 39 481 886 66 868 336 5143 2349 84 39 18 31 65 825 189 36
|
||||
25 289 75 7 99 98 258 93 572 55 5456 537 26 4 88 8 87 57 722 85 597 1 23 466 9192 899 6 79 33 98 295 251 67 815 81 923 94 7 12 8 53 1 1727 8 115 815 333 9452 625 73 22 13 91 1 1 276 1949 723 66 34 892 95 584 35 42 133 332 3417 82 3 549 18 96 2242 9 75 26 42 888 57 39 1 51 12 439 5 25 12 1 673 8435 11 94 68 2613 46 927 8 51 46 2 13 844 9 335 11 26 66 889 59 113 71 72 94 847 2 68 416 8 73 19 214 6 17 911 857 762 124 47 9 94 828 67 965 784 4845 265 49 7636 78 2 223 1 4 8 96 2155 3 916 462 4 3 436 17 5 12 6 186 7 4557 89 5999 7 351 739 661 279 826 2 6 26 2412 77 35 795 23 48 738 316 32 79 46 52 11 8 72 7552 711 87 227 43 45 2924 49 55 568 9236 795 3 76 41 455 96 2197 5 8 498 9 552 636 93 84 913 1 37 722 34 7 837 41 491 695 57 1591 11 5513 23 189 487 99 45 41 236 3 82 94 7 4614 1 9 299 7 161 338 13 46 4592 77 14 429 98 18 89 951 29 44 93 35 71 592 79 7 34 38 6 5 1 511 48 72 346 83 92 313 328 446 26 3 12 46 679 97 58 615 35 425 8281 585 143 72 795 6 363 788 19 42 94 328 91 232 6826 6 77 299 78 17 22 6 7 56 2318 9358 13 8525 5 429 24 16 91 29 48 3385 548 4529 684 95 111 758 8 543 84 954 75 38 566 34 775 29 1394 55 93 435 29 73 91 47 15 78 41 59 57 49 775 85 6842 8938 3 43 11 92 67 59 54 26 759 8 7 21 7385 44 3 9 18 87 9 985 37 84 92 118 52 24 4 957 23 6 27 112 153 734 656 2517 3113 289 839 5 89 444 65 6 9 4411 52 3594 45 7 87 43 2 787 38 7 711 4 358 765 438 12 186 38 243 765 1724 58 27 915 81 74 874 514 26 74 1 848 23 2 55 46 486 62 854 79 2 81 837 485 793 98 959 98 263 7 59 26 953 56 1 65 56 4868 93 583 94 847 4841 48 4 1 222 9 36 81 149 98 7 3 835 297 15 1615 76 21 35 83 777 7 168 29 572 217 356 468 94 59 15 549 712 3 94 36 5 96 97 26 658 4 388 168 511 439 34 26 92 7 37 719 4 976 4 87 64 998 2241 824 896 1 97 3722 942 222 4 92 91 53 32 28 7 1 42 859 982 5 14 3281 352 7592 67 2 18 168 49 59 825 58 62 456 7 23 251 559 47 2 2 51 667 8 586 59 834 64 5 7889 9 78 9 79 363 612 324 7 5 51 2 93 736 815 145 62 79 311 453 2 2 22 8 7 988 93 2 98 1 52 64 319 71 13 91 132 265 52 412 81 868 1 148 882 8 5 97 4 1 8886 13 72 31 564 7 6874 98 19 146 819 5 53 64 31 17 1 23 25 29 4 964 23 231 7715 8552 931 31 6 217 89 824 1 7 97 23 4 64 1 42 68 6 9 948 5456 76 636 8 788 17 995 44 9383 9 6 77 57 59 6456 6777 47 5 773 87 873 3 597 137 2 467 67 88 56 492 594 32 49 31 249 784 72 1 39 47 9 78 11 48 359 973 2 67 1324 834 3 323 97 9883 61 84 1 89 3542 751 494 58 692 431 1 842 283 75 459 95 42 9 5486 525 183 91 53 22 876 426 626 651 5 686 635 247 824 544 4 59 54 397 919 71 8832 834 43 69 6 33 264 133 84 97 458 59 2471 3 5 136 7 5 3 5 495 14 8157 9 275 83 12 251 911 77 16 826 5233 87 523 5 311 512 14 39 2586 28 75 2 12 6 98 3816 1 5982 27 72 9 47 51 16 78 28 37 66 315 5 55 15 1 3 11 66 8 26 35 26 72 9744 97 39 478 56 294 921 4 74 57 56 441 439 5922 78 9427 24 299 6 24 65 3 235 83 47 71 72 85 2 82 945 178 931 948 96 738 224 882 96 8 72 45 18 33 24 6 19 5 4 274 677 75 5 34 49 64 64 55 5 7 87 326 232 615 21 32 73 52 269 12 53 96 53 5 489 26 6 4474 473 24 699 67 71 15 836 56 43 7564 779 42 763 498 877 46 1 71 89 98 54 594 933 49 2 38 967 3 54 42 69 862 5 2 199 125 9 81 342 825 43 267 92 88 983 62 7 3 645 249 52 733 42 641 698 281 687 138 2 23 212 3 82 25 124 71 41 56 1215 961 26 1358 2739 9 7 683 1 81 824 378 337 9186 48 35 51 28 97 162 3 88
|
||||
* * * + * * * + + + + + + + * + + + + * + * * + + * * + + + + + * + + * * + * * * * + + + * + + + * * * * + * * + + * * * * + + + + + + * * * * * + * * * * + * + * * * * * * + * + + + + * + + * + * * * + + * + * + + + * + + + + + * * * + + * * * * + + * + + * * + * * * + * * + * + + * * * * + + + + + * + + * * + * + + * + + + * + + * * * * + * * + + * + + + + * * + + * + * + + + + + + * * + * * + * + * + + * + + + + + + * + * * + + * + + + * + * + * + + + + + + * * * * + * * * + * + + * + + + * + + + * * * + * + * * * + * + + + + * * * * * + + + + * + + + + * + * + + + + * + + * * + + * * + * + * + * + * + + + * + + * + + * + * * * * + + + + * * * * * * + + * + + + * + + + * + + + * + * + + + + * + + + * * + + + * * * * * + * + * * + * + + * + * + + + + * + + * * + + * * + + + * + + * * + * + + + * + + + * * + * + * * + * + * * + + + + * * + + * * + + * * + * * + + * + + * * + * * + * * * * * * * * + * + + + * + + + * + * * * + * * + * * + * + + * + * * * * * * * * + * * * * + * * + * * * + * * + * + + + + * + * * * + + * + * + + + * * * + * * * + * + * + * * * * * + * + * + * * + + * * * + * * * * * * + * * + * * + + * * * + * + + + + + * + * * * + * * * + + * + * * * + * * * * + + * * + + + + + + * * + + * + * * * + * * + + * * * + + * * * + + + + * * * * * * * * + + + + + * * * * + + * + + * * * * * * + * + * * + + + + + + + * * + + + + + + * + * * * + + * + * + * * + + * + * * * * + * + + * * * * + + * * * + + * * + + + * + * * + + * + + + + * + + + * * + * * * * + + * * + * * * * + * + * + * * + + + * + + * + * + * * * * * + * * * + + + * * * * + * + + * * * * + + * + + * * * + + + + + * * + * * * * * * + * + * * + + + * * + + + * + * * + * + * + * * + * + + + + + + + * + * + * * * * * * + + + + * + * + + + * + + * + * * + + + + + + * + * + * * * + + * * * + + * + * * + * * + * * + + + * + + * + + + + + + * * * + + * * + * * + * * * * + * * + + * * + + + * + + * * * + + * + + * * + * + * * * * * * * + * + + * * + + + + * + + + + + * + * * + + + + * + + * + + *
|
||||
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
......................................................................S......................................................................
|
||||
.............................................................................................................................................
|
||||
......................................................................^......................................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................................^.^.....................................................................
|
||||
.............................................................................................................................................
|
||||
....................................................................^.^.^....................................................................
|
||||
.............................................................................................................................................
|
||||
...................................................................^.^.^.^...................................................................
|
||||
.............................................................................................................................................
|
||||
..................................................................^...^.^.^..................................................................
|
||||
.............................................................................................................................................
|
||||
.................................................................^...^.^.^.^.................................................................
|
||||
.............................................................................................................................................
|
||||
................................................................^.^.........^................................................................
|
||||
.............................................................................................................................................
|
||||
...............................................................^.^.^.^.......^...............................................................
|
||||
.............................................................................................................................................
|
||||
..............................................................^.^...^.....^...^..............................................................
|
||||
.............................................................................................................................................
|
||||
.............................................................^.....^.^.^.^.^...^.............................................................
|
||||
.............................................................................................................................................
|
||||
............................................................^.^...^...^.^.^.^.^.^............................................................
|
||||
.............................................................................................................................................
|
||||
...........................................................^.^...^.^.^...^.^.^.^.^...........................................................
|
||||
.............................................................................................................................................
|
||||
..........................................................^.^.^.^.^.......^.^.^.^.^..........................................................
|
||||
.............................................................................................................................................
|
||||
.........................................................^...^.^.^...^.^.....^.....^.........................................................
|
||||
.............................................................................................................................................
|
||||
........................................................^.^.^.^...^.^.^...^...^.^...^........................................................
|
||||
.............................................................................................................................................
|
||||
.......................................................^...^.^.^.....^...^.^.^.^...^.^.......................................................
|
||||
.............................................................................................................................................
|
||||
......................................................^.....^.^.^.^.^...^.^...^.^.^.^.^......................................................
|
||||
.............................................................................................................................................
|
||||
.....................................................^.^...^.^.^.^.^...^.^.^...^...^.^.^.....................................................
|
||||
.............................................................................................................................................
|
||||
....................................................^.....^.^.^.^.^.^.^.^.^...^.^...^.^.^....................................................
|
||||
.............................................................................................................................................
|
||||
...................................................^.......^.^...^...^.^...^.^.^...^.^.^.^...................................................
|
||||
.............................................................................................................................................
|
||||
..................................................^.^.^.^.^.^.^...^...^.......^.....^.^.^.^..................................................
|
||||
.............................................................................................................................................
|
||||
.................................................^...^.^...........^.^.....^.^.^.........^.^.................................................
|
||||
.............................................................................................................................................
|
||||
................................................^.^.....^.^...^.^.^.......^.^.^...^.^.^.^.^.^................................................
|
||||
.............................................................................................................................................
|
||||
...............................................^.^.^.^.^.^.....^.^.^.......^.^...^.^.^...^.^.^...............................................
|
||||
.............................................................................................................................................
|
||||
..............................................^.^.^.....^...^...^.^.^.....^...........^.^.^.^.^..............................................
|
||||
.............................................................................................................................................
|
||||
.............................................^.^.....^.^.......^...^.^.^.^.^.^.^.....^.......^.^.............................................
|
||||
.............................................................................................................................................
|
||||
............................................^...^.^.^.^.^.^.^.^...^.^...^.^.......^.^.....^.^.^.^............................................
|
||||
.............................................................................................................................................
|
||||
...........................................^.^.^.^.^...^.^...^.^.^.^.^.^.^.^.^.....^.^.^.......^.^...........................................
|
||||
.............................................................................................................................................
|
||||
..........................................^.^...^.^...^.^.^...^.^...^.^.^.^.^...^.^...^.^.^.....^.^..........................................
|
||||
.............................................................................................................................................
|
||||
.........................................^...^...^.^.^.^.^.^...^.^.^.^.^...^.^.^.^.^...^.^...^...^.^.........................................
|
||||
.............................................................................................................................................
|
||||
........................................^.^.....^.^.^.^...^.^...^.^.^.^.^.^.^...^...^...^.....^.^.^.^........................................
|
||||
.............................................................................................................................................
|
||||
.......................................^.^...^.....^.^.^.^...^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.......................................
|
||||
.............................................................................................................................................
|
||||
......................................^.^...^.^.....^.^...^.^.^.^...^.^.^.^.....^.^...^.^.^...^.......^......................................
|
||||
.............................................................................................................................................
|
||||
.....................................^.^.^...^.^.^.......^...^.^.^.^.^...^.^.^...^.^.....^.^.........^.^.....................................
|
||||
.............................................................................................................................................
|
||||
....................................^...^.....^.^...^.^.......^.^.....^.....^.^...^...^.^.^...^.^.....^.^....................................
|
||||
.............................................................................................................................................
|
||||
...................................^.....^.^.^.^.^.^.^...^.^...^.^...^...^...^.^.^...^.^.^.^...^.^.^.^.^.^...................................
|
||||
.............................................................................................................................................
|
||||
..................................^.^.^...^.^...^.^.^.......^.^...^.^.^...^.^.^.^.^.....^.^.^.^...^.^.^.^.^..................................
|
||||
.............................................................................................................................................
|
||||
.................................^.^.^.....^.....^...^...^.^.^.^.^.^.^.^...^.^.^.^...^...^.^...^.^...^.....^.................................
|
||||
.............................................................................................................................................
|
||||
................................^.........^...^...^.^.^.^...^.^...^.^.......^.^.^.^.^.^.^.^.^.^.............^................................
|
||||
.............................................................................................................................................
|
||||
...............................^...^.^...^.^.^...^.^.^.....^...^...^...^...^.^.^.^.....^...^.^.^.^.^.^...^.^.^...............................
|
||||
.............................................................................................................................................
|
||||
..............................^.^.^.^.^.^.....^.^.^...^...^.^.^...........^.^...^.^.^.^.^...^.^.^.^.....^.^...^..............................
|
||||
.............................................................................................................................................
|
||||
.............................^...^.^.^...^.^...^...^.^.....^.^.^...^.^.^...^...^.^.^...^.^.^.^.^.^.^.^...^.^.^.^.............................
|
||||
.............................................................................................................................................
|
||||
............................^...^...^...^.^.^...^...^...^.^...^.^.^.^.^.^.^.^...^.^.^.^.^...^.^...^.^.....^.^.^.^............................
|
||||
.............................................................................................................................................
|
||||
...........................^.^...^.^...^...^.^.^.^...^.^.^.^.^...^.^...^.^.^...^.^.^.^.^.^...^.^.^...^.^.^.^.^.^.^...........................
|
||||
.............................................................................................................................................
|
||||
..........................^.....^.^.^...^...^.^.^...^.^.^.^.^.^.^.^.^...^.^.....^.^.......^.....^.^.^.^.^.^.^.^.^.^..........................
|
||||
.............................................................................................................................................
|
||||
.........................^.^.^.^.^.^.^.^...^.^.....^.^.^...^.^.^.^.....^.^.^...^.^...^.^.^.^.^...^.^...^.^.^.^...^.^.........................
|
||||
.............................................................................................................................................
|
||||
........................^.^.^.^.^.^.^.^.....^.^.^.^...^.^.....^.^.^.^.^.^.^.^.^.^.^.....^.....^.^.....^...^.^.......^........................
|
||||
.............................................................................................................................................
|
||||
.......................^.....^.^.^.^...^.^...^.^.^.^.^.^...^.^.^.^...^...^.^.^.^...^.^.^.......^.^...^.^.^.^.^.^...^.^.......................
|
||||
.............................................................................................................................................
|
||||
......................^...^...^...^.^...^.^.^.....^.^.^...^.........^.^...^.^.^...^.^...........^.^.^.^.....^.^.....^.^......................
|
||||
.............................................................................................................................................
|
||||
.....................^...^.^...^.^...^.^.^...^.^.^.^.^.^...^.^.^.^.^.^.....^.^...^.^.^.^.^.^.^.......^.^.^.^.^...^...^.^.....................
|
||||
.............................................................................................................................................
|
||||
....................^.^.....^.^.^.^.^.^.^.....^.^...^...^.^.^.^.^.^.....^...^.^.^.^.^.^.^.^.^.^...^.....^.^.^.^.^.^...^.^....................
|
||||
.............................................................................................................................................
|
||||
...................^.^.^.^.^...^.^.^.^...^...^.^.^.....^.....^...^...^.^...^.^.^.^.^...^.....^...^.^...^.^.............^.^...................
|
||||
.............................................................................................................................................
|
||||
..................^.^.^.^.^.^.^.....^.^...^...^.^.......^.^.^.^.^.^...^.^.^...^.^.^.......^.^.^.^.^.^...^.^.^...^.^...^.^.^..................
|
||||
.............................................................................................................................................
|
||||
.................^.^.^...^.^.^.^.^.^...^.^.^.^.^.^.^...............^.^...^...^.^.^.....^.^...^.^.^.^.^...^.....^...^...^.^.^.................
|
||||
.............................................................................................................................................
|
||||
................^.^.^.^...^.^.....^.^.^.^.^.^...^.^.^.^...^...^.....^.^...^.^.^.^...^.^.^...^.^.^.....^.......^.^.^.....^.^.^................
|
||||
.............................................................................................................................................
|
||||
...............^.^.^.^.^...^.^.^...^.^...^.^.....^...^.^.^...^.....^.^.^.....^.^...^.^.^...^.^.^.^.^.^...^.^.^.^.^.^.......^.^...............
|
||||
.............................................................................................................................................
|
||||
..............^.^.^.^...^.^.^.^.^.........^.^.......^.^.....^.......^.^.^.^.^.^...^.......^.^.^.^.......^.....^.^...^.....^.^.^..............
|
||||
.............................................................................................................................................
|
||||
.............^.^...^.^.......^.....^.^.^...^.......^.....^.....^...^.^.^.^.^.^.....^.^.....^.^.^.^.^.^...........^.^.^.^...^...^.............
|
||||
.............................................................................................................................................
|
||||
............^.^...^...^.^.^.^.^...^...^.......^.....^.^.....^.^...^...^.^.^...^.^...^.....^.....^...^.^.^.^.^.^...^...^.^...^.^.^............
|
||||
.............................................................................................................................................
|
||||
...........^.....^.^.^.^...^.^.^.^.....^...........^.^.^...^.^.^.^.^.^.....^.^...^.^...^...^...^...^.^.^...^.^.^.^.^.^.^...^.^...^...........
|
||||
.............................................................................................................................................
|
||||
..........^.^.^.^...^.^.......^.^.^.^...^.^.^.^...^.^.....^.^.^.^...^...^...^.^...^.^...^.^...^.^.^.^.......^.^.^.^.^...^...^.^.^.^..........
|
||||
.............................................................................................................................................
|
||||
.........^.^.^.^...^.^...^.......^.^...^.^.^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^.......^...^.....^.^.^...^...^.........^...^.^...^.^.........
|
||||
.............................................................................................................................................
|
||||
........^.^.^...^...^...^.^.^.^.^.^.^.^.....^.^.^.......^.^.^.^.^.^.^.^.^.^.^...^...^...^.^.^.^...^.^.^.^...^...^.^.^...........^.^.^........
|
||||
.............................................................................................................................................
|
||||
.......^.^.^.^.^...^.^.^.^...^.^.....^.^.^.^.....^.^.....^.^.......^.^.^.^.^.^.......^.^.......^.^.^.^.....^...........^.^.^...^.^...^.......
|
||||
.............................................................................................................................................
|
||||
......^.^.^.^.^.^...^.^...^.^.^.^.....^.....^.^...^...^.^.^.....^...^.^.....^.^.^.^...^.^.^.^.....^...^.^.....^...^.......^.....^.....^......
|
||||
.............................................................................................................................................
|
||||
.....^.^.^...^.^.^.^.^.^.^...^.^...^.^.^.^.^.^.......^.^.^...^.........^.....^...^.^.^.^.........^.^.......^.^...^...^.^.^.....^.^...^.^.....
|
||||
.............................................................................................................................................
|
||||
....^...^.^.^.^.^.^.^.^.^.^...^.^...^.^...^.^.^.^.^.....^.^.......^.^...^.^...^.^.^.^.....^.^.^.....^.^...^.....^.^.^.^.^.........^.....^....
|
||||
.............................................................................................................................................
|
||||
...^.^.^.^...^...^.........^.^.^.^.^.^.^.^.^.^...^...........^.^...^...^.......^...^.^.^.^.^...^.^.^.^.......^.^...^.^...^.^.^.....^...^.^...
|
||||
.............................................................................................................................................
|
||||
..^.......^.......^.^.^...^.^.^.^.^.^.......^...^.^...^.^...^.^.^...^.^.....^...^.^.^.^.^...^...^...^.^.^.^.........^.^...^.^.^.^.^.^...^.^..
|
||||
.............................................................................................................................................
|
||||
.^.^.^.^.^.^.^.^.........^.........^...^.^.^.^...^...^.....^.......^...^.........^.^.^.^.^.^.^.^.^.^...^.^.^.^.......^.^.^...^.^.^.^.^.^...^.
|
||||
.............................................................................................................................................
|
||||
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
use crate::utils;
|
||||
|
||||
pub fn answer(text: String) -> (u128, u128) {
|
||||
let (r, ingredients) = match text.trim().split_once("\n\n") {
|
||||
Some(x) => x,
|
||||
None => return ( 0, 0 ),
|
||||
};
|
||||
|
||||
let ranges: Vec<Range> = build_ranges(r);
|
||||
// merge_ranges(&mut ranges);
|
||||
|
||||
( ingredients.split_whitespace()
|
||||
.map(|s| utils::str_to_u128(s).unwrap())
|
||||
.filter(|n| ranges.iter().any(|range| range.contains(*n)))
|
||||
.count() as u128
|
||||
, ranges.iter().map(|r| r.size()).sum()
|
||||
)
|
||||
}
|
||||
|
||||
struct Range {
|
||||
low : u128,
|
||||
high : u128,
|
||||
}
|
||||
impl Range {
|
||||
fn contains(&self, x : u128) -> bool {
|
||||
self.low <= x && x <= self.high
|
||||
}
|
||||
|
||||
fn from(s : &str) -> Option<Range> {
|
||||
let (n1, n2) = s.trim().split_once("-")?;
|
||||
|
||||
let low = utils::str_to_u128(n1)?;
|
||||
let high = utils::str_to_u128(n2)?;
|
||||
|
||||
if low <= high {
|
||||
Some(Range::new(low, high))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn new(low : u128, high : u128) -> Range {
|
||||
assert!(low <= high);
|
||||
|
||||
Range { low : low, high : high }
|
||||
}
|
||||
|
||||
/* Checks if two ranges overlap. If so, returns a mixed range. */
|
||||
fn overlaps_with(&self, other: &Range) -> Option<Range> {
|
||||
let highest_low = self.low.max(other.low);
|
||||
let lowest_high = self.high.min(other.high);
|
||||
|
||||
if highest_low <= lowest_high {
|
||||
Some(Range::new(
|
||||
self.low.min(other.low),
|
||||
self.high.max(other.high)
|
||||
))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn size(&self) -> u128 {
|
||||
self.high - self.low + 1
|
||||
}
|
||||
}
|
||||
|
||||
fn build_ranges(s : &str) -> Vec<Range> {
|
||||
let mut ranges: Vec<Range> = Vec::new();
|
||||
|
||||
let mut unfiltered_ranges: Vec<Range> = s
|
||||
.split_whitespace()
|
||||
.filter_map(Range::from)
|
||||
.collect();
|
||||
unfiltered_ranges.sort_by(|a, b| a.low.cmp(&b.low));
|
||||
|
||||
for new_range in unfiltered_ranges {
|
||||
let mut inserted: bool = false;
|
||||
|
||||
for range in ranges.iter_mut() {
|
||||
match range.overlaps_with(&new_range) {
|
||||
Some(overlapping_range) => {
|
||||
*range = overlapping_range;
|
||||
inserted = true;
|
||||
break;
|
||||
},
|
||||
None => {},
|
||||
}
|
||||
}
|
||||
|
||||
if !inserted {
|
||||
ranges.push(new_range);
|
||||
}
|
||||
}
|
||||
|
||||
ranges
|
||||
}
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
use crate::utils;
|
||||
|
||||
enum Operation { Addition, Multiplication }
|
||||
|
||||
pub fn answer(text : String) -> (u64, u64) {
|
||||
let untransposed_math: Vec<Vec<&str>> = text.trim()
|
||||
.split("\n")
|
||||
.map(|line| line.trim().split_whitespace().collect())
|
||||
.collect();
|
||||
|
||||
let col = untransposed_math.len();
|
||||
let row = untransposed_math[0].len();
|
||||
|
||||
// Part 1
|
||||
( (0..row).map(|x| {
|
||||
let numbers = (0..(col-1))
|
||||
.filter_map(|y| utils::str_to_u64(untransposed_math[y][x]));
|
||||
|
||||
let out: u64 = match untransposed_math[col-1][x] {
|
||||
"+" => numbers.sum::<u64>(),
|
||||
"*" => numbers.product(),
|
||||
_ => { panic!("Unknown operation!"); },
|
||||
};
|
||||
|
||||
out
|
||||
}).sum()
|
||||
// Part 2
|
||||
, read_columns(text)
|
||||
)
|
||||
}
|
||||
|
||||
fn read_columns(text : String) -> u64 {
|
||||
let mut grand_total: u64 = 0;
|
||||
let mut current_total : u64 = 0;
|
||||
let mut current_operation : Operation = Operation::Addition;
|
||||
|
||||
let grid: Vec<Vec<char>> = text.trim().split("\n").map(|s| s.chars().collect()).collect();
|
||||
let (height, width) = (grid.len(), grid[0].len());
|
||||
|
||||
for x in 0..width {
|
||||
let mut number: u64 = 0;
|
||||
let operation: Option<Operation> = match grid[height-1].get(x) {
|
||||
Some('+') => Some(Operation::Addition),
|
||||
Some('*') => Some(Operation::Multiplication),
|
||||
Some(' ') => None,
|
||||
_ => None,
|
||||
};
|
||||
|
||||
// Collect the vertical number
|
||||
for y in 0..(height-1) {
|
||||
match utils::char_to_u64(grid[y][x]) {
|
||||
Some(n) => { number = number * 10 + n; }
|
||||
None => {},
|
||||
}
|
||||
}
|
||||
|
||||
// println!("{:?} | {grand_total} | {current_total} | {number}", grid[height-1].get(x));
|
||||
|
||||
// Ignore whitespace column
|
||||
if number == 0 { continue; }
|
||||
|
||||
// Refresh the number if necessary
|
||||
match operation {
|
||||
Some(o) => {
|
||||
grand_total += current_total;
|
||||
current_total = match o {
|
||||
Operation::Addition => 0,
|
||||
Operation::Multiplication => 1,
|
||||
};
|
||||
current_operation = o;
|
||||
},
|
||||
None => {},
|
||||
}
|
||||
|
||||
// Add or multiply the current number
|
||||
match current_operation {
|
||||
Operation::Addition => { current_total += number; },
|
||||
Operation::Multiplication => { current_total *= number; },
|
||||
}
|
||||
|
||||
if x == width - 1 {
|
||||
grand_total += current_total;
|
||||
}
|
||||
};
|
||||
|
||||
grand_total
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
pub fn answer(text : String) -> ( u16, u64 ) {
|
||||
let tachyons: TachyonLayer = text.trim()
|
||||
.split_whitespace()
|
||||
.fold(
|
||||
TachyonLayer::new(),
|
||||
|tl, s| tl.next_layer(s)
|
||||
);
|
||||
|
||||
( tachyons.splits
|
||||
, tachyons.beams.values().sum()
|
||||
)
|
||||
}
|
||||
|
||||
struct TachyonLayer {
|
||||
beams : HashMap<usize, u64>,
|
||||
splits : u16,
|
||||
}
|
||||
impl TachyonLayer {
|
||||
fn get(&self, x : &usize) -> &u64 {
|
||||
self.beams.get(x).unwrap_or(&0)
|
||||
}
|
||||
|
||||
fn insert(&mut self, x : usize, amount : u64) {
|
||||
self.beams
|
||||
.entry(x)
|
||||
.and_modify(|v| *v += amount)
|
||||
.or_insert(amount);
|
||||
}
|
||||
|
||||
fn new() -> TachyonLayer {
|
||||
TachyonLayer {
|
||||
beams : HashMap::new(),
|
||||
splits : 0,
|
||||
}
|
||||
}
|
||||
|
||||
fn next_layer(&self, manifold : &str) -> TachyonLayer {
|
||||
let mut new_beams = TachyonLayer::new();
|
||||
new_beams.splits += self.splits;
|
||||
|
||||
for (x, c) in manifold.chars().enumerate() {
|
||||
match c {
|
||||
'S' => {
|
||||
new_beams.insert(x, 1);
|
||||
},
|
||||
'.' => {
|
||||
new_beams.insert(x, *self.get(&x));
|
||||
},
|
||||
'^' => {
|
||||
let &rays: &u64 = self.get(&x);
|
||||
|
||||
if rays > 0 {
|
||||
new_beams.splits += 1;
|
||||
new_beams.insert(x - 1, rays);
|
||||
new_beams.insert(x + 1, rays);
|
||||
}
|
||||
},
|
||||
_ => {},
|
||||
}
|
||||
}
|
||||
|
||||
new_beams
|
||||
}
|
||||
}
|
||||
|
|
@ -2,13 +2,14 @@ mod day_01;
|
|||
mod day_02;
|
||||
mod day_03;
|
||||
mod day_04;
|
||||
// mod day_05;
|
||||
// mod day_06;
|
||||
// mod day_07;
|
||||
mod day_05;
|
||||
mod day_06;
|
||||
mod day_07;
|
||||
// mod day_08;
|
||||
// mod day_09;
|
||||
// mod day_10;
|
||||
// mod day_11;
|
||||
// mod day_12;
|
||||
mod utils;
|
||||
|
||||
use std::time::Duration;
|
||||
|
|
@ -47,19 +48,26 @@ pub fn day_04() -> DailyOutput {
|
|||
( p1 as u128, p2 as u128, d )
|
||||
}
|
||||
|
||||
// pub fn day_05() -> DailyOutput {
|
||||
// let s : String = read_from_file("inputs/05.txt");
|
||||
// let (p1, p2, d) = diagnostics::benchmark(s, day_05::answer);
|
||||
pub fn day_05() -> DailyOutput {
|
||||
let s : String = read_from_file("inputs/05.txt");
|
||||
let (p1, p2, d) = diagnostics::benchmark(s, day_05::answer);
|
||||
|
||||
// ( p1 as u128, p2 as u128, d )
|
||||
// }
|
||||
( p1 as u128, p2 as u128, d )
|
||||
}
|
||||
|
||||
// pub fn day_07() -> DailyOutput {
|
||||
// let s : String = read_from_file("inputs/07.txt");
|
||||
// let (p1, p2, d) = diagnostics::benchmark(s, day_07::answer);
|
||||
pub fn day_06() -> DailyOutput {
|
||||
let s : String = read_from_file("inputs/06.txt");
|
||||
let (p1, p2, d) = diagnostics::benchmark(s, day_06::answer);
|
||||
|
||||
// ( p1 as u128, p2 as u128, d )
|
||||
// }
|
||||
( p1 as u128, p2 as u128, d )
|
||||
}
|
||||
|
||||
pub fn day_07() -> DailyOutput {
|
||||
let s : String = read_from_file("inputs/07.txt");
|
||||
let (p1, p2, d) = diagnostics::benchmark(s, day_07::answer);
|
||||
|
||||
( p1 as u128, p2 as u128, d )
|
||||
}
|
||||
|
||||
// pub fn day_08() -> DailyOutput {
|
||||
// let s : String = read_from_file("inputs/08.txt");
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ fn main() {
|
|||
Some(2) => run_day(aoc2025::day_02),
|
||||
Some(3) => run_day(aoc2025::day_03),
|
||||
Some(4) => run_day(aoc2025::day_04),
|
||||
// Some(5) => run_day(aoc2025::day_05),
|
||||
// Some(6) => run_day(aoc2025::day_06),
|
||||
// Some(7) => run_day(aoc2025::day_07),
|
||||
Some(5) => run_day(aoc2025::day_05),
|
||||
Some(6) => run_day(aoc2025::day_06),
|
||||
Some(7) => run_day(aoc2025::day_07),
|
||||
// Some(8) => run_day(aoc2025::day_08),
|
||||
// Some(9) => run_day(aoc2025::day_09),
|
||||
// Some(10) => run_day(aoc2025::day_10),
|
||||
|
|
@ -32,9 +32,9 @@ fn run_all_days() {
|
|||
aoc.insert(2, aoc2025::day_02());
|
||||
aoc.insert(3, aoc2025::day_03());
|
||||
aoc.insert(4, aoc2025::day_04());
|
||||
// aoc.insert(5, aoc2025::day_05());
|
||||
// aoc.insert(6, aoc2025::day_06());
|
||||
// aoc.insert(7, aoc2025::day_07());
|
||||
aoc.insert(5, aoc2025::day_05());
|
||||
aoc.insert(6, aoc2025::day_06());
|
||||
aoc.insert(7, aoc2025::day_07());
|
||||
// aoc.insert(8, aoc2025::day_08());
|
||||
// aoc.insert(9, aoc2025::day_09());
|
||||
// aoc.insert(10, aoc2025::day_10());
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ impl AdventOfCode {
|
|||
},
|
||||
}
|
||||
})
|
||||
.map(|n| n.max(1))
|
||||
.sum();
|
||||
|
||||
println!("");
|
||||
|
|
|
|||
|
|
@ -3,12 +3,16 @@ use std::fs;
|
|||
pub mod diagnostics;
|
||||
|
||||
pub fn char_to_u8(c : char) -> Option<u8> {
|
||||
c.to_digit(10).and_then(|n| u8::try_from(n).ok())
|
||||
char_to_u32(c).and_then(|n| u8::try_from(n).ok())
|
||||
}
|
||||
|
||||
// pub fn char_to_u64(s : char) -> Option<u64> {
|
||||
// s.to_string().parse::<u64>().ok()
|
||||
// }
|
||||
pub fn char_to_u32(c : char) -> Option<u32> {
|
||||
c.to_digit(10)
|
||||
}
|
||||
|
||||
pub fn char_to_u64(c : char) -> Option<u64> {
|
||||
char_to_u32(c).map(u64::from)
|
||||
}
|
||||
|
||||
pub fn read_from_file(name : &str) -> String {
|
||||
match fs::read_to_string(name) {
|
||||
|
|
@ -40,9 +44,9 @@ pub fn str_to_i16(s : &str) -> Option<i16> {
|
|||
// s.trim().to_string().parse::<u32>().ok()
|
||||
// }
|
||||
|
||||
// pub fn str_to_u64(s : &str) -> Option<u64> {
|
||||
// s.trim().to_string().parse::<u64>().ok()
|
||||
// }
|
||||
pub fn str_to_u64(s : &str) -> Option<u64> {
|
||||
s.trim().to_string().parse::<u64>().ok()
|
||||
}
|
||||
|
||||
pub fn str_to_u128(s : &str) -> Option<u128> {
|
||||
s.trim().to_string().parse::<u128>().ok()
|
||||
|
|
|
|||
Loading…
Reference in New Issue