From b7dd9e5f1c27f04a40e0dcc476748df811c6eb24 Mon Sep 17 00:00:00 2001 From: a Date: Sun, 5 Dec 2021 21:19:11 -0600 Subject: [PATCH] 2021 start --- 2021/01/01.py | 20 + 2021/01/input.txt | 2000 ++++++++++++++++++++++++++++++++++++++++++++ 2021/01/sample.txt | 10 + 2021/02/02.py | 35 + 2021/02/input.txt | 1000 ++++++++++++++++++++++ 2021/02/sample.txt | 6 + 2021/03/03.py | 28 + 2021/03/input.txt | 1000 ++++++++++++++++++++++ 2021/03/sample.txt | 12 + 9 files changed, 4111 insertions(+) create mode 100644 2021/01/01.py create mode 100644 2021/01/input.txt create mode 100644 2021/01/sample.txt create mode 100644 2021/02/02.py create mode 100644 2021/02/input.txt create mode 100644 2021/02/sample.txt create mode 100644 2021/03/03.py create mode 100644 2021/03/input.txt create mode 100644 2021/03/sample.txt diff --git a/2021/01/01.py b/2021/01/01.py new file mode 100644 index 0000000..72f340a --- /dev/null +++ b/2021/01/01.py @@ -0,0 +1,20 @@ +sweep = [] + +with open("input.txt") as f: + lines = f.readlines() + for line in lines: + sweep.append(int(line)) + +comparison = zip(sweep[1:],sweep) +differences = [(d2 - d1) for d2, d1 in comparison] +increases = [(d > 0) for d in differences] +part1 = sum(increases) +print(part1) + +window = zip(sweep,sweep[1:],sweep[2:]) +sums = [(d1 + d2 + d3) for d1, d2, d3 in window] +comparison = zip(sums[1:],sums) +differences = [(d2 - d1) for d2, d1 in comparison] +increases = [(d > 0) for d in differences] +part2 = sum(increases) +print(part2) \ No newline at end of file diff --git a/2021/01/input.txt b/2021/01/input.txt new file mode 100644 index 0000000..7f22306 --- /dev/null +++ b/2021/01/input.txt @@ -0,0 +1,2000 @@ +198 +208 +209 +212 +213 +217 +218 +223 +222 +224 +216 +233 +238 +239 +240 +250 +263 +264 +267 +274 +288 +316 +319 +330 +340 +347 +349 +354 +350 +349 +351 +352 +353 +371 +383 +385 +405 +413 +455 +451 +459 +458 +459 +461 +463 +475 +480 +486 +489 +497 +502 +512 +513 +516 +517 +528 +559 +560 +558 +565 +566 +567 +571 +573 +574 +582 +583 +585 +589 +597 +608 +607 +614 +619 +608 +624 +665 +666 +675 +695 +698 +703 +711 +733 +738 +739 +742 +743 +763 +775 +778 +804 +806 +810 +812 +818 +819 +828 +867 +866 +876 +878 +881 +875 +881 +858 +859 +868 +869 +860 +888 +890 +891 +893 +894 +919 +924 +925 +933 +937 +950 +955 +966 +984 +989 +993 +996 +997 +1015 +1031 +1035 +1039 +1055 +1057 +1058 +1059 +1060 +1061 +1067 +1069 +1070 +1059 +1060 +1077 +1079 +1078 +1080 +1087 +1088 +1090 +1097 +1082 +1102 +1105 +1106 +1120 +1125 +1130 +1132 +1154 +1141 +1135 +1131 +1133 +1134 +1137 +1138 +1141 +1142 +1143 +1166 +1175 +1193 +1201 +1236 +1238 +1234 +1240 +1242 +1243 +1271 +1276 +1277 +1272 +1286 +1288 +1290 +1292 +1317 +1341 +1361 +1363 +1375 +1376 +1377 +1383 +1387 +1390 +1402 +1404 +1412 +1418 +1426 +1429 +1466 +1480 +1483 +1478 +1484 +1486 +1488 +1491 +1486 +1489 +1492 +1517 +1520 +1523 +1539 +1546 +1551 +1521 +1517 +1518 +1522 +1525 +1526 +1539 +1540 +1544 +1545 +1561 +1571 +1572 +1574 +1575 +1568 +1573 +1587 +1588 +1600 +1603 +1627 +1629 +1633 +1645 +1670 +1671 +1685 +1690 +1696 +1698 +1703 +1698 +1699 +1702 +1714 +1716 +1709 +1738 +1753 +1761 +1766 +1769 +1772 +1761 +1763 +1774 +1781 +1782 +1799 +1802 +1816 +1818 +1819 +1805 +1810 +1817 +1819 +1831 +1834 +1835 +1852 +1855 +1858 +1859 +1856 +1857 +1868 +1885 +1891 +1893 +1890 +1891 +1892 +1893 +1896 +1911 +1912 +1914 +1916 +1914 +1918 +1930 +1932 +1958 +1966 +1976 +1982 +1985 +1986 +1987 +1992 +1997 +2031 +2041 +2042 +2044 +2058 +2060 +2075 +2073 +2084 +2087 +2090 +2125 +2128 +2129 +2130 +2131 +2136 +2137 +2145 +2150 +2152 +2155 +2161 +2162 +2165 +2167 +2189 +2197 +2199 +2214 +2226 +2233 +2234 +2241 +2242 +2256 +2259 +2263 +2257 +2267 +2270 +2269 +2272 +2273 +2275 +2279 +2284 +2285 +2266 +2271 +2287 +2291 +2310 +2313 +2314 +2317 +2311 +2312 +2311 +2312 +2326 +2331 +2332 +2338 +2340 +2352 +2355 +2360 +2361 +2357 +2371 +2384 +2380 +2392 +2393 +2396 +2397 +2400 +2417 +2420 +2421 +2422 +2444 +2457 +2458 +2464 +2467 +2494 +2495 +2498 +2510 +2514 +2521 +2526 +2525 +2533 +2536 +2547 +2544 +2547 +2556 +2557 +2558 +2561 +2570 +2571 +2573 +2575 +2583 +2584 +2585 +2572 +2574 +2575 +2587 +2589 +2590 +2602 +2603 +2604 +2605 +2589 +2603 +2608 +2611 +2616 +2613 +2617 +2618 +2619 +2628 +2629 +2630 +2631 +2639 +2645 +2649 +2657 +2665 +2673 +2680 +2679 +2680 +2702 +2703 +2709 +2711 +2714 +2715 +2716 +2715 +2721 +2720 +2739 +2745 +2748 +2752 +2749 +2748 +2749 +2751 +2752 +2750 +2760 +2777 +2778 +2779 +2780 +2787 +2800 +2805 +2810 +2812 +2820 +2821 +2843 +2846 +2853 +2862 +2861 +2867 +2880 +2890 +2891 +2892 +2885 +2887 +2890 +2894 +2897 +2925 +2926 +2931 +2933 +2940 +2943 +2941 +2959 +2971 +2982 +2984 +3002 +3006 +3008 +3012 +3013 +3034 +3043 +3059 +3063 +3064 +3060 +3075 +3090 +3091 +3104 +3108 +3114 +3117 +3106 +3104 +3110 +3113 +3114 +3126 +3119 +3138 +3140 +3141 +3143 +3139 +3145 +3147 +3153 +3161 +3170 +3168 +3180 +3181 +3177 +3196 +3210 +3216 +3232 +3233 +3234 +3235 +3239 +3240 +3242 +3243 +3244 +3243 +3248 +3249 +3275 +3276 +3278 +3280 +3286 +3291 +3293 +3294 +3301 +3310 +3319 +3326 +3338 +3339 +3348 +3366 +3376 +3371 +3372 +3404 +3407 +3408 +3425 +3444 +3451 +3457 +3452 +3459 +3468 +3491 +3475 +3476 +3481 +3505 +3516 +3519 +3542 +3543 +3541 +3542 +3541 +3551 +3553 +3552 +3533 +3542 +3543 +3561 +3562 +3563 +3566 +3571 +3572 +3596 +3600 +3603 +3607 +3608 +3609 +3613 +3654 +3665 +3672 +3661 +3662 +3663 +3670 +3676 +3683 +3707 +3709 +3714 +3717 +3709 +3710 +3713 +3714 +3715 +3716 +3735 +3749 +3763 +3770 +3784 +3782 +3786 +3790 +3792 +3794 +3803 +3805 +3819 +3823 +3826 +3828 +3838 +3839 +3843 +3870 +3877 +3888 +3889 +3891 +3892 +3893 +3894 +3880 +3860 +3878 +3880 +3888 +3893 +3898 +3904 +3906 +3907 +3910 +3918 +3927 +3946 +3973 +3982 +3979 +3980 +3993 +3984 +3988 +3986 +3987 +3988 +3989 +3997 +4000 +4001 +4025 +4030 +4034 +4038 +4040 +4044 +4046 +4048 +4057 +4067 +4079 +4092 +4094 +4122 +4124 +4128 +4127 +4128 +4132 +4136 +4141 +4146 +4151 +4153 +4163 +4167 +4168 +4170 +4172 +4176 +4177 +4178 +4194 +4198 +4199 +4201 +4203 +4204 +4205 +4204 +4209 +4211 +4213 +4224 +4240 +4242 +4255 +4266 +4280 +4284 +4295 +4310 +4323 +4343 +4351 +4359 +4383 +4387 +4388 +4397 +4401 +4403 +4404 +4405 +4425 +4431 +4435 +4439 +4444 +4452 +4461 +4470 +4466 +4467 +4469 +4481 +4482 +4498 +4496 +4504 +4505 +4512 +4518 +4520 +4521 +4523 +4534 +4516 +4527 +4525 +4534 +4535 +4551 +4565 +4570 +4571 +4578 +4584 +4595 +4609 +4610 +4618 +4628 +4629 +4630 +4634 +4636 +4637 +4640 +4659 +4664 +4669 +4665 +4673 +4687 +4688 +4693 +4694 +4697 +4667 +4678 +4679 +4702 +4707 +4706 +4709 +4711 +4718 +4725 +4716 +4718 +4723 +4724 +4726 +4727 +4729 +4735 +4736 +4738 +4739 +4758 +4763 +4773 +4774 +4776 +4777 +4778 +4777 +4785 +4786 +4771 +4773 +4774 +4777 +4781 +4783 +4788 +4791 +4794 +4807 +4816 +4818 +4825 +4828 +4838 +4822 +4831 +4837 +4841 +4851 +4854 +4870 +4876 +4888 +4889 +4900 +4906 +4909 +4910 +4917 +4919 +4920 +4926 +4928 +4934 +4941 +4943 +4945 +4948 +4950 +4956 +4951 +4948 +4954 +4958 +4960 +4959 +4962 +4969 +4982 +4986 +4994 +5000 +5009 +5027 +5025 +5029 +5033 +5037 +5036 +5037 +5040 +5032 +5033 +5034 +5039 +5045 +5050 +5045 +5076 +5077 +5082 +5083 +5106 +5107 +5114 +5117 +5137 +5138 +5143 +5147 +5153 +5156 +5171 +5182 +5183 +5184 +5185 +5189 +5182 +5189 +5194 +5201 +5205 +5213 +5218 +5221 +5223 +5230 +5231 +5243 +5255 +5230 +5228 +5237 +5245 +5248 +5259 +5260 +5272 +5278 +5281 +5287 +5286 +5287 +5298 +5328 +5329 +5333 +5335 +5337 +5339 +5341 +5346 +5349 +5350 +5351 +5358 +5359 +5360 +5374 +5376 +5359 +5360 +5388 +5401 +5406 +5410 +5412 +5413 +5414 +5415 +5435 +5436 +5441 +5443 +5448 +5446 +5448 +5449 +5464 +5465 +5466 +5469 +5470 +5492 +5493 +5494 +5509 +5520 +5528 +5530 +5537 +5541 +5542 +5559 +5562 +5563 +5588 +5595 +5596 +5601 +5618 +5626 +5627 +5641 +5667 +5679 +5685 +5693 +5695 +5717 +5733 +5734 +5754 +5755 +5757 +5758 +5759 +5760 +5761 +5771 +5774 +5780 +5784 +5785 +5787 +5788 +5790 +5800 +5811 +5814 +5810 +5811 +5794 +5792 +5803 +5804 +5812 +5814 +5815 +5836 +5852 +5853 +5855 +5878 +5879 +5880 +5883 +5889 +5897 +5911 +5932 +5934 +5935 +5936 +5938 +5939 +5941 +5951 +5955 +5950 +5951 +5954 +5970 +5971 +5974 +5977 +5978 +5985 +5986 +6013 +6024 +6031 +6037 +6043 +6052 +6051 +6053 +6076 +6096 +6101 +6106 +6108 +6115 +6125 +6106 +6107 +6104 +6114 +6142 +6143 +6162 +6169 +6170 +6171 +6181 +6198 +6199 +6202 +6206 +6207 +6244 +6246 +6249 +6250 +6254 +6264 +6271 +6276 +6277 +6268 +6271 +6288 +6293 +6308 +6309 +6326 +6341 +6345 +6344 +6341 +6364 +6365 +6366 +6370 +6371 +6373 +6376 +6377 +6378 +6377 +6379 +6386 +6396 +6397 +6420 +6422 +6429 +6433 +6463 +6472 +6473 +6490 +6491 +6492 +6497 +6522 +6523 +6524 +6519 +6520 +6521 +6525 +6530 +6531 +6534 +6535 +6543 +6552 +6558 +6584 +6586 +6587 +6588 +6606 +6614 +6618 +6646 +6650 +6651 +6654 +6677 +6663 +6665 +6676 +6655 +6653 +6655 +6665 +6667 +6682 +6692 +6703 +6704 +6707 +6715 +6719 +6730 +6731 +6733 +6743 +6747 +6748 +6750 +6759 +6771 +6772 +6776 +6775 +6776 +6782 +6785 +6812 +6841 +6858 +6860 +6859 +6877 +6886 +6895 +6914 +6919 +6922 +6924 +6933 +6935 +6936 +6937 +6938 +6952 +6962 +6965 +6984 +6987 +6986 +6985 +6977 +6967 +6968 +6966 +6980 +6997 +6994 +7002 +7008 +7000 +6975 +7009 +7014 +7015 +7026 +7027 +7034 +7036 +7041 +7040 +7041 +7045 +7048 +7065 +7074 +7075 +7082 +7087 +7092 +7098 +7097 +7111 +7127 +7124 +7135 +7136 +7137 +7140 +7153 +7156 +7158 +7174 +7176 +7177 +7163 +7166 +7159 +7157 +7158 +7164 +7165 +7172 +7190 +7194 +7199 +7200 +7205 +7208 +7207 +7222 +7227 +7244 +7249 +7271 +7272 +7273 +7274 +7281 +7286 +7288 +7314 +7315 +7317 +7318 +7319 +7304 +7307 +7308 +7309 +7312 +7319 +7322 +7337 +7338 +7345 +7346 +7350 +7360 +7361 +7362 +7360 +7395 +7400 +7404 +7405 +7407 +7406 +7411 +7420 +7435 +7440 +7442 +7446 +7453 +7446 +7448 +7467 +7471 +7469 +7470 +7482 +7485 +7492 +7488 +7489 +7492 +7493 +7494 +7497 +7504 +7520 +7525 +7547 +7554 +7543 +7553 +7560 +7561 +7577 +7589 +7591 +7593 +7587 +7596 +7597 +7584 +7590 +7591 +7599 +7626 +7627 +7628 +7630 +7645 +7639 +7645 +7652 +7657 +7662 +7664 +7674 +7680 +7681 +7694 +7698 +7716 +7704 +7705 +7706 +7708 +7712 +7716 +7715 +7717 +7722 +7723 +7728 +7721 +7722 +7724 +7727 +7735 +7737 +7725 +7746 +7747 +7750 +7761 +7762 +7765 +7777 +7780 +7776 +7777 +7778 +7759 +7769 +7770 +7787 +7797 +7798 +7804 +7803 +7804 +7805 +7811 +7825 +7824 +7826 +7827 +7828 +7851 +7867 +7887 +7889 +7890 +7900 +7904 +7917 +7918 +7935 +7941 +7942 +7946 +7947 +7948 +7949 +7976 +7979 +7981 +7983 +7988 +7999 +8000 +8009 +8011 +8012 +8019 +8021 +8025 +8027 +8006 +8011 +8034 +8036 +8037 +8038 +8013 +8024 +8029 +8032 +8033 +8034 +8032 +8034 +8036 +8059 +8060 +8063 +8064 +8081 +8090 +8097 +8122 +8135 +8147 +8149 +8150 +8151 +8162 +8174 +8154 +8158 +8162 +8170 +8171 +8188 +8189 +8190 +8191 +8196 +8205 +8216 +8217 +8222 +8233 +8239 +8240 +8242 +8257 +8249 +8262 +8264 +8274 +8309 +8311 +8328 +8333 +8335 +8338 +8344 +8350 +8349 +8350 +8363 +8366 +8370 +8371 +8395 +8398 +8401 +8410 +8425 +8429 +8430 +8441 +8443 +8445 +8451 +8452 +8455 +8458 +8431 +8443 +8453 +8459 +8477 +8474 +8479 +8476 +8487 +8488 +8489 +8500 +8501 +8503 +8504 +8538 +8523 +8529 +8530 +8556 +8573 +8576 +8589 +8595 +8624 +8632 +8634 +8628 +8636 +8635 +8636 +8644 +8659 +8661 +8641 +8652 +8659 +8650 +8664 +8667 +8674 +8676 +8678 +8686 +8696 +8697 +8735 +8740 +8749 +8767 +8769 +8747 +8751 +8760 +8755 +8766 +8768 +8777 +8782 +8788 +8796 +8799 +8801 +8809 +8807 +8816 +8827 +8831 +8835 +8836 +8843 +8844 +8845 +8851 +8858 +8860 +8862 +8863 +8889 +8891 +8912 +8913 +8924 +8928 +8929 +8939 +8955 +8957 +8958 +8963 +8988 +8989 +8997 +8995 +8999 +8968 +8990 +8991 +8992 +8994 +8996 +9013 +9024 +9026 +9035 +9046 +9047 +9083 +9084 +9089 +9096 +9108 +9107 +9116 +9123 +9122 +9128 +9132 +9151 +9155 +9163 +9174 +9178 +9183 +9199 +9209 +9217 +9219 +9232 +9233 +9232 +9237 +9241 +9244 +9245 +9247 +9251 +9252 +9266 +9285 +9284 +9291 +9294 +9295 +9296 +9300 +9322 +9328 +9333 +9337 +9345 +9346 +9347 +9371 +9375 +9394 +9397 +9404 +9406 +9422 +9425 +9438 +9440 +9435 +9442 +9455 +9473 +9475 +9496 +9499 +9500 +9511 +9512 +9513 +9539 +9540 +9543 +9547 +9550 +9557 +9571 +9577 +9593 +9600 +9609 +9615 +9620 +9621 +9616 +9625 +9626 +9637 +9638 +9642 +9648 +9656 +9654 +9661 +9665 +9696 +9705 +9710 +9719 +9720 +9717 +9718 +9717 +9719 +9724 +9725 +9738 +9741 +9743 +9744 +9745 +9765 +9778 +9779 +9789 +9791 +9773 +9778 +9780 +9782 +9783 +9782 +9797 +9799 +9800 +9801 +9823 +9824 +9834 +9836 +9841 +9845 +9847 +9865 +9868 +9883 +9884 +9887 +9890 +9892 +9899 +9908 +9910 +9911 +9915 +9918 +9922 +9926 +9923 +9944 +9947 +9948 +9949 +9958 +9959 +9961 +9973 +9954 +9976 +9978 +10001 +10000 +9992 +9997 +9985 +9995 +9996 +10005 +9999 +10001 +10002 +10009 +10041 +10045 +10051 +10070 +10071 +10073 +10100 +10099 +10100 +10101 +10102 +10105 +10082 +10083 +10082 +10086 +10112 +10113 +10114 +10122 +10124 +10127 +10140 +10156 +10157 +10158 +10159 +10162 +10163 +10166 +10177 +10178 +10180 +10178 +10179 +10191 +10186 +10198 +10201 +10204 +10227 +10229 +10232 +10234 +10246 +10247 +10248 +10249 +10250 +10269 +10277 +10278 +10279 +10289 +10291 +10294 +10292 +10304 +10324 +10339 +10342 +10343 +10349 +10354 +10371 +10370 +10374 +10376 +10379 +10405 +10406 +10405 +10403 +10411 +10412 +10411 +10419 +10422 +10435 +10437 +10438 +10437 +10440 +10427 +10421 +10432 +10434 +10439 +10449 +10442 +10469 +10471 +10476 +10480 +10481 +10485 +10507 +10508 +10511 +10512 +10513 +10523 +10524 +10529 +10536 +10552 +10563 +10569 +10573 +10575 +10576 +10578 +10596 +10602 +10630 +10647 +10657 +10659 +10684 +10687 +10692 +10693 +10700 +10702 +10703 +10709 +10714 +10716 +10727 +10746 +10744 +10754 +10753 +10754 +10755 +10759 +10763 +10764 +10765 +10769 +10770 +10771 +10777 +10796 +10807 +10813 +10818 +10825 +10830 +10835 +10836 +10849 +10858 +10873 +10882 +10879 +10882 +10886 +10902 +10903 +10931 +10930 \ No newline at end of file diff --git a/2021/01/sample.txt b/2021/01/sample.txt new file mode 100644 index 0000000..59dad67 --- /dev/null +++ b/2021/01/sample.txt @@ -0,0 +1,10 @@ +199 +200 +208 +210 +200 +207 +240 +269 +260 +263 \ No newline at end of file diff --git a/2021/02/02.py b/2021/02/02.py new file mode 100644 index 0000000..7f4aa53 --- /dev/null +++ b/2021/02/02.py @@ -0,0 +1,35 @@ +commands = [] + +with open("input.txt") as f: + lines = f.readlines() + for line in lines: + commands.append(line) + +horizontal = depth = 0 +for command in commands: + instruction, amount = command.split(' ') + amount = int(amount) + if instruction == 'forward': + horizontal += amount + elif instruction == 'down': + depth += amount + elif instruction == 'up': + depth -= amount + +part1 = horizontal * depth +print(part1) + +horizontal = depth = aim = 0 +for command in commands: + instruction, amount = command.split(' ') + amount = int(amount) + if instruction == 'down': + aim += amount + elif instruction == 'up': + aim -= amount + elif instruction == 'forward': + horizontal += amount + depth += amount*aim + +part2 = horizontal * depth +print(part2) \ No newline at end of file diff --git a/2021/02/input.txt b/2021/02/input.txt new file mode 100644 index 0000000..f5a3f62 --- /dev/null +++ b/2021/02/input.txt @@ -0,0 +1,1000 @@ +forward 9 +forward 7 +down 7 +down 3 +forward 2 +forward 3 +forward 7 +down 6 +forward 7 +down 7 +forward 9 +down 9 +up 2 +down 5 +up 1 +forward 5 +forward 6 +up 4 +down 3 +down 4 +down 5 +up 6 +down 3 +forward 6 +forward 4 +down 4 +forward 5 +down 2 +up 1 +up 8 +down 1 +down 6 +forward 8 +down 4 +forward 8 +forward 6 +forward 2 +forward 2 +forward 3 +forward 8 +up 9 +up 2 +down 3 +up 3 +forward 5 +forward 2 +up 5 +forward 9 +down 7 +down 2 +up 7 +down 4 +down 6 +up 2 +down 9 +forward 7 +down 8 +forward 6 +up 1 +forward 6 +forward 4 +down 5 +forward 6 +down 8 +down 3 +forward 7 +down 8 +up 7 +down 1 +up 1 +forward 9 +down 7 +up 3 +down 6 +down 6 +down 6 +down 7 +down 9 +down 6 +down 9 +down 8 +down 3 +down 7 +down 3 +up 8 +down 5 +down 9 +up 4 +forward 5 +forward 5 +forward 2 +up 1 +forward 6 +down 6 +down 2 +forward 1 +forward 8 +down 4 +down 1 +down 8 +down 7 +forward 6 +forward 8 +down 8 +up 1 +up 1 +forward 1 +forward 3 +up 8 +down 1 +forward 4 +down 3 +forward 3 +forward 4 +forward 3 +down 3 +down 9 +down 3 +up 6 +forward 6 +forward 8 +forward 2 +up 1 +up 4 +up 4 +down 2 +down 2 +down 2 +forward 7 +up 9 +down 9 +up 1 +down 5 +forward 4 +down 2 +down 4 +forward 3 +down 7 +down 9 +forward 1 +up 5 +down 5 +down 5 +forward 2 +down 6 +forward 8 +up 4 +forward 6 +up 1 +down 4 +forward 2 +down 9 +forward 5 +down 7 +down 8 +down 9 +forward 6 +up 6 +forward 9 +forward 9 +down 7 +forward 7 +forward 5 +up 9 +forward 3 +down 9 +down 1 +down 8 +down 4 +forward 5 +forward 6 +forward 8 +forward 8 +down 4 +down 3 +down 8 +forward 3 +down 6 +down 8 +down 2 +up 8 +up 9 +down 6 +forward 3 +down 4 +down 6 +forward 9 +forward 6 +up 2 +down 8 +forward 2 +down 7 +forward 9 +up 9 +down 9 +down 2 +forward 9 +down 4 +down 9 +up 4 +forward 6 +down 2 +down 9 +forward 8 +forward 2 +up 8 +forward 9 +forward 2 +forward 3 +down 2 +up 3 +forward 9 +down 6 +down 3 +down 1 +forward 9 +forward 8 +down 9 +up 7 +down 8 +up 7 +forward 1 +forward 1 +forward 7 +down 2 +down 1 +up 1 +up 6 +down 5 +up 9 +up 7 +forward 1 +forward 6 +forward 1 +up 4 +down 6 +forward 2 +up 7 +down 2 +up 8 +forward 9 +forward 6 +forward 3 +forward 8 +down 1 +forward 8 +up 3 +forward 1 +forward 1 +up 9 +down 1 +down 8 +down 2 +forward 8 +down 8 +forward 7 +down 5 +forward 8 +forward 3 +forward 6 +forward 7 +up 5 +down 5 +forward 8 +down 2 +forward 3 +down 4 +down 9 +forward 6 +forward 5 +up 4 +forward 7 +down 3 +forward 9 +forward 5 +down 3 +up 5 +forward 4 +forward 8 +down 7 +up 2 +forward 7 +down 5 +up 2 +down 9 +forward 4 +down 3 +forward 5 +forward 4 +down 3 +forward 6 +up 1 +forward 8 +down 1 +up 7 +forward 8 +up 1 +up 1 +forward 2 +down 8 +forward 4 +forward 8 +up 6 +forward 5 +forward 7 +up 6 +up 4 +up 6 +down 1 +forward 3 +down 1 +down 1 +down 8 +forward 8 +down 5 +down 5 +forward 5 +forward 9 +down 9 +forward 7 +down 3 +down 5 +forward 6 +down 1 +down 5 +up 8 +down 9 +forward 3 +down 6 +up 2 +down 2 +forward 2 +up 2 +forward 8 +down 2 +forward 9 +forward 2 +down 7 +down 5 +forward 1 +forward 7 +up 6 +up 8 +forward 8 +forward 8 +up 3 +forward 8 +down 6 +down 6 +forward 4 +down 8 +down 5 +down 7 +forward 1 +forward 9 +forward 9 +up 5 +down 9 +down 1 +forward 4 +forward 1 +up 9 +forward 6 +down 6 +forward 2 +up 6 +forward 9 +up 1 +down 2 +up 3 +forward 2 +forward 1 +forward 6 +down 9 +up 1 +forward 7 +up 3 +forward 6 +forward 6 +up 2 +down 8 +forward 4 +down 4 +forward 2 +forward 2 +down 4 +down 7 +down 4 +down 5 +forward 3 +down 1 +forward 1 +forward 8 +down 7 +up 1 +forward 7 +forward 2 +down 9 +down 2 +up 2 +forward 3 +down 4 +down 7 +down 8 +forward 4 +forward 5 +forward 3 +up 3 +down 6 +forward 4 +forward 4 +forward 8 +forward 1 +up 2 +up 3 +down 4 +up 9 +forward 1 +forward 1 +forward 9 +down 2 +down 5 +up 9 +down 7 +down 9 +down 2 +down 4 +forward 1 +forward 1 +forward 8 +down 9 +down 6 +forward 2 +up 3 +down 8 +forward 1 +forward 8 +forward 4 +up 7 +forward 5 +forward 2 +forward 2 +up 8 +down 5 +forward 6 +down 3 +up 5 +forward 8 +forward 3 +forward 9 +down 1 +down 3 +forward 8 +down 2 +forward 6 +forward 2 +down 3 +down 3 +forward 6 +forward 4 +forward 7 +forward 2 +up 7 +up 4 +up 6 +forward 9 +down 3 +down 3 +up 7 +down 4 +up 3 +up 3 +down 5 +forward 1 +up 3 +down 1 +forward 2 +up 9 +forward 7 +down 6 +forward 4 +forward 8 +up 1 +forward 6 +down 7 +down 4 +up 9 +forward 4 +down 7 +up 1 +forward 9 +down 4 +down 7 +forward 1 +down 6 +down 6 +forward 3 +up 8 +forward 3 +down 1 +down 5 +down 8 +forward 2 +up 5 +forward 2 +up 7 +forward 5 +forward 1 +forward 3 +forward 4 +forward 5 +up 1 +forward 9 +down 5 +down 7 +up 9 +down 9 +forward 7 +up 6 +up 7 +forward 2 +forward 1 +up 4 +forward 6 +forward 9 +down 1 +forward 4 +down 5 +forward 4 +down 3 +down 5 +forward 6 +forward 3 +down 3 +down 8 +down 2 +down 4 +down 6 +down 4 +forward 2 +up 9 +down 3 +forward 1 +forward 9 +forward 5 +forward 5 +forward 9 +up 1 +down 4 +down 4 +up 7 +down 3 +up 3 +up 4 +forward 3 +forward 1 +forward 8 +up 6 +down 8 +down 4 +forward 7 +forward 9 +forward 2 +forward 8 +up 2 +down 4 +down 5 +forward 9 +down 6 +down 7 +down 8 +up 8 +forward 3 +forward 7 +forward 8 +up 2 +down 9 +down 6 +forward 3 +forward 4 +down 4 +forward 2 +up 6 +forward 1 +forward 7 +down 2 +down 1 +forward 2 +forward 2 +down 2 +forward 2 +forward 7 +up 4 +down 3 +forward 9 +down 7 +down 7 +down 6 +forward 3 +forward 9 +down 9 +forward 2 +down 5 +down 4 +down 9 +up 9 +down 6 +down 8 +down 1 +forward 8 +up 4 +up 4 +down 8 +forward 6 +down 2 +forward 4 +forward 3 +forward 2 +forward 4 +down 4 +forward 6 +down 9 +up 7 +up 5 +down 7 +down 4 +up 3 +forward 4 +down 9 +forward 6 +forward 4 +forward 4 +down 9 +forward 3 +forward 2 +up 7 +forward 3 +down 1 +down 3 +up 5 +down 8 +down 3 +down 4 +forward 7 +forward 9 +up 2 +forward 3 +up 4 +down 5 +up 3 +up 9 +down 6 +down 2 +down 5 +up 4 +up 6 +forward 4 +forward 6 +up 5 +up 5 +forward 8 +down 6 +forward 6 +down 7 +down 5 +down 3 +down 8 +forward 6 +forward 9 +forward 9 +up 9 +down 3 +up 5 +forward 4 +down 7 +forward 5 +down 7 +down 4 +forward 2 +forward 9 +down 8 +up 3 +up 7 +down 7 +up 7 +forward 3 +down 2 +forward 7 +down 4 +forward 1 +down 6 +forward 1 +up 4 +down 7 +up 3 +forward 7 +forward 5 +forward 7 +forward 6 +up 2 +down 4 +down 8 +down 4 +up 3 +forward 3 +up 3 +up 3 +down 7 +down 2 +down 3 +forward 7 +down 6 +down 9 +up 1 +down 8 +down 6 +down 3 +up 2 +up 6 +forward 9 +forward 5 +forward 4 +forward 9 +down 9 +forward 2 +up 7 +down 4 +down 8 +up 2 +forward 6 +up 6 +up 4 +down 2 +forward 6 +forward 4 +up 3 +down 6 +forward 5 +forward 3 +up 4 +down 7 +down 2 +down 6 +up 7 +forward 2 +forward 1 +forward 3 +down 2 +forward 1 +forward 2 +forward 4 +down 2 +down 5 +down 7 +down 8 +down 1 +up 1 +up 1 +forward 9 +down 3 +down 1 +forward 4 +up 6 +up 8 +forward 7 +forward 9 +down 3 +forward 9 +down 9 +forward 6 +down 1 +forward 7 +down 9 +forward 1 +down 8 +forward 8 +up 7 +forward 4 +up 5 +up 9 +forward 1 +forward 4 +forward 3 +down 3 +down 8 +up 3 +forward 1 +up 5 +forward 5 +up 6 +forward 8 +forward 1 +down 7 +forward 2 +down 9 +forward 3 +forward 7 +forward 2 +down 4 +forward 2 +up 6 +down 7 +up 3 +forward 7 +down 8 +down 3 +forward 2 +up 7 +down 2 +down 8 +up 6 +forward 7 +forward 1 +down 3 +forward 2 +forward 8 +down 8 +forward 1 +down 7 +down 1 +up 5 +up 3 +forward 5 +down 5 +up 9 +up 9 +down 3 +up 3 +down 4 +down 6 +up 7 +forward 3 +up 5 +down 3 +forward 4 +down 1 +up 1 +up 6 +down 8 +forward 5 +up 2 +down 5 +forward 6 +forward 4 +forward 9 +down 9 +down 5 +forward 5 +down 7 +down 7 +down 8 +forward 3 +down 6 +forward 5 +forward 5 +down 6 +forward 3 +down 7 +up 4 +up 3 +down 5 +forward 9 +forward 9 +up 9 +down 1 +up 2 +up 3 +down 7 +forward 3 +down 7 +down 4 +down 5 +down 1 +down 4 +up 9 +forward 1 +up 8 +forward 7 +up 6 +down 1 +up 2 +forward 2 +up 9 +down 6 +forward 4 +down 2 +up 5 +forward 1 +forward 4 +down 6 +down 2 +up 8 +forward 2 +forward 8 +forward 4 +down 9 +up 3 +forward 5 +forward 9 +forward 4 +down 2 +up 4 +up 9 +down 5 +up 2 +forward 6 +up 2 +down 6 +up 5 +up 3 +up 9 +forward 8 +down 2 +forward 7 +up 8 +down 9 +forward 2 +forward 2 +down 6 +forward 9 +forward 2 +forward 8 +up 3 +forward 5 +down 4 +forward 2 +down 7 +up 6 +forward 7 +down 6 +down 8 +down 3 +up 4 +up 5 +down 2 +down 9 +forward 2 +down 7 +forward 2 +forward 3 +forward 9 +down 6 +down 1 +forward 6 +down 5 +forward 2 +down 5 +down 1 +forward 5 +down 4 +down 6 +down 5 +forward 9 +up 6 +up 5 +up 2 +down 1 +down 8 +forward 4 +down 2 +forward 5 +down 1 +forward 7 +down 8 +down 9 +down 7 +up 1 +forward 2 +up 8 +down 9 +down 2 +down 1 +down 9 +down 2 +down 5 +forward 9 +forward 1 +down 1 +forward 9 +forward 7 +down 6 +down 1 +down 7 +forward 4 +forward 1 +forward 4 +forward 5 +forward 5 +down 2 +forward 7 +forward 6 +forward 3 +forward 9 +up 1 +down 5 +down 4 +down 2 +forward 1 +up 7 +forward 2 \ No newline at end of file diff --git a/2021/02/sample.txt b/2021/02/sample.txt new file mode 100644 index 0000000..0ed302d --- /dev/null +++ b/2021/02/sample.txt @@ -0,0 +1,6 @@ +forward 5 +down 5 +forward 8 +up 3 +down 8 +forward 2 \ No newline at end of file diff --git a/2021/03/03.py b/2021/03/03.py new file mode 100644 index 0000000..a6c0a24 --- /dev/null +++ b/2021/03/03.py @@ -0,0 +1,28 @@ +report = [] + +with open("input.txt") as f: + lines = f.read().split('\n') + for line in lines: + report.append(line) + +gamma = '' +power = 2 ** len(report[0]) - 1 + +for i in range(len(report[0])): + ones_count = 0 + for number in report: + if number[i] == '1': + ones_count += 1 + + half = len(report) / 2 + if ones_count > half: + gamma += '1' + else: + gamma += '0' + +gamma = int(gamma, 2) +epsilon = power - gamma +part1 = gamma * epsilon +print(part1) + +o2 = co2 = 0 \ No newline at end of file diff --git a/2021/03/input.txt b/2021/03/input.txt new file mode 100644 index 0000000..5086164 --- /dev/null +++ b/2021/03/input.txt @@ -0,0 +1,1000 @@ +000110010001 +101000110000 +000110010111 +100011100010 +111001100001 +001010001010 +010100100101 +011000010000 +111111011010 +001111011101 +011011010010 +001100010101 +001010101100 +000000000000 +100010111111 +100100110011 +111100100001 +011110001110 +000110100101 +011101111001 +111101110110 +101001001111 +010111100010 +001110100011 +110010111101 +110000001101 +110110111101 +101100000110 +101101010110 +001011001110 +111110000111 +011110010110 +011001110100 +110101101110 +101110001100 +100111000010 +101111010001 +111110000101 +010100111111 +010110111011 +000000100101 +001000101011 +011100101110 +010011000100 +110011100001 +100100101110 +111101110011 +010100010010 +110100010000 +000101001101 +101010110100 +000011100110 +000100110100 +111001011001 +010101001110 +110100110100 +111010001010 +111111101111 +111000011001 +111110000000 +011111111011 +010100100001 +010110100100 +110000011110 +001100101101 +010011001000 +101110110110 +001001011011 +100100101101 +001111000100 +101001010000 +110101010010 +101111100101 +001011101010 +001110010111 +100111111000 +010010110110 +000100100010 +010111100100 +001000100001 +101100100111 +111001000001 +110010111100 +000110011101 +000001010010 +001010010111 +001101000100 +000110111101 +111011011000 +011110101000 +100101000011 +001000011100 +111101001001 +000011110011 +011010101001 +000111000101 +011000011001 +011010010100 +010110001110 +011010010110 +111010111110 +010101000010 +100010011100 +110001111100 +100101100001 +010001110010 +001000010011 +111010011101 +110001111000 +101100010011 +010000010110 +101011001101 +000110000101 +010000101111 +001100010100 +100110010111 +010000010001 +011100100101 +110011010000 +111101001110 +001101110010 +000011000110 +011000010111 +000101010000 +101111110110 +101001011000 +111010001000 +001100100010 +111100001100 +011000001100 +111010110100 +011111010110 +111011100000 +110010110110 +100111001101 +101111111010 +000101101110 +011011000111 +110001101100 +001110001110 +100100001011 +111000001110 +110000111111 +100110111111 +100100000011 +111101110001 +000100001111 +000101000111 +001011000111 +010011001100 +100001101110 +111100001010 +110100101101 +100111100001 +011000100111 +101010010010 +111101000111 +000010110101 +001100010010 +001111111101 +001101111011 +001011101110 +011100000111 +110010111111 +100110110101 +100110000001 +001011100010 +100010111000 +000000111000 +111010100100 +010101101110 +100111011111 +111101010100 +010000111011 +000101100001 +101010100000 +101110111100 +010000011011 +000101110110 +100110000000 +001001001001 +110110101100 +001100110011 +100111001111 +110111011101 +001110110010 +001010110000 +001001100101 +111100101101 +100001111100 +011001011110 +010010100010 +001011100100 +000100111010 +010110011100 +011100000101 +001110101010 +010011101010 +000011010001 +011101101100 +110100101001 +101011110110 +001010010101 +111110011010 +011001101111 +001000111111 +000011101101 +010001001001 +111011000010 +001011110010 +010000011001 +110000110001 +011001001000 +110011011000 +110101011001 +100000100011 +010011001111 +100100101000 +111111111100 +011011010101 +101100101010 +111110011111 +010101001000 +011110100000 +101001111111 +110000101110 +101011101110 +101111001110 +100000101101 +010010001011 +010100110111 +111011110001 +000100000010 +100000111000 +111111111000 +110111100111 +000001101101 +100001110011 +011010111110 +100111111100 +111111001010 +001001000100 +010010101101 +110100100000 +100010011111 +010000000110 +110111010111 +101000001000 +100100101001 +001001000010 +001111111010 +001011011000 +100010001111 +110011101110 +010111001110 +001011010011 +111011011011 +010100100100 +101011000111 +000011111111 +000110000111 +110000110100 +100101011011 +001001110110 +011100001001 +001111110100 +001111001101 +110010011001 +000100001001 +000110010110 +100001001010 +011100111000 +011101010111 +011111000110 +001000001001 +110011000101 +111111011011 +111110010011 +101111100000 +101011000100 +111110011101 +010100101010 +101011110000 +000100010100 +110110010010 +100011001101 +110110011010 +011100111011 +001111100001 +110011100101 +111001101011 +010000110101 +100100011100 +111000111001 +111000001011 +010110100011 +110011010100 +010011101111 +011011110111 +010101101010 +000000100100 +100111011101 +001101011000 +110111000101 +001011110100 +001100000100 +101010110010 +011000100000 +011001010100 +111100000000 +000100011000 +001000111000 +101101110010 +000100011001 +000100101001 +010010010101 +100010101101 +100010010110 +110101110000 +100011100110 +010010011100 +010001011011 +011100000110 +101000101011 +111010010000 +011100111001 +100001100110 +111100000110 +100001011100 +111001110101 +111011100111 +110101010001 +111100011000 +100111101010 +011110110000 +001011000101 +011010011111 +111100111110 +010100011010 +000010011101 +000110000110 +011001010001 +111000011100 +000111010110 +000000110101 +010011101011 +110011001110 +011011110110 +101100010101 +000011011001 +001100101011 +101000010101 +101100011010 +000111111110 +000011001001 +111011101110 +100111111010 +000101000011 +111100010011 +010001101010 +101001011110 +110010110000 +110101101001 +000011101110 +101101001010 +110100001101 +011100000011 +100011100101 +111010100110 +100010110001 +001011010000 +001001010100 +100101110100 +100100001111 +001000001010 +111001000101 +110110100000 +001010100010 +100100001110 +100111010010 +010110111000 +010100001010 +000010101100 +001010111100 +001111101001 +101011111101 +011011001001 +101000100110 +001010011101 +001011110000 +111110100000 +101100111010 +101111010111 +011000000101 +101100000010 +010101111110 +000011011100 +111110111010 +011110101110 +111011100010 +111100010001 +100000100110 +010111010000 +100010100101 +010111101010 +011011111111 +110111101000 +100000010000 +001011000010 +001001100011 +001000100110 +001001001011 +011110101101 +010111111101 +100100111100 +000011001101 +010101100000 +111100011100 +010111001010 +001101010011 +111011101111 +000000111101 +100000110110 +010000001101 +011110001011 +111100111100 +100101111110 +001000110010 +101011010000 +000101001111 +100001101101 +011011110001 +010010110010 +111011110111 +000001110110 +100110011110 +101100110011 +011011011010 +100100101010 +011011000110 +000100100011 +100101101001 +100110110000 +100100011001 +001010010001 +000001011101 +010011011010 +010101100101 +111101111011 +010100111011 +111000001001 +101100110101 +011111101010 +111110110111 +111111110000 +011001001100 +110001100100 +001000000011 +000110001010 +111000010100 +010101000000 +101001100000 +001010010010 +010001100000 +001000101110 +110111100001 +001111000010 +100111111101 +010111101110 +000110000011 +011100111101 +000011001111 +011101100110 +011110111110 +000010001010 +111101001100 +101101110011 +001000101111 +001011001000 +010110100101 +000110110010 +101101001000 +010100100000 +001111011110 +111001111111 +110010011101 +011010110001 +101101111010 +011000110110 +011101011111 +000011000111 +011010101101 +010000100110 +111001101110 +100001110100 +111100110110 +000001101011 +011111000011 +010001011001 +101010001000 +001100111001 +101111111111 +100000001101 +110011000000 +111000101011 +110001010110 +011100010001 +110110100110 +000010010100 +000001000101 +110111101011 +101110011011 +010010111000 +110000101101 +110100011101 +000111110001 +110001001010 +011000111110 +100111010110 +111100111000 +000010101001 +111100100101 +100110111001 +001001010000 +101110000010 +110011110101 +100010011101 +011000100101 +101011001000 +100111011000 +110101011111 +111100010110 +111001100110 +001110001000 +110110101001 +111001011010 +101011100101 +001101100001 +000111000110 +110001110110 +111100101011 +100010100100 +000101110001 +011101001000 +001110001100 +100100001010 +101010101111 +100011010011 +010001111101 +100101001001 +111110101111 +010011000101 +000110111011 +101101100011 +000110110110 +100000110000 +000001000001 +011111010111 +111110010101 +111101011011 +101011110111 +001000011111 +010010010000 +110110110010 +000110100000 +010010110101 +110110001111 +101111101000 +110101110101 +001100111110 +100101101110 +101111110101 +000111101001 +001011011111 +111011001011 +001001101100 +010101111010 +111110001100 +100010111100 +011000110111 +111111101100 +101001100001 +110000110111 +100010101000 +010010100011 +101110011001 +011101001001 +110000000110 +000110000010 +000111111101 +110001001100 +001001101010 +101010011010 +101100111101 +110010100010 +000101110101 +000000010101 +101010110000 +101010110001 +101001001100 +010001101110 +010011111001 +010010111011 +001110110101 +101000000110 +101110000101 +110110001101 +101000100000 +011001100110 +101111100110 +111110001010 +110010101011 +100111000111 +111001111101 +100001011111 +101101101110 +010100100010 +111100111011 +001011100110 +000001011010 +101111100010 +110000000000 +111100010101 +110100001001 +100010011010 +111000110010 +101000110011 +111101011111 +100011111011 +101001100111 +011011111101 +111011010111 +011101010011 +010010000111 +110011111101 +011101011101 +010101100111 +010111000000 +100111000001 +001110101101 +000111101110 +000100110000 +001110110111 +010000111010 +001010001001 +101001000111 +111010100010 +110001000011 +011111010000 +000110010000 +001001011111 +000100011111 +110001010011 +110000010011 +000011010101 +100101001110 +101110010101 +000011110000 +011111100111 +001111101100 +101111101100 +101110111101 +110111111001 +011110111101 +111110010111 +101110100001 +000110100010 +011000001000 +111000110101 +101000011100 +100110010100 +001111111111 +111001111001 +111111000110 +000110100100 +111000110000 +110011010110 +001010011001 +101000011011 +100011111111 +011001100000 +110100101100 +001001111000 +000100001100 +010101000001 +101010110111 +100110100000 +100110000011 +111101000011 +001101001010 +000000011111 +000101000110 +001110111001 +101110001011 +001111011010 +000100110010 +010011011001 +011100101001 +010110011001 +001011001101 +011110100010 +011000011100 +001001110010 +100000000010 +010111010010 +000010100000 +011000011110 +010100110010 +010101010001 +011010101100 +000100100001 +110101001011 +111110111101 +010100100110 +110010000100 +000101010001 +110100000001 +001010100011 +011101100101 +010101011110 +010101110101 +010101011100 +010011001010 +010011110001 +111111100000 +011110111010 +110010101010 +001111010001 +111110111110 +110001010101 +001011010001 +110111000110 +000011010011 +000001101001 +011010100100 +100000010111 +000000100001 +110000110010 +001101111101 +101011111111 +100100100010 +000001110111 +001111110101 +001111000011 +101000111100 +100100101111 +111000000101 +000011100011 +110101100010 +110001010111 +011000111100 +010000011111 +000001011000 +110011100000 +111100100111 +000010001011 +100111101001 +011111100000 +101101111001 +101100101100 +001000110100 +111111010111 +000110001101 +011111100001 +111000001100 +000111100100 +001111000000 +000101110010 +101100011001 +000001000100 +001001001101 +111001010101 +000011111011 +011111110000 +000000110001 +100111110011 +101001001011 +101000110110 +111001010100 +000011110100 +010001100001 +001111001110 +100001101001 +000001101111 +101000000001 +111101010000 +011111011001 +111111011110 +110110010110 +001011101100 +100001010111 +101011011100 +110010101001 +001000001100 +001101010101 +111111111110 +001100100011 +110000110110 +000000000110 +101000001010 +001111001100 +100011110001 +111011000001 +011010100110 +011110100100 +001110011111 +010101101011 +010110010111 +101100110110 +000101100010 +110010010000 +010100010000 +111011000111 +011010111011 +100000100111 +001111011000 +001010111011 +000010111111 +110001000101 +000111010101 +010011110111 +111010110000 +100111110110 +101011010001 +011001111111 +110110100010 +110111110110 +011010110111 +111000100011 +100010011000 +111001000010 +000100000111 +011101001010 +111001000111 +000110010100 +011011010110 +100100110100 +010011000001 +101000111011 +100100000000 +010010101110 +011111001101 +001100001100 +010111100001 +100101101010 +100110001101 +010111000101 +010100011011 +000010000011 +111000111111 +100111011100 +111110011011 +011110110110 +001000001111 +100110110111 +100000001011 +001111001011 +010010111101 +010001111000 +110010110101 +011001100101 +100110001111 +110001101010 +000100101011 +101110111010 +011111100011 +101010111111 +011101100001 +100000001010 +010000001000 +110110001010 +110001010010 +101001111001 +000100001101 +111100001111 +111101000110 +001010111001 +000101011010 +101001010010 +101011110001 +011011110101 +110101110100 +000001111001 +111000001111 +101110110000 +001101110101 +011010110010 +101000001110 +100011111001 +000111011101 +110011010101 +010111101101 +000010111011 +000100101010 +100101100101 +100000011001 +010110110100 +011010100000 +010100010001 +110010100101 +010100111110 +011100011101 +100011110010 +101000000010 +011001100001 +111111100100 +010011000011 +001101010010 +111100100000 +110101101111 +101001110001 +101100111111 +010111110010 +100011000100 +101101001101 +000000101001 +110100110000 +000110010010 +100111001110 +110011100110 +010110100010 +000111010100 +001101000001 +111010000011 +011001010110 +101000100010 +111010001001 +010101100001 +011001110010 +000111000111 +110001010001 +000111010001 +000001111100 +010001000001 +100110000010 +111111000111 +110111001111 +010010001001 +001001101111 +000110101111 +110011011111 +100010100111 +001010000010 +000000110110 +111111111101 +011111101111 +100111101111 +111111110111 +101111011001 +111010111011 +001001111110 +000010001100 +111011001111 +111111100011 +100010010011 +101110101011 +111010111111 +001111000110 +110000001100 +100110100110 +001110001101 +001000111100 +010011000110 +011011011100 +110110011001 +001000111010 +101100000011 +110100111101 +011100001011 +011101000100 +011100010011 +101001000001 +000001101010 +110000001010 +010100010100 +101001100110 +000100100101 +001000111101 +101101011111 +011001000010 +101000100001 +111110100011 +111101010010 +110111010101 +010111110100 +010001010001 +010110011110 +101001010001 +100110111100 +110011100010 +010110001011 +110001001101 +001100100111 +001001001111 +011000110100 +000010010001 +101010101110 +111100111111 +000010100010 +011010111101 \ No newline at end of file diff --git a/2021/03/sample.txt b/2021/03/sample.txt new file mode 100644 index 0000000..665fd57 --- /dev/null +++ b/2021/03/sample.txt @@ -0,0 +1,12 @@ +00100 +11110 +10110 +10111 +10101 +01111 +00111 +11100 +10000 +11001 +00010 +01010 \ No newline at end of file