diff --git a/1/Cargo.lock b/1/Cargo.lock deleted file mode 100644 index ff47d6e..0000000 --- a/1/Cargo.lock +++ /dev/null @@ -1,16 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "array-append" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "725731b5abb5b99ed3237a756dd6c6723911f973d998c0e756671f92df20bfec" - -[[package]] -name = "day1" -version = "0.1.0" -dependencies = [ - "array-append", -] diff --git a/1/Cargo.toml b/1/Cargo.toml deleted file mode 100644 index 552d146..0000000 --- a/1/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "day1" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -array-append = "0.1.0" diff --git a/1/input.txt b/1/input.txt deleted file mode 100644 index bf3b409..0000000 --- a/1/input.txt +++ /dev/null @@ -1,2252 +0,0 @@ -7569 -1357 -10134 -4696 -4423 -8869 -3562 -6597 - -4038 -9038 -1352 -8005 -4811 -6281 -3961 -4023 - -7234 -3510 -7728 -1569 -4583 -7495 -3941 -6015 -6531 -2637 - -18211 -19347 -16113 -7314 - -3359 -7199 -4527 -5384 -1752 -2422 -6301 -1923 -5957 -3000 -6835 -1986 - -9837 -5600 -11944 -9188 -2356 -7054 -7549 - -19258 -32524 - -15237 -10665 -11603 -3047 -6430 - -3218 -3421 -5897 -4950 -6920 -3118 -5140 -2364 -4650 -3216 -5223 -2402 -6073 - -16733 -10846 -10699 -5704 - -16364 -7679 -5249 - -69625 - -2432 -3304 -1846 -11421 -9850 -7406 - -11788 -10569 -9105 -13946 -5825 -5780 - -5701 -3011 -4082 -3895 -9127 -8124 -7818 -1398 -5443 - -9172 -11176 -4400 -4126 -3226 -6516 - -4784 -3620 -1087 -2533 -6306 -6601 -2539 -2634 -8533 - -1765 -4859 -7129 -5595 -2936 -3340 -7565 -7752 -3834 -5943 -6931 - -3516 -1217 -5776 -2286 -2197 -3014 -4302 -2294 -5915 -1744 -1007 -2695 - -5728 -8002 -4340 -1468 -2743 -8017 -6742 -5924 -1490 -4792 - -32995 -20012 - -57974 - -12603 -10225 -6899 -9986 -1811 - -3991 -3427 -1641 -1997 -4577 -5141 -6317 -3869 -2086 -2394 -5451 -4061 -3912 -3968 - -13322 -7684 -17919 -14291 - -8875 -11474 -10009 -2836 -2999 -13462 - -3708 -7178 -2303 -6047 -3002 -4253 -2620 -6321 -6538 -1672 -5623 -4445 - -7594 -9506 -11613 -4382 -11164 -11772 - -4143 -4863 -6876 -5387 -3223 -4621 -5344 -6356 -6151 -2687 -5774 -3570 -5506 - -14826 -18705 -22216 - -2109 -10543 -9216 -2103 -4909 -11592 -11574 - -7076 -7210 -13392 -9010 -11206 -2430 - -5524 -5266 -3474 -5772 -4389 -2866 -5281 -3445 -5062 -5624 -1289 -5082 -4932 -3702 -4462 - -8903 -15889 -12929 -15606 -12521 - -3958 -2105 -6631 -5906 -5366 -5698 -6452 -7522 -5595 -7892 -2611 - -11540 -15585 -10410 -11433 -15924 - -13538 -7274 -25109 - -2027 -8353 -4550 -3143 -5959 -1361 -8119 -4990 -6639 -5914 - -4288 -3407 -4919 -5857 -1737 -1100 -2123 -4001 -6954 -3470 -4972 - -63284 - -22745 -25713 -6948 - -2671 -5918 -2996 -5049 -5552 -2862 -4148 -2699 -1267 -3203 -4101 -1669 -3841 -1645 - -12339 -13808 -5765 -9380 -5878 -11724 - -6944 -2942 -4488 -3205 -3266 -4343 -5902 -2415 -6376 -3563 -4262 -4253 - -24318 -8839 - -13143 -3079 -8421 -16182 -4310 - -3940 -1588 -4554 -7978 -3061 -5421 -1413 -3283 -3457 -2084 -4425 - -6041 -16098 -8298 - -6346 -3091 -4566 -2749 -2025 -4206 -4649 -1535 -5881 -6502 -2848 -2816 -3764 -2020 - -7370 -4174 -6795 -1962 -7711 -4206 -6495 -5526 -4480 -2180 - -12796 -3793 -13517 -12324 -1675 -12092 - -3519 -2768 -4696 -4921 -5713 -10465 -10032 -6721 - -8037 -6647 -6670 -3163 -6700 -2015 -4590 -2144 -2485 -3831 -3996 - -7363 -2114 -3645 -4102 -6663 -3757 -3043 -1488 -1566 -3300 - -20413 -24591 -24088 - -7261 -16967 -3491 - -14354 -11988 -5752 -1080 - -4160 -5598 -5430 -1042 -6909 -7422 -5222 -4580 -7077 -6009 -4473 -3132 - -38094 - -3052 -1814 -5217 -2138 -6224 -2081 -6237 -3829 -6332 -6364 -1612 -3923 -4533 -2415 - -1732 -1869 -5762 -4834 -3595 -3105 -4997 -3525 -6270 -5260 -4952 -5466 -3703 -3859 - -3781 -4919 -5489 -4348 -2027 -1542 -2328 -4875 -4317 -2274 -5421 -1528 -3963 -4940 - -1085 -1745 -5093 -7798 -3642 -7681 -5792 -3291 -7482 -5889 -5784 - -10489 -6344 -10829 -7847 -10808 -11986 -1223 - -15486 -12689 -6161 -13613 -15818 - -2208 -3272 -6446 -4202 -5845 -4708 -6976 -7997 -2047 - -2882 -7606 -6394 -4353 -6458 -4477 -6710 -8184 -1986 -3996 - -4096 -5903 -5149 -2970 -5896 -3044 -3801 -2703 -2063 -3652 -6083 -1325 -1921 - -7255 -6622 -4108 -3272 -8626 -6466 -5211 - -3189 -18089 -3687 -14113 - -3376 -1179 -6295 -4694 -5730 -4580 -4831 -4738 -6097 -2199 -5472 -5424 -2997 - -3656 -5742 -4953 -6405 -7948 -3400 -2571 -1898 -3720 -1919 -7725 - -8235 -7985 -6168 -2276 -1521 -8539 -2794 -6916 -3589 -7893 - -5274 -2480 -1861 -2970 -7096 -5896 -5236 -6596 -4901 -3928 -4092 -2193 - -5578 -6132 -1902 -4091 -7470 -2037 -3949 -6953 -5154 -6307 -4244 - -1454 -3537 -6539 -8978 -1877 -1454 -3516 -2550 -6548 - -8176 -10883 -1159 -5666 -10115 - -1909 -2160 -4754 -1500 -6248 -6766 -3776 -1757 -7563 -6897 -5468 - -5776 -1295 -14577 - -1467 -1628 -4841 -2712 -5274 -5645 -5030 -2980 -2148 -2494 -1391 -3978 -4273 - -5892 -5325 -6605 -4615 -5939 -1734 -4169 -2864 -6916 -3003 -5691 -6886 - -3207 -1313 -6940 -5545 -1307 -2515 -5310 -2719 -5037 -2852 -4270 -5482 -2629 - -3113 -3184 -3103 -3874 -2053 -4348 -2034 -5610 -5564 -1245 -2760 -4184 -4388 -4924 -5294 - -30280 -20633 - -7281 -4704 -7154 -4633 -4685 -6490 -2221 -4097 -2155 -5782 -2259 -2187 - -3375 - -2564 -2306 -7714 -1233 -6833 -1254 - -3714 -2329 -1168 -6477 -5418 -4491 -7480 -6478 -6092 -3240 -5209 - -4555 -7903 -4052 -6201 -7707 -2317 -6661 -2402 -2158 - -3752 -6799 -1474 -9554 -3071 -2588 -7440 -5000 -8195 - -3945 -8862 -9254 -1049 -6590 -9350 -9632 -6202 -2607 - -5825 -8152 -1095 -1176 -5725 -8096 -7452 -2804 - -4902 -4036 -4145 -2369 -4783 -5874 -6162 -2016 -5293 -3958 -7302 -1201 - -3421 -3339 -4445 -9464 -4824 -9299 -7335 - -6879 -12322 -7258 -2357 -6743 - -6630 -4201 -5648 -7472 -3316 -6413 -3651 -5112 -3704 -4059 -6615 -2342 - -7681 -4263 -1806 -2522 -6200 -1800 -1684 -4629 -5588 -7604 -5150 - -32417 - -11824 -4356 -6128 -13448 - -8280 -9281 -3856 -4534 -8755 -8085 -9197 - -6955 -7042 -6791 -2400 -6051 -5380 -4118 -4139 -5099 -1114 -3525 -3402 - -13183 -9082 -12948 -13297 -7114 -9971 - -63036 - -9084 -9962 -14352 -12961 - -3679 -5437 -2514 -2561 -6014 -2091 -2512 -2685 -2395 -3386 -3456 -5414 -1796 -3727 - -1846 -6054 -9570 -10656 -6468 -12149 - -4785 -7420 -8022 -6261 -5671 -2126 -6538 -6793 -4723 -5504 -2839 - -1152 -3372 -10954 -6464 -2765 - -3398 -4853 -5512 -2553 -8012 -2860 -4092 -5288 -4618 -4616 -3996 - -1918 -1632 -3795 -3530 -5571 -6305 -5669 -5444 -4991 -2367 -4511 -3484 -3936 -5420 - -10711 - -7735 -4055 -8903 -10180 -3356 -5725 -5101 - -31657 - -12997 -15132 -13791 -15184 - -13021 -2125 -7652 -4939 -14287 - -4244 -8543 -3071 -8029 -6778 -2814 -5218 -6955 -5265 -7921 - -46784 - -3526 -3133 -10593 -4638 -9539 -1227 -4904 -5965 - -7848 - -3178 -1014 -3628 -7149 -1430 -1663 -2236 -4653 -5188 -2240 - -6429 -5092 -2605 -1027 -1822 -7407 -2638 -4967 -4244 -3371 -4413 -4861 - -2470 -9469 -2051 -7278 -9351 -10480 -2860 -4206 - -9007 -3043 -1424 -9081 -2827 -2652 -5879 -6789 -7120 - -37743 - -6312 -5845 -3742 -5544 -3759 -3562 -7319 -2738 -2626 -1534 -2820 -6553 - -9864 -2966 -6757 -5962 -7093 -1905 - -4948 -9976 -7084 -8037 -7204 -11131 - -9115 - -5691 -3512 -4281 -5631 -2820 -3271 -6239 -2636 -7654 -7050 -3363 - -7004 -4165 -3989 -6436 -2973 -2194 -4570 -2609 -5751 -6194 -7048 -6261 - -5831 -1130 -7172 -12886 -8062 -13840 - -1823 -9111 -6212 -4168 -7883 -10579 -8924 -2743 - -7852 -5075 -5924 -7389 -3248 -9369 -1453 -9882 - -21170 -15061 - -10447 -5517 -10469 -13881 -13602 - -2267 -6183 -1055 -6806 -4409 -5327 -1873 -2598 -3547 -6547 -5317 -5075 -5351 - -2380 -3511 -8386 -7944 -8501 -1220 -6635 -9384 -6583 - -1650 -3461 -5357 -2618 -6668 -6831 -2428 -1581 -6028 -1982 -6315 -3992 -4223 - -4231 -7521 -7927 -7876 -5052 -5488 -3247 -2191 -1723 -5970 - -5328 -3471 -5900 -1596 -1013 -3057 -2245 -2850 -3026 -4661 -6302 -5058 -6246 - -1090 -18730 -17742 -16057 - -5408 -4499 -2145 -2659 -6971 -7444 -6004 -1196 -3617 -4493 -1812 -3386 - -1379 -7387 -14347 -12050 -1633 - -1614 -7776 -11559 -10026 -7185 - -10478 -1228 -9847 -12113 -12639 - -2392 -7476 -3785 -6363 -5557 -2393 -1509 -8462 -7233 -6604 - -1525 -9057 -3723 -12048 -8403 -1434 -7829 - -11321 -1931 -11036 -5443 -7082 -7616 -10227 - -5535 -4730 -6475 -4748 -2431 -3575 -3469 -6250 -3313 -5085 -3851 -1218 -3918 -1990 - -30221 -23041 - -2861 -5908 -4268 -1877 -1016 -4468 -4593 -1281 -3582 -1108 -2850 - -3786 -3112 -2359 -4122 -6426 -6756 -2602 -3666 -2640 -3074 -3129 -4290 -6741 - -11824 -6880 -9944 -1970 -3533 - -3108 -5050 - -1122 -3124 -6005 -3098 -4970 -4113 -4703 -5529 -3149 -6373 -5106 -3294 - -11319 -25294 -15963 - -1807 -5908 -6709 -5818 -4504 -10170 -6378 - -5606 -13402 -10945 -6909 -11245 -12279 - -1666 -6313 -7546 -5273 -4450 -4582 -6319 -7687 -2229 -7612 -2849 - -5483 -4903 -4321 -3371 -1117 -6806 -6352 -2281 -2598 -6433 -6849 -4444 -4318 - -7274 -1350 -6505 -6123 -1327 -3259 -2046 -4395 -2081 -3429 -6128 - -10392 -3224 -8237 -1788 -5544 -11058 - -13668 -12456 -4385 -13156 -13073 -10019 - -8544 -1540 -1472 -5529 -4076 -1141 -6039 -5256 -5524 -5986 - -3721 -5171 -4997 -5498 -6807 -1778 -5120 -2830 -2733 - -1629 -6387 -4685 -1162 -6393 -1118 -1628 -6786 -5507 -5745 -1914 -2043 -4954 - -11968 -5263 -6691 -11191 -10725 -2462 -7162 - -1911 -5528 -8016 -5798 -2448 -7299 -3742 -2756 -1710 -5342 - -1612 -5217 -2630 -4768 -5942 -2414 -6278 -2422 -3603 -5110 -4823 -3115 -3616 -3872 - -20562 - -21492 - -6167 -22813 -6117 - -1746 -1883 -5639 -2251 -4456 -1289 -2850 -5350 -6211 -1971 -1628 -4259 -5732 -1522 - -2427 -19825 -15898 -9510 - -10822 - -5729 -8357 -1089 -6622 -3631 - -9226 -4811 -4979 -4748 -4686 -10536 -8734 -10183 - -6483 -1553 -6871 -2817 -1964 -4610 -4267 -3258 -6700 -4836 -6902 -1354 -4994 - -5293 -1858 -1504 -2783 -6933 -6112 -3433 -5478 -4998 -5578 -4112 -4924 -5567 - -6550 -5932 -6154 -1424 -6667 -7476 -1573 -5597 -3271 -3732 -6926 -5812 - -9452 -4356 -6277 -3167 -3323 -6475 -2026 -8759 -6115 - -14299 - -63447 - -2635 -5931 -6323 -8330 -3177 -7588 -4316 -3837 -7060 -3915 - -48633 - -4750 -2846 -4007 -5026 -6205 -2760 -3031 -2748 -5059 -4779 -2110 -2238 -5475 - -5832 -3148 -3556 -1924 -5265 -5802 -3515 -1606 -1437 -1210 -2961 -2408 -2580 -5539 -1380 - -66449 - -2996 -3761 -4582 -5321 -1600 -5507 -1384 -3288 -2201 -3423 -4042 -1109 -5464 -3278 -5813 - -8499 -6999 -5484 -2524 -6885 -5701 -5513 -4086 -7943 -4973 - -1159 -7531 -1852 -15286 - -4539 -8693 -1014 -1828 -8482 -8082 -5404 -3261 -8635 -6019 - -3048 -6786 -5651 -1378 -2938 -3365 -5968 -3120 -3338 -6905 -2580 -6653 -3288 - -11131 -7146 -18154 - -3907 -4060 -5426 -3596 -5290 -1701 -5058 -5641 -5510 -3599 -4874 -4125 -4174 -4347 -1031 - -16519 - -2653 -3214 -8189 -6240 -2010 -9114 -2936 -5757 - -27107 - -4099 -1252 -4620 -5294 -6455 -1170 -5050 -4196 -2488 -4760 -7425 - -4275 -9064 -19197 -2605 - -4278 -8197 -3238 -3410 -5384 -2670 -5818 -4744 -7541 -6172 - -13214 -2791 -8165 -8198 -9405 -4916 - -15390 -7196 - -8611 -7289 -4196 -1729 -6994 -6587 -5544 -1110 -5397 -2882 - -2351 -4784 -3193 -6033 -2193 -1767 -5487 -3421 -1503 -3221 -2610 -5334 -3596 -5869 -2536 - -21247 -12819 -5427 - -10652 -4957 -2236 -9504 -9850 -11495 -8799 - -1295 -1117 -4578 -2757 -8310 -7539 -1563 -7445 -9248 - -1154 -7145 -2494 -1170 -5617 -7106 -1500 -7359 -7355 -7312 -6374 -6591 - -8635 -4722 -2581 -1321 -4876 -8887 -2091 -5882 -3667 - -2555 -2895 -5862 -4002 -1331 -2902 -4189 -5844 -4167 -3075 -3559 -3807 -4633 -2562 -2182 - -7326 -7752 -9975 -9509 -10360 -9290 -4799 -7985 - -2025 -3129 -10778 -4050 -15824 - -8875 -12920 -13121 -8778 -4115 -2725 - -2640 -7696 -9232 -4533 -3279 -3792 -3060 - -1928 -1954 -7144 -4484 -2340 -7079 -4401 -2149 -4172 -2331 -7733 - -10089 -1850 -10613 -10002 -7258 -10227 -1377 -4110 - -1993 -5191 -1557 -6222 -5479 -4984 -6453 -5099 -4422 -4870 -6401 -2377 -1590 -2023 - -11578 -12357 -5959 -6164 -2562 - -6504 -3906 -2703 -5974 -3143 -1620 -4910 -2133 -3240 -5300 -2309 -3464 -1256 - -10982 -7910 -7625 -11675 -10215 -1163 -9569 - -2915 -3767 -3745 -3972 -1852 -7935 -7429 -5175 -6558 -1430 -1602 - -3817 -3327 -1928 -4831 -3908 -2935 -1922 -4557 -2762 -4731 -4974 -3861 -2073 -3692 -4205 - -7336 -2964 -15357 -13398 -7906 - -3525 -4721 -4014 -3612 -2369 -2023 -2847 -4074 -1129 -2179 -3614 -4281 -3818 -5191 -5381 - -61042 - -3819 -4305 -6299 -2583 -1370 -1380 -3654 -2856 -2461 -1332 -1901 -2910 - -6827 -13660 -16816 -2018 - -3748 -7348 -8889 -8319 -2671 -7852 -5415 -3932 -8902 - -3614 -4741 -5864 -5082 -4251 -5216 -6408 -6951 -1828 -1279 -5092 -5998 -1599 - -2630 -3617 -4473 -5203 -4772 -7763 -3033 -7055 -7533 -3649 - -2201 -1324 -5999 -5250 -3899 -4327 -7485 -5573 -5759 -6442 -2955 - -4682 -4459 -6026 -6998 -1943 -4534 -4555 -5575 -5046 -7549 - -18939 -6157 -4911 - -3975 -4193 -4442 -4336 -1650 -4874 -4756 -6106 -2389 -2783 -3412 -3343 -3794 -1072 -3170 - -9191 -9214 -7209 -6637 -9086 -9123 -8213 -9269 -4298 - -6182 -7624 -3395 -5847 -1575 -6110 -2981 -5999 -5480 -5971 -3642 - -11213 -13891 -3627 -7688 -11077 -2119 - -20695 -17278 -14874 - -6613 -1752 -7179 -7575 -5803 -2655 -5733 -1441 -6247 -3254 - -3667 -1157 -3324 -1195 -5982 -3444 -5185 -4061 -4297 -4364 -3399 - -8517 -6424 -4847 -3985 -13460 -2559 - -4043 -2124 -3622 -5129 -4750 -3882 -6512 -2024 -2053 -4534 -5507 -3312 -5172 - -9086 -7581 -2686 -12674 -6833 -4967 - -2401 -12176 -6352 -4439 -8153 - -8222 -9993 -4988 -10170 -9853 -7487 -10533 -1892 - -2527 -4255 -4377 -4312 -2549 -2005 -4011 -4803 -5879 -6038 -2382 -3758 -1079 -1875 -2549 - -3962 -4758 -5211 -5023 -11911 -8809 -1896 - -6166 -12840 -7486 -9772 - -3481 -4655 -6998 -2009 -8754 -7585 -8723 -7766 -9118 - -3997 -6810 -6988 -9613 -7982 -8594 -1229 -7588 -3507 diff --git a/1/src/main.rs b/1/src/main.rs deleted file mode 100644 index 8509165..0000000 --- a/1/src/main.rs +++ /dev/null @@ -1,72 +0,0 @@ -use std::fs::File; -use std::io::{self, BufRead, BufReader}; - -const PATH: &str = "./input.txt"; - -fn main() { - // 1. read file - // 2. loop line by line - // 3. count all values - // 4. if \n, check sum - - let mut highest_sum: i32 = 0; - let mut new_sum: i32 = 0; - - let mut highest_sums: Vec = Vec::new(); - - let lines = read_lines(PATH); - for result in lines { - let line = result.unwrap(); - - if line == "" { - highest_sum = check_highest_sum(&new_sum, &highest_sum); - new_sum = 0; - } else { - new_sum += line.parse::().unwrap(); - check_3_highest(&new_sum, &mut highest_sums); - } - } - - println!("1. RESULT: {}", highest_sum); - println!("2. RESULT {:?}", calc_final_result(highest_sums)); -} - -fn check_highest_sum(new_sum: &i32, highest_sum: &i32) -> i32 { - if *new_sum > *highest_sum { - *new_sum - } else { - *highest_sum - } -} - -fn check_3_highest(new_sum: &i32, highest_sums: &mut Vec) { - if highest_sums.len() < 3 { - highest_sums.push(*new_sum); - return; - } - - highest_sums.sort(); - highest_sums.reverse(); - - println!( - "{} > {} = {}", - *new_sum, - *highest_sums.last().unwrap(), - *new_sum > highest_sums[0] - ); - - if *new_sum > *highest_sums.last().unwrap() { - highest_sums.pop(); - highest_sums.push(*new_sum); - } - println!("{:?}", highest_sums); -} - -fn calc_final_result(sum: Vec) -> i32 { - sum.iter().sum() -} - -fn read_lines(filename: &str) -> io::Lines> { - let file = File::open(filename).unwrap(); - return io::BufReader::new(file).lines(); -} diff --git a/2/.projectile b/2/.projectile deleted file mode 100644 index e69de29..0000000 diff --git a/2/Cargo.lock b/2/Cargo.lock deleted file mode 100644 index 63c2f60..0000000 --- a/2/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "day2" -version = "0.1.0" diff --git a/2/Cargo.toml b/2/Cargo.toml deleted file mode 100644 index 8aa34bb..0000000 --- a/2/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "day2" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] diff --git a/2/input.txt b/2/input.txt deleted file mode 100644 index 4dc000a..0000000 --- a/2/input.txt +++ /dev/null @@ -1,2500 +0,0 @@ -A Y -B X -B X -C Y -B X -A Z -B X -B X -C Z -A Z -C Z -A X -A Y -A Y -B X -C Y -B Z -A X -B X -C Y -C Y -A Y -A Y -C Y -B X -B X -B X -A X -B X -B X -C Y -C Y -B X -A Z -A Z -B X -A Z -C Y -B X -B X -B X -B X -B X -B Z -A Z -B X -A Z -A X -B X -A Z -B X -C Y -A Z -A Z -B X -B X -B Z -C Y -A Y -B Z -A Z -C Z -B X -C Y -C Y -B Z -B X -B X -B Z -B X -B X -A Y -A Z -B Z -B X -B Y -B Z -B X -C X -B Z -B X -A Z -B Z -B Z -B X -A Y -A Z -A Y -B X -B Z -B X -B X -A Y -A Y -B X -B X -B X -C X -C Y -B X -B X -B Z -B X -B X -B X -C Y -B X -C Y -A Z -B X -B Z -B X -C Y -C Y -A Z -A Y -C Y -B X -B X -B Z -A Y -B X -B X -B X -A Y -B Z -B X -A Y -B Z -C Y -A X -B X -B X -A Z -C Y -B X -B Z -A Y -A Y -C Y -A Y -C Y -B X -B Z -B X -C Y -A Y -B X -C Z -A Z -C Y -B X -B Z -B X -B X -B Z -B Y -A Y -B X -A Y -A Z -A Z -B X -C Y -B Z -A X -A Y -B X -A Z -B X -A Y -B Y -B X -A Y -B X -B X -B X -B X -B X -B X -B X -A Z -B X -B X -B Z -B Z -B Z -B Z -A Y -B Z -C Z -B X -B X -B X -A Z -B Z -C Y -B X -C Y -B Z -B X -B Z -B X -C Z -A Z -A Y -A X -B X -B Z -A Y -B X -B X -B X -B X -C Y -C Y -A Z -A Y -A X -B X -B X -A Y -B X -C Y -A X -B X -B X -B X -A Z -C Y -B Z -C Y -A Y -C Y -A X -A Z -C Z -A Z -B X -B Z -B X -B X -A X -B X -B X -B Z -A Y -C Y -A Z -C Z -A Z -A Z -A Z -B Z -B Z -B Z -C Z -B Y -C Y -C Y -C X -B X -C Y -B X -B X -C Y -B Z -B X -C Z -B X -A Z -B Z -C X -C Y -B X -A Y -A Z -B X -A Z -A Z -B X -B X -C Z -B Z -A Z -A Z -C Z -B X -A Z -A X -B X -B X -C Y -B X -B Z -A Z -B X -B X -B X -B X -B X -B X -B X -B X -C Y -C Y -B X -B X -B X -C Y -A X -B Z -B X -B X -C Z -B X -B Z -B Z -A Z -B X -B Z -B X -A Z -B X -B X -B X -B X -B X -C Z -B X -B X -B X -B Z -C Y -C Y -A Y -B X -B Z -C Y -B X -B X -C Y -C Y -B X -B X -B X -B X -C X -B Z -B X -B Z -C Y -A X -A Z -B X -B X -A Z -B X -C Z -B X -A Y -A Z -B X -B X -B X -B Z -B X -A Y -C Y -B Z -B Z -C Y -B X -A Y -C Y -B X -C Z -B X -B X -A Z -B Z -B Z -B X -A Z -A Z -A Y -B Z -B X -B X -B X -B X -B Z -B X -B Z -B X -A Z -B X -B X -C Z -C Z -B X -C Y -A Z -B X -B Z -C Z -C X -B X -A Y -A Y -B X -B X -C Y -A X -C Y -A Y -A Z -C Z -B Z -A Z -B X -B X -B Z -C Y -A Y -A Y -B Z -A Z -A Z -B Z -A Z -B X -A Y -A Y -C Y -B X -B X -A X -B X -C X -A Y -A Z -B X -B X -B X -B X -B X -B Z -B Z -B Z -B X -B X -A Z -B X -C Z -A Z -C Y -B Z -C Y -A Y -C Y -B X -B X -B X -A Y -B Z -B Z -B X -B Z -B X -B X -B X -C Y -B X -B Z -A Z -B X -B X -B X -C Z -C Z -B Z -B X -A Z -A X -B X -B X -B Y -A Y -B X -B X -C Z -A Z -B X -B Z -B Z -A Y -A Z -B Z -B Z -A Y -A Y -A Z -C Y -C Y -B X -B X -A Z -B X -C Y -C X -A Z -B X -B X -B X -A Y -C Y -B Y -C Y -C X -A X -A Y -B Z -B X -B Z -A X -B X -C Z -B X -B X -A Y -B Z -B X -A Y -A Y -B X -C Y -B X -B X -C Y -B X -C Z -B Z -B X -A X -C Y -C Y -B X -B Z -B X -B X -A Z -B X -A Z -B Z -B X -B X -B Z -A Y -C Y -B Z -B X -A Y -B X -A X -C Z -B X -B Z -B Z -A X -C Y -A Z -B X -B Z -A Y -B X -C Y -A Y -B Z -C Y -B X -B X -B X -B X -B X -B X -C Y -B X -C Z -A Y -C Y -B X -C Y -B Z -B X -A X -B Z -B X -C X -B X -A Z -B X -A Y -B X -C Z -B X -B Z -A Y -B X -A Z -A Z -A Z -A Y -A Y -B X -A Z -B X -B X -A Y -A Y -A Y -B Z -C Y -B Z -B X -C Z -A Y -C Y -B X -B X -B Z -B X -B X -B X -C Y -C Y -A Y -B Z -B Z -B X -B X -B Z -B X -A Y -C Y -B X -C X -B Z -B X -B Z -B Z -C Y -B Z -B X -C X -B X -C Y -B X -A Z -B X -B X -B X -B X -B X -C Y -A Y -B X -C Y -B Z -B Z -B X -C X -B Z -C Y -C X -C Y -A Z -B Z -C Y -C X -B X -A Y -C Y -B X -C Z -B Z -A Y -C Z -C X -B X -B X -A Y -C X -B X -B X -A X -A Z -A X -A Y -A Y -C Y -B X -C Z -B X -C Y -A Y -B X -B X -B X -B X -A Z -C X -B X -B Z -B X -B X -C Y -B X -C Z -B X -B X -B X -B X -B X -C Y -B X -B X -A Y -B X -C Y -C Y -A Y -B X -A X -A Y -B X -B Z -B X -B Z -A X -A Y -A X -B X -C Z -A Y -B Z -A Y -B Z -B Z -B X -B Z -B X -B X -B X -B Z -B X -B X -B X -A Z -C Z -C Z -A X -A X -B X -B X -A X -B X -A X -A Z -B Z -B X -C Y -B X -C Y -A Y -C X -A X -A Y -B Z -B X -B X -C Z -B Y -A Y -B Y -C Y -A Y -B X -B X -C X -B Z -A Y -B Z -A Z -B X -B X -A Z -C Z -A Y -B X -B X -B Z -B X -B X -B Z -A X -A Z -C Y -A Y -A Z -B X -C Y -B Z -C Y -B X -B X -B Z -B X -A Y -B X -A Y -B X -A Y -B X -A Y -C Y -A Y -B Z -A Y -B X -A Z -C Y -B X -B X -B X -A X -B X -B Z -A Z -A Z -B X -B Z -B X -A Y -B Z -B X -B X -A Y -A Y -C Z -C Y -B X -A X -A Y -A X -C Y -B X -C X -B X -B X -A Y -A Y -A Y -B Y -B X -B X -B X -C Z -B Z -C Z -A X -B X -B X -A Y -A Z -B X -A Y -B Z -B Z -C Y -B X -B X -C X -B X -C X -B X -B Z -A X -B X -A Z -A X -B Z -A Y -B X -B X -B X -B X -B Z -A Z -B X -B Z -B X -B Z -C Y -B X -C Y -B X -B X -B X -A Y -B X -A Y -B X -B X -A X -C Z -C Y -A Z -B X -A Y -C Z -C Y -C Y -B Z -A Y -B X -A Y -B X -B X -B Z -B Z -B X -C X -B Z -A X -A Y -A Y -B Z -A Z -C Y -B X -B Z -A Y -C Y -A Y -A X -A Z -B X -B X -C Y -B X -C Y -B X -A X -B Z -C X -B Y -A Y -C Y -B X -A X -B X -B X -B X -A Z -A Y -B X -C Z -B X -C X -C Z -B X -B X -C Y -B X -B Z -A Y -A Y -B X -B X -B Z -C Y -B X -B X -B X -A Y -C Y -B X -A Y -A Z -C Y -B X -A Y -A Z -B Z -A Z -B X -C X -B Z -A Y -B Z -A Y -C Y -A X -A Y -B X -C Y -C Y -B X -A X -B Z -B X -B X -A Z -A Z -A Y -A Y -B X -B X -B X -A X -B X -B X -B X -A X -B Z -C Z -A Y -C Y -C Y -C X -B X -B Z -B Z -B X -B X -C Y -A X -C Y -A X -B X -B X -B Z -B Z -C Y -C Y -A Z -C Y -A Z -B X -A Z -A Y -B Z -B Z -B X -B X -A Y -B Z -B X -C Z -A Z -B Z -B X -B Z -B X -C Y -B X -A Y -B Z -C Y -B Z -C Z -B X -C Z -B X -B X -B X -C Y -B X -B X -B Z -A Y -B X -B Z -A Z -B X -C Y -C X -C Y -A Z -B X -A Z -B X -C Z -A Y -B Z -B Z -A Y -C Z -C X -A Y -B X -B Z -B X -B X -B X -B X -A X -B X -B X -A Z -B X -B X -A Z -C Y -A X -B Z -B X -B X -A Z -B X -A Y -B Z -C Y -B X -A Y -C Y -B Z -B X -A Z -A Z -B X -B X -B Z -B X -B X -A Z -B X -B Z -B Z -C Y -A Z -B X -A Y -B X -B X -B X -B Z -A X -C Y -B Z -B X -B X -B X -B X -B X -B Z -B X -B Z -A Z -B Z -B X -C Z -B Z -C Z -A Z -C X -A Y -B Z -B Z -B X -B Z -B Z -A Z -C Z -A X -C Y -C Y -A Y -A X -A Z -B X -A Y -B X -B X -C Y -C Y -B X -B Z -A Y -B X -B Z -B X -B X -A Z -C Y -B X -C Y -A Y -B Z -A Z -A Y -B X -A Z -B Z -B X -A Y -A Y -A Z -A X -B Z -C Z -B X -C Z -B X -B Z -A X -B X -B X -B X -B X -C Y -B X -A X -B Z -A Y -B X -A Z -B X -B Z -A Y -A Y -A Y -A Y -A Z -C Y -C Z -B X -B Z -A Y -B X -B X -B X -A Y -B Z -B X -B Z -B X -B X -B X -C Y -C Y -C X -B X -A Y -A Y -C Z -A Y -A Y -C X -A Z -B X -B X -B X -B X -C Y -A Y -B Z -A Z -B X -C X -A Z -B X -C Y -B X -B X -C Y -B X -B X -B X -A Y -B X -B X -C Z -B X -C Y -C Y -B X -A Z -B X -B X -C Y -A Y -B X -B Z -B X -B X -B X -C Y -C Z -B Z -C Y -B X -B Z -B X -B X -B X -C Y -C X -B X -A Y -A Z -B Z -A Y -B X -B X -B Y -C Y -C X -B Z -A Z -B X -B X -A Y -C Z -C Y -B X -C Y -A Z -A Y -B Z -B X -B X -B X -B X -A Z -A X -A X -A X -C Y -B Z -B X -C Y -B X -B X -A Z -C Z -C Z -B X -A Y -B X -B Z -B X -A Y -A Y -A Z -C Y -A Y -A Z -A Y -A Y -B X -A Y -B X -A Z -A Z -C Y -B X -B X -C Y -B X -B X -B X -C Y -A Y -B X -A Y -B Z -C Y -B X -A Y -B Z -A Z -B Z -A Z -B X -C Y -B X -B X -B X -C Y -A Y -B X -A Y -C X -A Z -B X -B Y -B X -B X -A Z -B X -B X -B Z -B X -C Y -B X -B X -B Z -B X -C Y -B X -C Y -B X -B Z -A Y -B X -B X -C Z -B X -C Y -A Y -C Y -B X -B Z -B X -B X -B X -B X -A Y -B X -A Z -A Y -A X -C Y -B X -C Y -B X -A Z -C Y -C Y -B Z -B X -A Y -B Z -A Y -A Y -B Z -B Z -B X -C Y -C Y -B X -A X -A Z -B X -C Y -B X -B X -B Z -B X -B Z -C Y -C Z -C Y -A Y -A Z -B X -C Y -A Y -C X -B X -B X -A Y -B X -B X -B X -B Z -B Y -A X -A Y -C Y -C Y -A Y -C Y -B Z -B Z -C Y -B X -C Y -C Z -A Y -C X -A Y -A Y -C Y -C Y -B X -A Y -A X -B X -B X -B Z -B X -A Z -A Y -A Y -B X -B X -B Z -B Z -B X -B Z -A Z -A Y -A Z -B X -C Y -B Z -B X -A Y -B X -C X -B X -B X -C Y -B X -B X -B X -A Y -A X -A Y -B X -B X -A Y -A Y -A Z -A Z -C X -C Y -A Z -C Y -B Z -B X -A Y -B X -B Z -C Z -A Y -A Z -A Y -B X -B Z -B X -A X -B Z -B X -C Y -B X -A Z -C Z -A X -B X -B X -A Y -C Y -B X -B X -B X -B X -B X -A X -B X -A Z -C Z -B Z -B X -C X -A X -C Y -A Y -A Z -B X -A X -A Z -A Z -B X -B X -A Z -C Y -A Z -B X -C Y -B X -C Z -C Y -C X -A Z -C X -B Z -B X -B X -C Y -B X -C Y -A Z -A Z -A Z -A Y -A Z -B X -B X -B X -B Z -C Y -C Z -C Y -C Y -C Y -A Y -B Z -A X -B X -B X -B X -A X -A Y -B X -B Z -A Z -A Y -A Y -B Z -B X -B X -C Y -C Y -C Y -B X -C Y -B X -B X -B X -C Y -A Y -A Y -C Z -C Y -B X -A X -A Y -B X -C Y -B X -A Y -C Y -A Y -B X -B X -B Z -A Y -B Z -B Z -B X -B X -C X -C Y -B X -B X -A X -C Y -B X -B Z -B X -B X -A Y -B X -B Z -B Z -C Y -B X -B Z -B Z -B Z -B X -B X -A Y -B X -B X -B Z -C Y -A Y -B X -B Z -B X -B X -A X -B X -B X -B X -B Z -B Z -B Z -B X -A Z -B X -A Z -A Y -B Z -B X -A Y -B X -B Z -B X -A Z -B X -B Z -C Z -A X -B X -B X -B X -C Y -B X -B X -A Y -A Z -B X -C Y -B X -C Y -B X -B Y -B X -C Z -B X -C Z -A Y -B X -C Z -B X -A Y -C Y -B X -B X -B Z -C X -B Z -B X -A Z -B X -B X -B X -B Z -B X -A Z -C Y -A Y -B X -B X -A Z -B X -A Y -B X -C Y -B Z -B Z -B X -B Z -B X -B X -B X -B X -B X -C Y -A Z -A Z -B Z -A Y -B Z -C Y -A Y -A Y -C Y -A Y -B Z -A Y -A Y -B X -B X -A X -B X -C Y -C Y -B Z -B X -A Z -B Z -B X -A Z -B Z -A Y -A Y -A Y -A Y -A Z -A Y -B X -B Z -A Y -B X -A Z -B Z -C X -B X -B X -B Z -B Z -B X -B X -B X -B X -B X -B X -B X -B Z -B X -B X -B X -B X -B X -B Z -B X -B X -B Z -B Z -B X -A Y -B Z -B X -A Z -A Y -A Z -B X -B X -A X -B Y -A Z -B X -C Z -A Z -B X -B Z -B X -B X -B X -A Y -C Y -B X -B X -B X -A Y -B X -A Z -B X -B X -B X -B Z -B Z -C X -C Y -B X -B X -C Y -B X -B X -B X -A X -A Z -A Z -B Z -B Z -B X -A Y -B X -C Y -B Z -C Y -C Z -A Y -A Y -B X -B X -A Z -B X -B X -B Z -B X -B X -A Z -B X -B X -B X -C Y -B X -B X -C Y -B X -B X -B Z -B X -B X -A Y -C Y -A X -C Y -B X -B X -A Z -A Y -B X -A X -B Z -A Y -B X -B X -A Y -B X -C X -B X -B X -B Z -B Z -B X -B Z -B X -B X -A Y -A Y -B X -B Z -C Y -B X -B X -B X -A Z -B X -A Y -B X -C Y -A X -A Y -B X -B X -C Y -B X -B X -B X -A Z -B Z -B X -C X -A Z -C Y -B X -B Z -B X -B X -A Z -B X -A Y -C Y -B X -B Z -C X -A Z -A Z -B Z -B Z -A X -B X -A Y -B X -B X -B X -B X -A Z -B Z -B Z -C Y -A X -A Y -A Y -A Z -B X -A Y -B Z -C Y -B Z -B X -A Z -B Z -B X -B Z -B Z -B Z -B X -C Y -B X -B X -A Y -B X -C X -A Y -A Z -A Y -B X -C Y -B Z -B X -B X -A X -B X -B X -A Y -A Z -C Z -A Y -B X -B X -C Y -A X -A Z -B X -B Z -B Z -C Y -A Z -C Y -A Z -C Y -C Y -B Z -C Y -B X -C Y -C Y -B X -B Z -C X -C Y -A Y -B X -C Y -B X -B X -C Y -B Z -B Z -A Z -A Z -C Y -B X -B Z -B X -B X -B X -C Y -B X -C Y -A Z -A Z -B X -B X -A Y -A X -B X -A Z -A Y -C Y -B X -A Y -A Y -B X -A X -A Z -A Y -A Z -C Y -C Y -C Y -A Y -B X -B X -A Y -C Y -B X -A X -C Y -C Y -A Y -C Y -C Y -B Z -C Y -B X -C Y -B X -B X -B X -A Y -B Y -B X -C X -B X -A X -A Y -C Y -C Y -B X -B X -A Y -B X -B X -A Y -C Y -C X -A Y -B X -B Z -B Z -B Z -B X -A Z -B X -B X -A Y -B X -B X -A Y -B Z -A Y -B X -B X -B Z -A Z -A Y -A Z -A Y -C Y -B X -C X -B X -B X -A Z -B X -B Z -B X -A Z -C Y -B X -B X -B Z -A Z -A Y -B X -B Y -A Y -A Z -A Y -C Z -B X -B X -B X -A Z -B X -B X -B X -A Y -B Z -C Y -C Y -A Z -A Z -A Y -B X -A Y -B Z -C Y -B X -B Z -A Y -B X -A Y -C Y -B X -B X -A Y -A Z -A Z -A Z -B X -B X -A Z -B X -B X -B Z -A X -B Z -A Z -B X -C Y -C X -A Z -B X -A Y -B Y -B Z -B X -B X -A Y -B X -A Z -A Z -C X -B X -B Z -A Y -C Y -A Y -B X -B Z -B X -A Z -B Z -C Y -B Z -B X -B X -B X -A Y -B X -B X -A Z -C Y -B X -C Y -B X -C Y -A Z -A Y -A X -C Y -B X -B X -B Z -B X -A Y -A Y -B X -B X -A Z -C Y -B Z -B X -B X -A X -A Y -B Z -C Y -A Z -C Y -A Z -B X -A Y -B X -A Y -B X -B X -C X -B Y -C Z -A Z -C Y -B X -B X -B Z -C Z -A X -A Y -A Z -B X -C Y -B Z -B Z -A Y -B X -B X -A Y -A Z -B X -B X -A Z -B X -B X -B Z -A X -B X -A X -A Y -C Y -B X -B Z -A Y -B X -A X -B X -B X -B Z -B X -B X -A Y -B X -B X -A Y -A Y -C Y -B Z -B X -A X -A Z -B X -B X -C Z -B X -B X -B X -B X -B X -C Y -C Y -C X -B X -B X -B Z -B Z -B X -A Y -B Z -B Z -B Z -B X -B X -B X -B X -A Y -A Y -B X -C Y -C Y -B X -B X -A Y -C Y -A Z -C Y -B X -C Z -B X -B Z -B X -C Y -C Y -B X -B X -B X -C Y -B X -B X -A X -B X -C Y -A Y -B X -B X -B X -C X -C Y -A Y -B X -B X -C Y -A Y -B X -A Y -A Y -B Z -C Y -B Z -A Y -A Z -C Y -B X -C Y -B X -C Y -C Y -B X -B X -B X -B Z -A Y -B X -B X -B X -A Y -B X -B X -A Y -B X -A Y -C Y -A Z -B X -B X -C Y -B X -B X -A Y -A Z -C Y -B X -B Z -B Z -B X -C Y -B X -A Y -C X -C Y -B X -B X -B Z -C Y -B X -B X -C Y -C Y -B X -C Y -B Z -C Y -C X -B Z -C Y -B Z -C Y -A X -B Z -B Z -B X -B X -C Y -B X -C Y -B X -B X -B X -A Y -B X -C Y -B Z -C Y -C Y -A Y -C Z -A Y -B X -A Z -C Z -C Y -B X -B X -A Y -B Z -B X -C Y -B X -B Z -A Z -B Z -A Y -C Y -A Z -B X -B X -C Y -C Y -B X -B X diff --git a/2/src/main.rs b/2/src/main.rs deleted file mode 100644 index 8529a32..0000000 --- a/2/src/main.rs +++ /dev/null @@ -1,110 +0,0 @@ -use std::fs::File; -use std::io::{self, BufRead, BufReader}; - - -fn parse_rpc_str(rpc_string: &str) -> Result { - match rpc_string { - "A" | "X" => return Ok(1), // Rock - "B" | "Y" => return Ok(2), // Paper - "C" | "Z" => return Ok(3), // Scissors - _ => Err("Incorrect value :D"), // error lol - } -} - -fn game_result(p1: &str, p2: &str) -> i32 { - let p1_score = parse_rpc_str(p1).unwrap(); - let p2_score = parse_rpc_str(p2).unwrap(); - - // RPC - // Rock 1 - // Paper 2 - // Scissors 3 - - - // lol the problem wasn't even the calculations - match p1_score { - 1 => { - if p2_score == 1 { - return 3 + p1_score; - } - if p2_score == 2 { - return 0 + p1_score; - } - if p2_score == 3 { - return 6 + p1_score; - } - }, - 2 => { - if p2_score == 1 { - return 6 + p1_score; - } - if p2_score == 2 { - return 3 + p1_score; - } - if p2_score == 3 { - return 0 + p1_score; - } - }, - 3 => { - if p2_score == 1 { - return 0 + p1_score; - } - if p2_score == 2 { - return 6 + p1_score; - } - if p2_score == 3 { - return 3 + p1_score; - } - }, - _ => return 8000, - } - - println!("No result from here: {}, {}", p1_score, p2_score); - return 8000; -} -fn part2_game_result(p1: &str, p2: &str) -> i32 { - let p1_score = parse_rpc_str(p1).unwrap(); - let p2_score = parse_rpc_str(p2).unwrap(); - - match p1_score { - 1 => return 0 + if p2_score == 1 {3} else {p2_score - 1}, - 2 => return 3 + p2_score, - 3 => return 6 + if p2_score == 3 {1} else {p2_score + 1}, - _ => return 8000, - } -} - - -fn main() { - let mut result: i32 = 0; - let mut p2_result: i32 = 0; - let lines = read_lines("input.txt".to_string()); - for line in lines { - let chars_str = line.as_ref().unwrap(); - let chars: Vec<&str> = chars_str.split(" ").collect(); - - if chars.len() != 2 { - println!("Fake result?: {}", result); - return; - } - - // lol the players were the other way around - result += game_result(chars[1], chars[0]); - p2_result += part2_game_result(chars[1], chars[0]) - } - println!("{}", result); - println!("{}", p2_result); - - let mut test_result: i32 = 0; - test_result += game_result("A", "Y"); - test_result += game_result("B", "X"); - test_result += game_result("C", "Z"); - test_result += game_result("C", "C"); - - println!("{}", test_result); -} - -fn read_lines(filename: String) -> io::Lines> { - let file = File::open(filename).unwrap(); - return io::BufReader::new(file).lines(); -}