implemented question 3.

This commit is contained in:
didier committed 2024-12-03 07:37:01 -05:00
1 parent 16897a122a
commit 239e7d0063
2 files changed
+55 -1

No files matched your search

+3 -1
View File
@@ -2,4 +2,6 @@
(def question-1 "49744 57964\n20738 85861\n20319 65072\n79568 74248\n78194 83454\n48701 94102\n69552 26808\n62781 67392\n85323 47428\n99344 72568\n27523 97243\n48039 36600\n91532 31571\n21306 31571\n52409 10805\n33901 31571\n80772 38756\n13849 54584\n72294 28326\n86065 65553\n93987 72533\n81640 39741\n25701 89912\n98611 57082\n80949 94974\n84717 61876\n31599 57082\n87119 65871\n56659 22897\n60864 45613\n64914 23217\n41931 23325\n13675 56060\n85486 66429\n99589 34428\n80942 50436\n66446 27795\n62260 94102\n17991 95754\n38666 94018\n82715 65319\n96748 95959\n76620 75639\n39724 86975\n83462 61805\n80757 66429\n80161 66912\n27338 97381\n29349 58983\n19921 95959\n33222 95959\n29944 13408\n33806 85400\n70346 93552\n62146 56773\n29455 80011\n13072 39741\n78082 85362\n68244 22897\n92699 85216\n77401 20843\n53297 82515\n47145 90966\n21714 83969\n38897 81770\n26583 96472\n33538 94102\n50607 51437\n29920 18034\n86162 28326\n20887 26374\n70011 95959\n91072 33837\n78041 78550\n36971 96504\n93552 45613\n35166 39027\n55765 21306\n62548 27834\n25287 27430\n16941 92472\n92686 35418\n18196 61876\n98271 56773\n70197 57082\n60087 36019\n94691 57607\n71834 36600\n66838 72703\n99514 30035\n87478 37752\n31855 89828\n63670 55131\n96582 96472\n56506 28326\n22986 50890\n28459 76391\n81838 56060\n73857 57964\n65911 96472\n70631 78246\n35372 83680\n59537 53263\n69802 83656\n60922 95754\n98033 55131\n61192 56233\n10544 96472\n70076 96748\n10345 72533\n44069 59959\n51368 24943\n32209 94323\n93608 15236\n66052 18518\n18194 74248\n61876 60690\n38359 91941\n99648 94102\n26870 95959\n42700 22080\n60343 57082\n86403 63844\n68549 71668\n94395 31571\n54117 76136\n82957 91182\n76970 30786\n21467 96999\n63240 61876\n41407 52311\n79043 64533\n68714 18737\n88316 43212\n74330 56060\n95754 42389\n97007 15593\n23600 61876\n35794 37497\n51155 33837\n38878 57779\n88160 66923\n85960 15356\n19608 90678\n15335 19142\n37858 28326\n52362 61567\n92440 25615\n40806 68569\n71751 97177\n42549 70211\n97573 97882\n70977 72533\n82166 87204\n73168 45613\n33988 40287\n81017 24791\n97826 39494\n49366 57853\n58833 30509\n12049 99552\n44295 28655\n33286 86203\n68443 28326\n72269 59959\n56222 28326\n66315 57082\n76461 90360\n46531 28326\n63925 80949\n34114 91182\n81992 31571\n24536 11763\n22518 70755\n11355 31571\n31145 28326\n55129 17000\n17135 54266\n19316 57094\n63206 26374\n31039 57082\n20090 45613\n25633 34423\n95984 74248\n28231 31899\n79070 33837\n20608 10744\n31697 41568\n13523 99552\n44342 74248\n58138 66429\n53615 11293\n13400 99229\n44548 22051\n24137 37497\n30607 56348\n53530 14398\n44035 83213\n56874 38315\n79779 99487\n43670 58472\n18036 94582\n92084 36917\n95857 89269\n59178 48607\n77507 14389\n24249 94980\n68856 14162\n46913 13677\n77339 59959\n40867 94102\n20361 27399\n10126 40204\n56279 57964\n37924 33837\n35066 28326\n79906 33390\n77938 18925\n30427 74248\n49792 39885\n10401 72533\n27300 12967\n15461 66429\n86381 10670\n25350 72755\n79472 90026\n11038 78545\n31085 82018\n29807 94018\n50918 37018\n56092 21306\n18839 97675\n12995 26374\n89946 62988\n59719 56060\n23083 50209\n14050 77608\n61314 53662\n55468 87206\n32735 39741\n54600 91182\n15821 77607\n88847 22065\n99872 95959\n53375 22897\n35209 56060\n77630 91182\n96800 96472\n26264 66429\n35274 25151\n25538 61863\n23186 96504\n91734 39741\n91485 59959\n89103 36687\n78785 96472\n13949 65200\n44396 31571\n16507 29954\n65200 56352\n67353 98520\n44969 45613\n70144 10313\n52148 90071\n43359 21780\n83268 52625\n92052 42928\n56773 32010\n77013 33885\n83505 38104\n44966 20462\n30790 94102\n73511 57082\n17994 13777\n52046 31571\n71445 38756\n31099 57082\n96873 72533\n63090 47113\n39327 68753\n33913 60253\n38546 53200\n16726 29956\n86820 42850\n61083 38756\n40096 55131\n95004 23484\n17136 61958\n87117 80803\n44050 92626\n65352 22440\n13813 61876\n82994 99641\n16136 45613\n13490 56775\n51061 80949\n61335 91182\n52053 33837\n50455 45613\n50980 41238\n58258 38756\n52546 10801\n32924 50528\n98144 31571\n74993 37070\n27437 36600\n46078 69578\n35719 36796\n91307 66923\n82413 98969\n21224 59959\n95996 90116\n61607 33837\n71741 14132\n48452 79616\n16452 36600\n29032 22897\n68251 80913\n15226 83141\n82072 62781\n78732 39741\n26072 57964\n44560 96564\n57175 78034\n86181 64955\n70004 13437\n21403 13757\n25396 90508\n22388 52004\n70087 96504\n35852 65506\n16149 94963\n12Line truncated (def question-1 "49744 57964\n20738 85861\n20319 65072\n79568 74248\n78194 83454\n48701 94102\n69552 26808\n62781 67392\n85323 47428\n99344 72568\n27523 97243\n48039 36600\n91532 31571\n21306 31571\n52409 10805\n33901 31571\n80772 38756\n13849 54584\n72294 28326\n86065 65553\n93987 72533\n81640 39741\n25701 89912\n98611 57082\n80949 94974\n84717 61876\n31599 57082\n87119 65871\n56659 22897\n60864 45613\n64914 23217\n41931 23325\n13675 56060\n85486 66429\n99589 34428\n80942 50436\n66446 27795\n62260 94102\n17991 95754\n38666 94018\n82715 65319\n96748 95959\n76620 75639\n39724 86975\n83462 61805\n80757 66429\n80161 66912\n27338 97381\n29349 58983\n19921 95959\n33222 95959\n29944 13408\n33806 85400\n70346 93552\n62146 56773\n29455 80011\n13072 39741\n78082 85362\n68244 22897\n92699 85216\n77401 20843\n53297 82515\n47145 90966\n21714 83969\n38897 81770\n26583 96472\n33538 94102\n50607 51437\n29920 18034\n86162 28326\n20887 26374\n70011 95959\n91072 33837\n78041 78550\n36971 96504\n93552 45613\n35166 39027\n55765 21306\n62548 27834\n25287 27430\n16941 92472\n92686 35418\n18196 61876\n98271 56773\n70197 57082\n60087 36019\n94691 57607\n71834 36600\n66838 72703\n99514 30035\n87478 37752\n31855 89828\n63670 55131\n96582 96472\n56506 28326\n22986 50890\n28459 76391\n81838 56060\n73857 57964\n65911 96472\n70631 78246\n35372 83680\n59537 53263\n69802 83656\n60922 95754\n98033 55131\n61192 56233\n10544 96472\n70076 96748\n10345 72533\n44069 59959\n51368 24943\n32209 94323\n93608 15236\n66052 18518\n18194 74248\n61876 60690\n38359 91941\n99648 94102\n26870 95959\n42700 22080\n60343 57082\n86403 63844\n68549 71668\n94395 31571\n54117 76136\n82957 91182\n76970 30786\n21467 96999\n63240 61876\n41407 52311\n79043 64533\n68714 18737\n88316 43212\n74330 56060\n95754 42389\n97007 15593\n23600 61876\n35794 37497\n51155 33837\n38878 57779\n88160 66923\n85960 15356\n19608 90678\n15335 19142\n37858 28326\n52362 61567\n92440 25615\n40806 68569\n71751 97177\n42549 70211\n97573 97882\n70977 72533\n82166 87204\n73168 45613\n33988 40287\n81017 24791\n97826 39494\n49366 57853\n58833 30509\n12049 99552\n44295 28655\n33286 86203\n68443 28326\n72269 59959\n56222 28326\n66315 57082\n76461 90360\n46531 28326\n63925 80949\n34114 91182\n81992 31571\n24536 11763\n22518 70755\n11355 31571\n31145 28326\n55129 17000\n17135 54266\n19316 57094\n63206 26374\n31039 57082\n20090 45613\n25633 34423\n95984 74248\n28231 31899\n79070 33837\n20608 10744\n31697 41568\n13523 99552\n44342 74248\n58138 66429\n53615 11293\n13400 99229\n44548 22051\n24137 37497\n30607 56348\n53530 14398\n44035 83213\n56874 38315\n79779 99487\n43670 58472\n18036 94582\n92084 36917\n95857 89269\n59178 48607\n77507 14389\n24249 94980\n68856 14162\n46913 13677\n77339 59959\n40867 94102\n20361 27399\n10126 40204\n56279 57964\n37924 33837\n35066 28326\n79906 33390\n77938 18925\n30427 74248\n49792 39885\n10401 72533\n27300 12967\n15461 66429\n86381 10670\n25350 72755\n79472 90026\n11038 78545\n31085 82018\n29807 94018\n50918 37018\n56092 21306\n18839 97675\n12995 26374\n89946 62988\n59719 56060\n23083 50209\n14050 77608\n61314 53662\n55468 87206\n32735 39741\n54600 91182\n15821 77607\n88847 22065\n99872 95959\n53375 22897\n35209 56060\n77630 91182\n96800 96472\n26264 66429\n35274 25151\n25538 61863\n23186 96504\n91734 39741\n91485 59959\n89103 36687\n78785 96472\n13949 65200\n44396 31571\n16507 29954\n65200 56352\n67353 98520\n44969 45613\n70144 10313\n52148 90071\n43359 21780\n83268 52625\n92052 42928\n56773 32010\n77013 33885\n83505 38104\n44966 20462\n30790 94102\n73511 57082\n17994 13777\n52046 31571\n71445 38756\n31099 57082\n96873 72533\n63090 47113\n39327 68753\n33913 60253\n38546 53200\n16726 29956\n86820 42850\n61083 38756\n40096 55131\n95004 23484\n17136 61958\n87117 80803\n44050 92626\n65352 22440\n13813 61876\n82994 99641\n16136 45613\n13490 56775\n51061 80949\n61335 91182\n52053 33837\n50455 45613\n50980 41238\n58258 38756\n52546 10801\n32924 50528\n98144 31571\n74993 37070\n27437 36600\n46078 69578\n35719 36796\n91307 66923\n82413 98969\n21224 59959\n95996 90116\n61607 33837\n71741 14132\n48452 79616\n16452 36600\n29032 22897\n68251 80913\n15226 83141\n82072 62781\n78732 39741\n26072 57964\n44560 96564\n57175 78034\n86181 64955\n70004 13437\n21403 13757\n25396 90508\n22388 52004\n70087 96504\n35852 65506\n16149 94963\n12Line truncated
(def question-2 "18 21 22 24 26 29 28\n9 11 14 17 18 21 21\n48 51 54 56 60\n6 8 10 11 16\n75 76 79 82 80 83\n28 31 33 32 33 30\n94 96 94 96 96\n42 44 45 44 46 50\n25 28 29 26 33\n37 39 39 42 43\n49 51 53 56 56 57 55\n88 91 91 93 96 99 99\n56 59 59 61 62 65 68 72\n30 33 35 37 39 42 42 49\n14 17 19 23 24\n2 4 5 9 12 15 16 14\n88 89 93 96 99 99\n68 70 71 74 78 81 85\n46 47 49 53 58\n36 39 41 47 49 50 51 54\n81 82 85 91 93 95 96 94\n11 14 16 18 23 23\n72 75 81 84 85 89\n40 41 44 46 51 53 58\n70 68 71 73 76 77 78 80\n83 80 83 86 83\n44 42 45 47 49 51 51\n78 77 80 81 83 85 88 92\n34 33 34 36 38 45\n54 51 52 54 56 57 56 59\n57 54 53 55 52\n48 46 47 49 47 47\n70 67 64 65 67 70 72 76\n42 41 42 45 44 46 53\n44 41 44 47 47 50 51 53\n12 11 13 13 12\n27 25 25 26 26\n57 55 55 58 61 65\n65 63 65 68 69 69 71 78\n88 87 91 93 94\n84 82 84 86 90 92 93 92\n22 21 25 27 28 28\n35 33 35 36 40 43 44 48\n32 30 31 33 37 44\n30 28 30 36 38\n70 67 69 70 77 75\n42 39 44 47 47\n47 45 48 53 57\n32 29 34 35 36 39 40 46\n71 71 74 75 77\n14 14 16 18 20 19\n43 43 44 47 49 51 51\n71 71 72 73 75 76 80\n10 10 12 14 15 16 22\n42 42 45 42 45 48\n72 72 75 73 74 75 73\n82 82 85 87 84 86 89 89\n68 68 65 67 71\n19 19 20 21 19 26\n87 87 89 89 92\n78 78 80 81 82 82 80\n11 11 11 13 13\n54 54 57 58 58 62\n23 23 23 26 29 34\n8 8 12 13 16 19\n38 38 42 43 46 47 49 47\n30 30 31 35 36 37 37\n23 23 27 29 31 35\n4 4 6 10 13 16 18 25\n44 44 47 52 54 56 57\n32 32 39 40 37\n10 10 13 18 20 23 23\n46 46 52 55 59\n66 66 73 76 81\n54 58 61 64 66 69 71 74\n7 11 14 17 19 22 20\n16 20 21 23 24 27 29 29\n83 87 90 91 95\n1 5 6 8 13\n60 64 65 64 67 68 69 71\n54 58 61 64 66 69 66 64\n74 78 81 80 83 83\n61 65 68 70 69 70 72 76\n84 88 90 91 88 90 96\n78 82 85 87 87 89 91 94\n75 79 81 81 82 84 86 83\n2 6 7 7 8 9 9\n9 13 14 14 15 19\n1 5 5 8 14\n76 80 82 86 88 90\n78 82 84 88 89 86\n60 64 68 71 74 74\n40 44 46 50 54\n30 34 35 38 42 45 47 52\n51 55 62 64 67 70 71 72\n37 41 42 43 48 51 48\n11 15 16 17 24 24\n20 24 29 32 33 37\n61 65 67 72 74 81\n45 52 55 56 59 60 63\n23 29 32 34 32\n63 70 71 72 75 78 80 80\n66 73 75 78 81 84 88\n19 24 25 28 29 36\n67 72 70 71 74 75 77 80\n30 35 36 38 37 38 39 37\n82 89 90 92 94 91 91\n67 74 77 78 81 84 82 86\n27 34 35 32 33 35 38 45\n20 27 30 30 33\n71 78 81 82 82 79\n54 60 60 63 64 64\n31 37 38 40 40 44\n66 71 73 73 78\n32 37 39 41 43 47 50\n50 55 56 60 62 60\n69 76 80 81 84 84\n52 59 63 64 68\n53 59 60 64 71\n72 78 80 86 87 89 92\n28 33 36 38 44 46 45\n34 40 43 44 47 52 52\n2 9 11 17 20 24\n32 39 46 47 50 55\n41 38 35 34 32 31 28 29\n84 81 80 78 77 77\n56 54 51 49 48 47 43\n65 62 60 59 56 53 46\n35 34 31 34 32 29 27 25\n41 40 39 42 45\n63 60 57 56 59 58 58\n68 67 66 63 66 64 62 58\n94 91 90 93 91 90 83\n60 58 56 56 54 52 51 49\n85 82 82 79 77 76 75 76\n70 68 66 66 65 62 62\n56 53 50 50 46\n48 47 46 43 42 42 41 35\n68 67 66 65 61 59\n65 62 59 58 56 55 51 53\n76 74 73 70 69 65 65\n29 28 27 23 20 19 15\n88 86 82 81 79 78 76 71\n78 75 70 67 65 63\n22 20 14 13 15\n80 79 77 72 72\n39 38 36 33 26 23 19\n69 68 66 59 56 53 51 45\n55 56 55 53 51 50\n38 41 38 35 34 37\n70 73 71 68 66 66\n57 60 58 56 52\n39 40 37 34 28\n6 9 7 6 4 7 5 3\n82 85 84 87 90\n13 14 15 14 12 12\n97 98 96 98 94\n21 24 26 23 21 16\n39 41 41 39 38 36\n85 87 87 84 82 79 82\n80 81 81 79 77 77\n67 69 68 65 65 61\n80 82 82 80 77 74 67\n89 92 89 85 82\n49 50 49 45 47\n59 62 58 57 55 53 52 52\n32 35 31 30 26\n39 41 39 38 37 35 31 24\n29 30 29 24 23 21 19 17\n13 14 12 7 8\n31 33 31 30 23 22 19 19\n24 26 21 18 16 12\n37 39 38 33 32 31 25\n91 91 90 89 86 83 80\n56 56 55 53 55\n84 84 83 81 79 79\n38 38 35 33 31 28 25 21\n35 35 32 31 29 28 25 19\n23 23 22 23 21 20 17 16\n22 22 19 21 24\n9 9 10 9 7 7\n82 82 79 81 79 75\n29 29 30 29 23\n16 16 15 15 12 10\n32 32 29 27 25 25 26\n23 23 20 20 20\n98 98 97 96 93 93 89\n60 60 57 57 55 53 48\n72 72 69 65 62 61 58 57\n57 57 54 53 49 51\n59 59 57 53 51 51\n77 77 73 71 67\n20 20 18 14 13 7\n20 20 13 11 10 8\n74 74 71 70 69 68 62 63\n38 38 33 31 28 26 23 23\n91 91 90 84 80\n86 86 83 82 80 78 71 64\n94 90 88 85 84 81\n61 57 56 55 52 50 48 51\n31 27 25 22 19 19\n79 75 73 70 68 65 61\n87 83 81 78 75 70\n23 19 16 14 13 16 14 11\n9 5 7 4 7\n88 84 82 84 84\n21 17 15 14 17 14 11 7\n60 56 55 54 55 53 51 45\n57 53 53 50 48 47 46\n66 62 60 57 54 51 51 54\n74 70 69 67 66 66 64 64\n31 27 24 21 21 20 17 13\n38 34 31 28 28 21\n86 82 81 78 76 72 69\n21 17 14 12 11 7 10\n17 13 11 7 7\n36 32 31 28 24 22 20 16\n41 37 33 31 28 27 20\n36 32 31 25 22 21\n69 65 62 56 59\n47 43 42 37 35 32 32\n52 48 46 44 39 36 32\n98 94 93 86 84 78\n75 69 68 66 65 62 60 58\n74 68 66 63 62 65\n36 29 26 25 24 23 23\n74 69 68 65 63 60 58 54\n75 70 67 65 63 61 54\n43 38 39 36 33 30\n31 25 22 19 20 19 21\n13 8 5 6 4 4\n19 14 12 15 14 10\n37 31 33 30 27 21\n93 88 88 86 83\n19 13 13 11 10 11\n79 74 74 71 71\n45 39 39 38 35 34 31 27\n52 47 45 42 42 40 33\n54 47 44 41 40 36 35 33\n18 13 11 8 4 2 5\n83 78 74 73 70 70\n16 10 9 5 1\n35 30 26 25 24 19\n63 57 55 50 47 44 42\n20 15 8 7 5 7\n68 61 56 54 54\n80 Line truncated (def question-2 "18 21 22 24 26 29 28\n9 11 14 17 18 21 21\n48 51 54 56 60\n6 8 10 11 16\n75 76 79 82 80 83\n28 31 33 32 33 30\n94 96 94 96 96\n42 44 45 44 46 50\n25 28 29 26 33\n37 39 39 42 43\n49 51 53 56 56 57 55\n88 91 91 93 96 99 99\n56 59 59 61 62 65 68 72\n30 33 35 37 39 42 42 49\n14 17 19 23 24\n2 4 5 9 12 15 16 14\n88 89 93 96 99 99\n68 70 71 74 78 81 85\n46 47 49 53 58\n36 39 41 47 49 50 51 54\n81 82 85 91 93 95 96 94\n11 14 16 18 23 23\n72 75 81 84 85 89\n40 41 44 46 51 53 58\n70 68 71 73 76 77 78 80\n83 80 83 86 83\n44 42 45 47 49 51 51\n78 77 80 81 83 85 88 92\n34 33 34 36 38 45\n54 51 52 54 56 57 56 59\n57 54 53 55 52\n48 46 47 49 47 47\n70 67 64 65 67 70 72 76\n42 41 42 45 44 46 53\n44 41 44 47 47 50 51 53\n12 11 13 13 12\n27 25 25 26 26\n57 55 55 58 61 65\n65 63 65 68 69 69 71 78\n88 87 91 93 94\n84 82 84 86 90 92 93 92\n22 21 25 27 28 28\n35 33 35 36 40 43 44 48\n32 30 31 33 37 44\n30 28 30 36 38\n70 67 69 70 77 75\n42 39 44 47 47\n47 45 48 53 57\n32 29 34 35 36 39 40 46\n71 71 74 75 77\n14 14 16 18 20 19\n43 43 44 47 49 51 51\n71 71 72 73 75 76 80\n10 10 12 14 15 16 22\n42 42 45 42 45 48\n72 72 75 73 74 75 73\n82 82 85 87 84 86 89 89\n68 68 65 67 71\n19 19 20 21 19 26\n87 87 89 89 92\n78 78 80 81 82 82 80\n11 11 11 13 13\n54 54 57 58 58 62\n23 23 23 26 29 34\n8 8 12 13 16 19\n38 38 42 43 46 47 49 47\n30 30 31 35 36 37 37\n23 23 27 29 31 35\n4 4 6 10 13 16 18 25\n44 44 47 52 54 56 57\n32 32 39 40 37\n10 10 13 18 20 23 23\n46 46 52 55 59\n66 66 73 76 81\n54 58 61 64 66 69 71 74\n7 11 14 17 19 22 20\n16 20 21 23 24 27 29 29\n83 87 90 91 95\n1 5 6 8 13\n60 64 65 64 67 68 69 71\n54 58 61 64 66 69 66 64\n74 78 81 80 83 83\n61 65 68 70 69 70 72 76\n84 88 90 91 88 90 96\n78 82 85 87 87 89 91 94\n75 79 81 81 82 84 86 83\n2 6 7 7 8 9 9\n9 13 14 14 15 19\n1 5 5 8 14\n76 80 82 86 88 90\n78 82 84 88 89 86\n60 64 68 71 74 74\n40 44 46 50 54\n30 34 35 38 42 45 47 52\n51 55 62 64 67 70 71 72\n37 41 42 43 48 51 48\n11 15 16 17 24 24\n20 24 29 32 33 37\n61 65 67 72 74 81\n45 52 55 56 59 60 63\n23 29 32 34 32\n63 70 71 72 75 78 80 80\n66 73 75 78 81 84 88\n19 24 25 28 29 36\n67 72 70 71 74 75 77 80\n30 35 36 38 37 38 39 37\n82 89 90 92 94 91 91\n67 74 77 78 81 84 82 86\n27 34 35 32 33 35 38 45\n20 27 30 30 33\n71 78 81 82 82 79\n54 60 60 63 64 64\n31 37 38 40 40 44\n66 71 73 73 78\n32 37 39 41 43 47 50\n50 55 56 60 62 60\n69 76 80 81 84 84\n52 59 63 64 68\n53 59 60 64 71\n72 78 80 86 87 89 92\n28 33 36 38 44 46 45\n34 40 43 44 47 52 52\n2 9 11 17 20 24\n32 39 46 47 50 55\n41 38 35 34 32 31 28 29\n84 81 80 78 77 77\n56 54 51 49 48 47 43\n65 62 60 59 56 53 46\n35 34 31 34 32 29 27 25\n41 40 39 42 45\n63 60 57 56 59 58 58\n68 67 66 63 66 64 62 58\n94 91 90 93 91 90 83\n60 58 56 56 54 52 51 49\n85 82 82 79 77 76 75 76\n70 68 66 66 65 62 62\n56 53 50 50 46\n48 47 46 43 42 42 41 35\n68 67 66 65 61 59\n65 62 59 58 56 55 51 53\n76 74 73 70 69 65 65\n29 28 27 23 20 19 15\n88 86 82 81 79 78 76 71\n78 75 70 67 65 63\n22 20 14 13 15\n80 79 77 72 72\n39 38 36 33 26 23 19\n69 68 66 59 56 53 51 45\n55 56 55 53 51 50\n38 41 38 35 34 37\n70 73 71 68 66 66\n57 60 58 56 52\n39 40 37 34 28\n6 9 7 6 4 7 5 3\n82 85 84 87 90\n13 14 15 14 12 12\n97 98 96 98 94\n21 24 26 23 21 16\n39 41 41 39 38 36\n85 87 87 84 82 79 82\n80 81 81 79 77 77\n67 69 68 65 65 61\n80 82 82 80 77 74 67\n89 92 89 85 82\n49 50 49 45 47\n59 62 58 57 55 53 52 52\n32 35 31 30 26\n39 41 39 38 37 35 31 24\n29 30 29 24 23 21 19 17\n13 14 12 7 8\n31 33 31 30 23 22 19 19\n24 26 21 18 16 12\n37 39 38 33 32 31 25\n91 91 90 89 86 83 80\n56 56 55 53 55\n84 84 83 81 79 79\n38 38 35 33 31 28 25 21\n35 35 32 31 29 28 25 19\n23 23 22 23 21 20 17 16\n22 22 19 21 24\n9 9 10 9 7 7\n82 82 79 81 79 75\n29 29 30 29 23\n16 16 15 15 12 10\n32 32 29 27 25 25 26\n23 23 20 20 20\n98 98 97 96 93 93 89\n60 60 57 57 55 53 48\n72 72 69 65 62 61 58 57\n57 57 54 53 49 51\n59 59 57 53 51 51\n77 77 73 71 67\n20 20 18 14 13 7\n20 20 13 11 10 8\n74 74 71 70 69 68 62 63\n38 38 33 31 28 26 23 23\n91 91 90 84 80\n86 86 83 82 80 78 71 64\n94 90 88 85 84 81\n61 57 56 55 52 50 48 51\n31 27 25 22 19 19\n79 75 73 70 68 65 61\n87 83 81 78 75 70\n23 19 16 14 13 16 14 11\n9 5 7 4 7\n88 84 82 84 84\n21 17 15 14 17 14 11 7\n60 56 55 54 55 53 51 45\n57 53 53 50 48 47 46\n66 62 60 57 54 51 51 54\n74 70 69 67 66 66 64 64\n31 27 24 21 21 20 17 13\n38 34 31 28 28 21\n86 82 81 78 76 72 69\n21 17 14 12 11 7 10\n17 13 11 7 7\n36 32 31 28 24 22 20 16\n41 37 33 31 28 27 20\n36 32 31 25 22 21\n69 65 62 56 59\n47 43 42 37 35 32 32\n52 48 46 44 39 36 32\n98 94 93 86 84 78\n75 69 68 66 65 62 60 58\n74 68 66 63 62 65\n36 29 26 25 24 23 23\n74 69 68 65 63 60 58 54\n75 70 67 65 63 61 54\n43 38 39 36 33 30\n31 25 22 19 20 19 21\n13 8 5 6 4 4\n19 14 12 15 14 10\n37 31 33 30 27 21\n93 88 88 86 83\n19 13 13 11 10 11\n79 74 74 71 71\n45 39 39 38 35 34 31 27\n52 47 45 42 42 40 33\n54 47 44 41 40 36 35 33\n18 13 11 8 4 2 5\n83 78 74 73 70 70\n16 10 9 5 1\n35 30 26 25 24 19\n63 57 55 50 47 44 42\n20 15 8 7 5 7\n68 61 56 54 54\n80 Line truncated
(def question-3 "what()-%*;[mul(826,659)what()&mul(622,241)}^from();why()mul(499,923))mul(589,186)~how()why()]/~who()}mul(57,224)* ##[[*>mul(206,45)select(){~from(63,961)+!/'@mul(365,743)^ from()mul(94,410)$how()(^ )/,mul(592,884) mul(265,485))^#[[mul(763,659),mul(275,537)$;who()*mul(511,392)))what()(+from()from()>&-mul(416,947)mul(868,183)?:where()*when()#-where(890,406)#-mul(873,379)mul(195,835)/,%?],!-{(mul(225,902)where()'(where()-@#mul(544,955)how();~when(222,774)mul(538,277),from()from(717,816)$)(!%select()mul(247,162)**why()!}/where()mul(411,570)]mul(158,805)<[)}!@$select()don't()&?mul(475,153)when()mul(44,394)mul(505,328)select(),;[+mul(228,58)}/)why()?who()mul(706,785)$!#mul(635,796)#[where(){^select(275,150)-/)mul(85,214)<when()/*&where()mul(438,107)who(); what()why()why()mul(556,985):-+;@why()}?mul(581,266)why() %mul(570,646)what();@<$mul(626,256)#>do()where()@'<mul(42,958)#{mul(980,871) ,:{^!>mul(651,67)]-mul(530,38)why()+^don't(),where();what()~mul(532,711)<how()-;(^mul(538,343);mul(403,312)#where()select()<}mul(160,441) (mul(35,591)from()mul(458,977)mul(682,17)who()select()!^ :how()from()!~mul(698,638)'<@;'where()'from()!select(458,218)mul(80,356)^,what(554,850)*<&what()select()select()do()>,;)$why()+what();%mul(265,354)-mul(338,874)?]mul(284,884)}<when()mul(473,399)%>'?where(),mul(614,138)&who()~}[why()from()mul(779,747)^mul(7,27)select()}>+^-*<mul(808,414) &)when()[;&mul(969,162):where(){mul(923,581))*when()who()}?mul(604,624)**mul(968,780)):/{mul(808,433)]!who()from()mul(103,80)@^why()!mul(335,504)&how():how()}mul(407,608)'+mul(350,417)select()>who()*mul(545,113)who()('!&how(),don't()+{$&mul(842,42)<#mul(788,22),why(),mul(581,843)why()?mul(415,102)[mul(782,483)::(&',^mul(411,597)mul(800,946)[]($}:+)]mul(6,738)who()+where()@}(where()>$when()mul(737,227)select()~ why(984,422)mul(690,299)$how()!why()when() why()>:who()mul(62,391)mul(559,901)mul(152,669)([why()-select();*(mul(674,497)mul(195,917)from()#what(),mul(332,868)select()')@#mul(957,359)(when()]>(<what()!mul(602,990)+@how()]$^mul(885,543)mul(564,365)mul(912,603)what()when()how()mul(216,398+&#'*-,]:mul(971,792)!do()from()who()mul(741,501)~how()where()<what()[#where()mul(268,825)what()mul(958,990)){?(+'mul(427,368):%?how()?(mul(725,420)?when()}-from();mul(414,122/%-when():-'@mul(450,900)&what()<{ ]<'(?do()%]^!} mul(401,278)when() -(! -do()when()*select()?@[~@from()why()mul(892,125)~what()+;/mulwhy():mul(375,500)^(#>%,mul(252,836)[why()?<how(643,18);*mul(223,308)$where()mul(401,278)why():mul(276,426)mul(793,320)what(85,700)})mul(485,616)where();when()}[! from();]mul(582,705) !:mul(427,563)<*<#how():!do()'&-}!']:'mul(615,412)where(928,116)];select()(mul(812,857)&@?[select()$~do()mul(49,314)?{mul(164,850)mul(345,646)[}from()}]<'#select()don't()<;+%where(445,34)*!mul!when()-{mul(471,900)<[-from()&@mul(442,893)where())*mul(798,495)}<+select(130,600)why()(from()mul(860,565)select()~why(406,274)mul(397,514)who()why()]~mul(654,583>where()!,mul(877,551)&select()[<?&{}when(){mul(528,802),#-)+(&select()/mul(878,466)#how(872,781)mul(964,641>}->(*[mul(847,681),why()select()select()*@,mul(211,86)when()select()-:)#']mul(416,630):(}?$[:)mul(255,942):-*:!~%@how()what()mul(117,324)\n/}mul(804,424)mul?where())%}mul(933,657)%from()what()'~!}*:mul(916,775)who()<select()<how()don't()#from(773,402);/,when()mul(425,484)> {,what(485,199)when()#mul(760/-select();mul(859,259) )?mul(21,933)what()^from()#-mul(951,427)don't()<!mul(664,380)mul(747,497)*who()}from()*+mul(505^) <#:select()]?select()mul(383,587)*mul(747,795)how()where()who()&}#:mul[@%mul(488,640)how()who()^'>mulwhere(295,787)%'~*who()@mul(500,697)where()*^!@^what():mul(737,496)^{)^how()when()#mul(387,233)']%select();}mul(89,882)}(&mul(394,392)#from()what()}who()when()when()>;^mul(639,188) [*mul(302,818)[mul(874,794)~{(<>[%mul(217,113)~why() mul(651,680)^!/'select()mul(161,158)'}/*{mul(41,452)?;;@,[~}why()mul(71,555)<select()%:when()]@what(198,130)do()mul(364,266)*+)what(65,6)'mul(503where()'{what()?mul(84,10)/;''^;mul(180,571)how()(]mul(804,566)>who()}]where()*%where()?mul(909,630)%^where()how()'mul(678,912)*)+what():don't()*^[$mul(208,358)mul(99,216,??/-%]when(40,18)>'(mul(967,259)^!%!mul(574,337)mul(855,993)from()who()<@ -&mul(679,566)[;$how()mul(773,340)+-':-mul(46,577);>+%^#mul(668,549)@;#,[])don't()mul(471,350)why()?what()where()what()</[mul(725,898):(-mul(869,478)%don't()'mul(896,319)]from(){@don't(),,why(){what(394,834)?mul(58,736)%#/ <mul(51,867)*)^why()#'mul(176,298)$where()//>,]:!where()mul(474,215):#what():%}how():mul(47,116)-,^from()?[select()>mul(566,323);!$why()what()<>{%-mul(756,641)(]{what()$>@#$%mul(478,68)!](;@+when()mul(383,83)>>@ do())(/!when(){{)~when()mul(18,568)mul(933,58))mul(53,523)what()where()>+where()^mul(847,728)>where() who()how()]mul(499,856)mul(837,413)&:who();from()@mul(711,785)@from()select()$]#-}mul(603,647)!how()'}/mul(142,83)mul(236,987)(&[)+$<&when()mul(464,484)[mul(97,923{[{;~*how(603,347)why(397,750)[mul(397,378):from()who()@$[mul(33,741)@&<['from():do()]select()/!Line truncated
+52
View File
@@ -0,0 +1,52 @@
(ns question-3
(:require [inputs]))
(def mock-input "xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5))")
(def mock-input-2 "xmul(2,4)&mul[3,7]!^don't()_mul(5,5)+mul(32,64](mul(11,8)undo()?mul(8,5))")
(defn get-instructions [input]
(->> input
(re-seq #"(don't\(\))|(do\(\))|(mul\(\d{0,3},\d{0,3}\))")
(map first)))
(defn parse-mul-instruction [mul-instruction]
(let [re #"\w+\((\w+),\s*(\w+)\)"
groups (re-matches re mul-instruction)]
(map parse-long (rest groups))))
(defn process-in-do [xf]
(let [prev (volatile! true)]
(fn
([] (xf))
([result] (xf result))
([result input]
(let [in-do? @prev]
(case input
"do()" (vreset! prev true)
"don't()" (vreset! prev false)
(when in-do? (xf result input))))))))
(defn question-3-a [input]
(let [instructions (get-instructions input)
xf (comp
(map parse-mul-instruction)
(filter seq?)
(map #(apply * %)))]
(transduce xf + 0 instructions)))
(defn question-3-b [input]
(let [instructions (get-instructions input)
xf (comp
process-in-do
(map parse-mul-instruction)
(map #(apply * %)))
products (sequence xf instructions)] ;; for some reason the transduce throws an exception
(reduce + 0 products)))
(defn -main []
(println "Solution to question 3-a is: " (question-3-a inputs/question-3))
(println "Solution to question 3-b is: " (question-3-b inputs/question-3)))