Compare commits
438 Commits
Author | SHA1 | Date |
---|---|---|
Alpha Chen | babaaebb45 | 7 months ago |
Alpha Chen | 2364abf76a | 10 months ago |
Alpha Chen | 48b7acdcea | 10 months ago |
Alpha Chen | 6f332e48d1 | 10 months ago |
Alpha Chen | 51c91ab2f2 | 10 months ago |
Alpha Chen | 2ac1c6069a | 10 months ago |
Alpha Chen | efda4ecb16 | 10 months ago |
Alpha Chen | b7a02fda85 | 10 months ago |
Alpha Chen | 957435a8ca | 10 months ago |
Alpha Chen | af98c2abc5 | 10 months ago |
Alpha Chen | 10da9e80a0 | 10 months ago |
Alpha Chen | 5bbeb5d969 | 10 months ago |
Alpha Chen | 4fa0141f5f | 10 months ago |
Alpha Chen | 16677ad6a4 | 10 months ago |
Alpha Chen | 74bf4a5213 | 10 months ago |
Alpha Chen | cba5517ee9 | 10 months ago |
Alpha Chen | 06068a3114 | 10 months ago |
Alpha Chen | 21e4174051 | 10 months ago |
Alpha Chen | 31afd41329 | 10 months ago |
Alpha Chen | 2928c03ce0 | 11 months ago |
Alpha Chen | eeb3633702 | 11 months ago |
Alpha Chen | 0da7444be5 | 11 months ago |
Alpha Chen | 28e35196f5 | 11 months ago |
Alpha Chen | 1118280a6e | 11 months ago |
Alpha Chen | 47ca37d8c2 | 11 months ago |
Alpha Chen | ed02032839 | 11 months ago |
Alpha Chen | a3706096c3 | 11 months ago |
Alpha Chen | 95a6798f7f | 11 months ago |
Alpha Chen | b5bfbcff0b | 11 months ago |
Alpha Chen | 7f25d2bde6 | 11 months ago |
Alpha Chen | ca65631b37 | 11 months ago |
Alpha Chen | 5d7fc5b308 | 11 months ago |
Alpha Chen | 794e3db35a | 11 months ago |
Alpha Chen | ee07a6130e | 11 months ago |
Alpha Chen | 8b21d78e9a | 11 months ago |
Alpha Chen | 8a81e989da | 11 months ago |
Alpha Chen | cc41e835ac | 11 months ago |
Alpha Chen | 9b6dd4cc53 | 11 months ago |
Alpha Chen | c87d7854bf | 11 months ago |
Alpha Chen | b8cd0faa3e | 11 months ago |
Alpha Chen | 1931b227df | 11 months ago |
Alpha Chen | 5525e8b7e5 | 11 months ago |
Alpha Chen | 1815ec7b1a | 11 months ago |
Alpha Chen | eb21642bf4 | 11 months ago |
Alpha Chen | 0d0cc439b0 | 11 months ago |
Alpha Chen | e6ae06a605 | 11 months ago |
Alpha Chen | 8c72adad6d | 11 months ago |
Alpha Chen | fc5821b277 | 11 months ago |
Alpha Chen | 6581325e8f | 11 months ago |
Alpha Chen | 5e542d90aa | 11 months ago |
Alpha Chen | 8677078287 | 11 months ago |
Alpha Chen | 37ac8ad85b | 11 months ago |
Alpha Chen | 5c2f1eb45f | 11 months ago |
Alpha Chen | 6db3326726 | 2 years ago |
Alpha Chen | b32bf143f9 | 2 years ago |
Alpha Chen | 5c4b1cb37e | 2 years ago |
Alpha Chen | a0a54eefff | 2 years ago |
Alpha Chen | a3bded6091 | 2 years ago |
Alpha Chen | b62bf80b86 | 2 years ago |
Alpha Chen | 6fb92a59ab | 2 years ago |
Alpha Chen | 7ced4db4a4 | 2 years ago |
Alpha Chen | ce623e16d1 | 2 years ago |
Alpha Chen | da36d561b8 | 2 years ago |
Alpha Chen | 4129a82f26 | 2 years ago |
Alpha Chen | adff292d00 | 2 years ago |
Alpha Chen | c5846c52e9 | 2 years ago |
Alpha Chen | d246206681 | 2 years ago |
Alpha Chen | c3c34b998c | 2 years ago |
Alpha Chen | 220c8853de | 2 years ago |
Alpha Chen | e12d4d7c63 | 2 years ago |
Alpha Chen | 44936f2906 | 2 years ago |
Alpha Chen | 7e89a0122f | 2 years ago |
Alpha Chen | 38b2c310a8 | 2 years ago |
Alpha Chen | b8a4ca01b4 | 2 years ago |
Alpha Chen | 762e65126a | 2 years ago |
Alpha Chen | f871f28d27 | 2 years ago |
Alpha Chen | 88c3c73d2f | 2 years ago |
Alpha Chen | cdbcffdda5 | 2 years ago |
Alpha Chen | 3782908dbb | 2 years ago |
Alpha Chen | caaa3da525 | 2 years ago |
Alpha Chen | ea26a19bc0 | 2 years ago |
Alpha Chen | f67bc7bd27 | 2 years ago |
Alpha Chen | 1fa98d82d6 | 2 years ago |
Alpha Chen | fac81cb212 | 2 years ago |
Alpha Chen | f8a61202fc | 2 years ago |
Alpha Chen | e666ab9344 | 2 years ago |
Alpha Chen | 34ce71c8b6 | 2 years ago |
Alpha Chen | c92d5a4346 | 2 years ago |
Alpha Chen | a8f19091f7 | 2 years ago |
Alpha Chen | e9093934cf | 2 years ago |
Alpha Chen | 74d3bef510 | 2 years ago |
Alpha Chen | ccdfedbbb6 | 2 years ago |
Alpha Chen | e1016ab913 | 2 years ago |
Alpha Chen | 049eedabf4 | 2 years ago |
dependabot[bot] | b61b268c6e | 2 years ago |
dependabot[bot] | 7b145e68f7 | 2 years ago |
dependabot[bot] | b8a3ca273b | 2 years ago |
dependabot[bot] | 31a381eb5d | 2 years ago |
dependabot[bot] | e8eeea82d4 | 2 years ago |
Alpha Chen | 1fb181e7d2 | 3 years ago |
Alpha Chen | 76266b5bf3 | 3 years ago |
Alpha Chen | a0ff324262 | 3 years ago |
Alpha Chen | 289d452904 | 3 years ago |
Alpha Chen | 2196242eea | 3 years ago |
Alpha Chen | 169491113a | 3 years ago |
Alpha Chen | 8c5c67ae24 | 3 years ago |
Alpha Chen | 28d2d2ca0c | 3 years ago |
Alpha Chen | f274c589c0 | 3 years ago |
Alpha Chen | cd8a8345b3 | 3 years ago |
Alpha Chen | f23af95c02 | 3 years ago |
Alpha Chen | 8e38040c04 | 3 years ago |
Alpha Chen | b7e00339a3 | 3 years ago |
Alpha Chen | 4d7ad2055f | 3 years ago |
Alpha Chen | 963a61b14e | 3 years ago |
Alpha Chen | 8f7c9985a5 | 3 years ago |
Alpha Chen | d40179f8c1 | 3 years ago |
Alpha Chen | d29ae63a86 | 3 years ago |
Alpha Chen | 212ef6a381 | 3 years ago |
Alpha Chen | 5145a17ba2 | 3 years ago |
Alpha Chen | aa66d3ed86 | 3 years ago |
Alpha Chen | 96072c90c3 | 3 years ago |
Alpha Chen | 1a3d489be8 | 3 years ago |
Alpha Chen | 038495b353 | 3 years ago |
Alpha Chen | 1aeb80d0eb | 3 years ago |
Alpha Chen | 63778c56b7 | 3 years ago |
Alpha Chen | 0c92ce7de7 | 3 years ago |
Alpha Chen | ff6f142e2b | 3 years ago |
Alpha Chen | 367a35f400 | 3 years ago |
Alpha Chen | c6e95f860f | 3 years ago |
Alpha Chen | ea42e4bbc8 | 3 years ago |
Alpha Chen | 86cd480264 | 3 years ago |
Alpha Chen | ce57cc41da | 4 years ago |
Alpha Chen | 24a173d106 | 4 years ago |
Alpha Chen | bb763d6644 | 4 years ago |
Alpha Chen | 1a30bb23a1 | 4 years ago |
Alpha Chen | 319dd0129b | 4 years ago |
Alpha Chen | a9797560cf | 4 years ago |
Alpha Chen | f057404538 | 4 years ago |
Alpha Chen | 45212a6916 | 4 years ago |
Alpha Chen | 5bcd40bef6 | 4 years ago |
Alpha Chen | 5ecce65bb5 | 4 years ago |
Alpha Chen | 969f06d4d0 | 4 years ago |
Alpha Chen | f40f2356d3 | 4 years ago |
Alpha Chen | 2c8cff45b0 | 4 years ago |
Alpha Chen | e1d1092a8b | 4 years ago |
Alpha Chen | 35b1015882 | 4 years ago |
Alpha Chen | 9919db1887 | 4 years ago |
Alpha Chen | 1f6f3b62f6 | 4 years ago |
Alpha Chen | be245847a2 | 4 years ago |
Alpha Chen | 019d9eae12 | 4 years ago |
Alpha Chen | 5949372ee0 | 4 years ago |
Alpha Chen | f668b8256d | 4 years ago |
Alpha Chen | b727f41bd0 | 4 years ago |
Alpha Chen | c9ad797075 | 4 years ago |
Alpha Chen | 900a3e13b2 | 4 years ago |
Alpha Chen | a17445636d | 4 years ago |
Alpha Chen | ffcf15c67e | 4 years ago |
Alpha Chen | ad8fb67c6c | 4 years ago |
Alpha Chen | 47b07ceb34 | 4 years ago |
Alpha Chen | 77256e1bf8 | 4 years ago |
Alpha Chen | 771ad5c052 | 4 years ago |
Alpha Chen | 074fbc54d6 | 4 years ago |
Alpha Chen | 231f971888 | 4 years ago |
Alpha Chen | 7521f3c9d4 | 4 years ago |
Alpha Chen | 7f46f39d8d | 4 years ago |
Alpha Chen | 95b912211d | 4 years ago |
Alpha Chen | 8d30b0713c | 4 years ago |
Alpha Chen | 73ca0bca60 | 4 years ago |
Alpha Chen | 7a2dee465d | 4 years ago |
Alpha Chen | e49d6c4bef | 4 years ago |
Alpha Chen | 5fa382329f | 4 years ago |
Alpha Chen | f5660e8938 | 4 years ago |
Alpha Chen | cccdf1e45e | 4 years ago |
Alpha Chen | a369ffb751 | 4 years ago |
Alpha Chen | eea91b1ed5 | 4 years ago |
Alpha Chen | 3601c50b22 | 4 years ago |
Alpha Chen | ea6d3fed3b | 4 years ago |
Alpha Chen | 4dd5e8d920 | 4 years ago |
Alpha Chen | a9f664f3f3 | 4 years ago |
Alpha Chen | 25d32aa998 | 4 years ago |
Alpha Chen | 61afcde94e | 5 years ago |
Alpha Chen | f0c024d28f | 5 years ago |
Alpha Chen | 6fa37294de | 5 years ago |
Alpha Chen | 850d181bdc | 5 years ago |
Alpha Chen | 85cdc38184 | 5 years ago |
Alpha Chen | 975834ce55 | 5 years ago |
Alpha Chen | 10ace7d99a | 5 years ago |
Alpha Chen | cb2379477b | 5 years ago |
Alpha Chen | df20ad0139 | 5 years ago |
Alpha Chen | 7f751bdfee | 5 years ago |
Alpha Chen | cfef580250 | 5 years ago |
Alpha Chen | dc76d7df9d | 5 years ago |
Alpha Chen | 43356b2e0c | 5 years ago |
Alpha Chen | 5beb8a1276 | 5 years ago |
Alpha Chen | 33786055b9 | 5 years ago |
Alpha Chen | a577d0b72c | 5 years ago |
Alpha Chen | 2329172f86 | 5 years ago |
Alpha Chen | a28f8de0b2 | 5 years ago |
Alpha Chen | 631b2642b4 | 5 years ago |
Alpha Chen | 2c8fca3bd5 | 5 years ago |
Alpha Chen | d0feb92fff | 5 years ago |
Alpha Chen | e26311a480 | 5 years ago |
Alpha Chen | 09fbb72f66 | 5 years ago |
Alpha Chen | 3e1c3c2b7b | 5 years ago |
Alpha Chen | 897cc6c162 | 5 years ago |
Alpha Chen | 475ad99996 | 5 years ago |
Alpha Chen | 4179982a82 | 5 years ago |
Alpha Chen | 67a85cad42 | 5 years ago |
Alpha Chen | a3d275c27d | 5 years ago |
Alpha Chen | 4bb34be4a6 | 5 years ago |
Alpha Chen | 2072187d16 | 5 years ago |
Alpha Chen | a3164c03be | 5 years ago |
Alpha Chen | b15f5ee2a1 | 5 years ago |
Alpha Chen | 039d772758 | 6 years ago |
Alpha Chen | fb264f5cd7 | 6 years ago |
Alpha Chen | b4268b951a | 6 years ago |
Alpha Chen | 7b06cf7090 | 6 years ago |
Alpha Chen | e008591ae7 | 6 years ago |
Alpha Chen | f5f071aef9 | 6 years ago |
Alpha Chen | c8bb7afcbe | 6 years ago |
Alpha Chen | d9508f683d | 6 years ago |
Alpha Chen | ebbe80bde3 | 6 years ago |
Alpha Chen | 0004f96f22 | 6 years ago |
Alpha Chen | feb1b7b125 | 6 years ago |
Alpha Chen | e00ad687ce | 6 years ago |
Alpha Chen | 2b303f545b | 6 years ago |
Alpha Chen | 169c3948e2 | 6 years ago |
Alpha Chen | bd8e6fbfb0 | 6 years ago |
Alpha Chen | 765df90cbc | 6 years ago |
Alpha Chen | c0240268c1 | 6 years ago |
Alpha Chen | cbc8dac1c9 | 6 years ago |
Alpha Chen | df0c1df525 | 6 years ago |
Alpha Chen | 13e41a2d43 | 6 years ago |
Alpha Chen | fce896c7a1 | 6 years ago |
Alpha Chen | 6ea464218d | 6 years ago |
Alpha Chen | a736bc9945 | 6 years ago |
Alpha Chen | 3eb289c5bd | 6 years ago |
Alpha Chen | 6db726ac8c | 6 years ago |
Alpha Chen | 6426ce898e | 6 years ago |
Alpha Chen | cbe51dc6e1 | 6 years ago |
Alpha Chen | c911c4d72a | 6 years ago |
Alpha Chen | ad57cc604e | 6 years ago |
Alpha Chen | 1a0318127f | 6 years ago |
Alpha Chen | a09a82c05d | 6 years ago |
Alpha Chen | caa0ec1553 | 6 years ago |
Alpha Chen | c470c4ed9d | 6 years ago |
Alpha Chen | 96dfd74aed | 6 years ago |
Alpha Chen | 09cbeea533 | 6 years ago |
Alpha Chen | df293cb0bb | 6 years ago |
Alpha Chen | 28f8fa5d24 | 6 years ago |
Alpha Chen | ac044c28d0 | 6 years ago |
Alpha Chen | 91df0a6eb3 | 6 years ago |
Alpha Chen | af2d2469fa | 6 years ago |
Alpha Chen | 337fa5835b | 6 years ago |
Alpha Chen | 4576ad656c | 6 years ago |
Alpha Chen | 958353d539 | 6 years ago |
Alpha Chen | cb3a816c79 | 6 years ago |
Alpha Chen | a1d43b9a70 | 6 years ago |
Alpha Chen | 94700534c0 | 6 years ago |
Alpha Chen | 4839a9e6de | 6 years ago |
Alpha Chen | f778e68558 | 6 years ago |
Alpha Chen | 8799d3e75d | 6 years ago |
Alpha Chen | 8aa06e54fd | 6 years ago |
Alpha Chen | 6b086acd5b | 6 years ago |
Alpha Chen | c807f716da | 6 years ago |
Alpha Chen | 7e3f8f8b10 | 6 years ago |
Alpha Chen | 7d0de7aa2b | 6 years ago |
Alpha Chen | ea3cc23c7c | 6 years ago |
Alpha Chen | 8e30e3155e | 6 years ago |
Alpha Chen | 5995c5d54d | 6 years ago |
Alpha Chen | b69bfd2821 | 6 years ago |
Alpha Chen | 230a368660 | 6 years ago |
Alpha Chen | 27577d0647 | 6 years ago |
Alpha Chen | a122d9e993 | 6 years ago |
Alpha Chen | 0b6e22c056 | 6 years ago |
Alpha Chen | 0a35d1e28c | 6 years ago |
Alpha Chen | 80877a6978 | 6 years ago |
Alpha Chen | 70fcbd804a | 6 years ago |
Alpha Chen | 15953efb0f | 6 years ago |
Alpha Chen | df42ca7275 | 6 years ago |
Alpha Chen | 53ce2c6898 | 6 years ago |
Alpha Chen | 6e8f39dbd2 | 6 years ago |
Alpha Chen | 57655c6a21 | 6 years ago |
Alpha Chen | ba3c219b7f | 6 years ago |
Alpha Chen | 0443116fde | 6 years ago |
Alpha Chen | 71fb3478c3 | 6 years ago |
Alpha Chen | cf72591813 | 6 years ago |
Alpha Chen | af6a02c6a2 | 6 years ago |
Alpha Chen | a0ac96a8ea | 6 years ago |
Alpha Chen | 971f8c3c71 | 6 years ago |
Alpha Chen | 4919c00a1b | 6 years ago |
Alpha Chen | 7eae195b2a | 6 years ago |
Alpha Chen | 52cbaef2b1 | 6 years ago |
Alpha Chen | 7ececd84fc | 6 years ago |
Alpha Chen | bf79c7262e | 6 years ago |
Alpha Chen | d8651623f8 | 6 years ago |
Alpha Chen | ca701f2f9b | 6 years ago |
Alpha Chen | 8119cc4b6a | 6 years ago |
Alpha Chen | f1fcda6e4b | 7 years ago |
Alpha Chen | 7b82b90b4c | 7 years ago |
Alpha Chen | e596f64a69 | 7 years ago |
Alpha Chen | b22b3a3481 | 7 years ago |
Alpha Chen | 71575ca08a | 7 years ago |
Alpha Chen | bb8f1c5da3 | 7 years ago |
Alpha Chen | 2fb5e076e0 | 7 years ago |
Alpha Chen | 608047c8bf | 7 years ago |
Alpha Chen | ef8fb4a6b7 | 7 years ago |
Alpha Chen | abb3a82b4c | 7 years ago |
Alpha Chen | 4d7d0fc602 | 7 years ago |
Alpha Chen | d1924f5742 | 7 years ago |
Alpha Chen | fd07f77699 | 7 years ago |
Alpha Chen | 857b9c34be | 7 years ago |
Alpha Chen | 91cfc13777 | 7 years ago |
Alpha Chen | fc1e8e4c33 | 7 years ago |
Alpha Chen | cb7d65b004 | 7 years ago |
Alpha Chen | 6901d71abb | 7 years ago |
Alpha Chen | 27051203b9 | 7 years ago |
Alpha Chen | 614ff8b722 | 7 years ago |
Alpha Chen | 6cff27d507 | 7 years ago |
Alpha Chen | 8872c7cbc7 | 7 years ago |
Alpha Chen | fea6adcf63 | 7 years ago |
Alpha Chen | e39e95e20a | 7 years ago |
Alpha Chen | 9c21ad5341 | 7 years ago |
Alpha Chen | 5b874c234e | 7 years ago |
Alpha Chen | d447e45d11 | 7 years ago |
Alpha Chen | 1516d44017 | 7 years ago |
Alpha Chen | 982872a2d5 | 7 years ago |
Alpha Chen | 40ee1eca57 | 7 years ago |
Alpha Chen | 3cd71f81a2 | 7 years ago |
Alpha Chen | 9ff29145e6 | 7 years ago |
Alpha Chen | be421a9943 | 7 years ago |
Alpha Chen | 753be41e95 | 7 years ago |
Alpha Chen | 97bca3fb13 | 7 years ago |
Alpha Chen | 14063c8ad4 | 7 years ago |
Alpha Chen | 4c0b47a24e | 7 years ago |
Alpha Chen | 86a3a036a0 | 7 years ago |
Alpha Chen | 8d26a5df6a | 7 years ago |
Alpha Chen | 7d36ddd8fe | 7 years ago |
Alpha Chen | 68c7b41fc6 | 7 years ago |
Alpha Chen | e84427d454 | 7 years ago |
Alpha Chen | 6acc2899be | 7 years ago |
Alpha Chen | 26ac38d39f | 7 years ago |
Alpha Chen | c5365a4532 | 7 years ago |
Alpha Chen | 94ff845701 | 7 years ago |
Alpha Chen | d1fa40d64c | 7 years ago |
Alpha Chen | 94ee2fe1ff | 8 years ago |
Alpha Chen | c785492970 | 8 years ago |
Alpha Chen | 148f22eccd | 8 years ago |
Alpha Chen | d184b50122 | 8 years ago |
Alpha Chen | 94267f9c3b | 8 years ago |
Alpha Chen | c493689f5d | 8 years ago |
Alpha Chen | 5586d6eff1 | 8 years ago |
Alpha Chen | 60b7d8835d | 8 years ago |
Alpha Chen | 275e6b5f21 | 8 years ago |
Alpha Chen | 8438d1c6ba | 8 years ago |
Alpha Chen | ce6c9cd335 | 8 years ago |
Alpha Chen | 6c4bb78c98 | 8 years ago |
Alpha Chen | 634179bac5 | 8 years ago |
Alpha Chen | 1f51aca81c | 8 years ago |
Alpha Chen | 020f34f3e5 | 8 years ago |
Alpha Chen | 01cfb8261c | 8 years ago |
Alpha Chen | 2585163655 | 8 years ago |
Alpha Chen | b457ce5027 | 8 years ago |
Alpha Chen | 499d8d13e5 | 8 years ago |
Alpha Chen | e1128f8bca | 8 years ago |
Alpha Chen | 143f149736 | 8 years ago |
Alpha Chen | af660a1137 | 8 years ago |
Alpha Chen | ffaed85e78 | 8 years ago |
Alpha Chen | ce59553d97 | 8 years ago |
Alpha Chen | 2141980e12 | 8 years ago |
Alpha Chen | 570745e381 | 8 years ago |
Alpha Chen | b67e838c4e | 8 years ago |
Alpha Chen | f95ba52ef9 | 8 years ago |
Alpha Chen | 999f1e2f19 | 8 years ago |
Alpha Chen | 54a44cd143 | 8 years ago |
Alpha Chen | 3c99f5cf03 | 8 years ago |
Alpha Chen | 592d8b2384 | 8 years ago |
Alpha Chen | f3bd338b7d | 8 years ago |
Alpha Chen | 2e1eba56a5 | 8 years ago |
Alpha Chen | b4335dda72 | 8 years ago |
Alpha Chen | ba95efbf88 | 8 years ago |
Alpha Chen | 56ee9d38ac | 8 years ago |
Alpha Chen | 2a88514e06 | 8 years ago |
Alpha Chen | 9530c0c866 | 8 years ago |
Alpha Chen | 72d6fa5be9 | 8 years ago |
Alpha Chen | 2689553af0 | 8 years ago |
Alpha Chen | face2d85f8 | 8 years ago |
Alpha Chen | e8da699cbf | 8 years ago |
Alpha Chen | 0a29864ab9 | 8 years ago |
Alpha Chen | d81c34cc54 | 8 years ago |
Alpha Chen | 7f84a1a0a9 | 8 years ago |
Alpha Chen | 3b5081797f | 8 years ago |
Alpha Chen | 29cf85dbfd | 8 years ago |
Alpha Chen | e9910aa0d8 | 8 years ago |
Alpha Chen | 39f73f6935 | 8 years ago |
Alpha Chen | 6aed853bd4 | 8 years ago |
Alpha Chen | dba149888b | 8 years ago |
Alpha Chen | daa060d799 | 8 years ago |
Alpha Chen | e8bd4f505e | 8 years ago |
Alpha Chen | 3c1f21c490 | 8 years ago |
Alpha Chen | 241bb17304 | 8 years ago |
Alpha Chen | 0ff8f7b122 | 8 years ago |
Alpha Chen | 3b132cc220 | 8 years ago |
Alpha Chen | b7fb46656a | 8 years ago |
Alpha Chen | eeb4f8366c | 8 years ago |
Alpha Chen | a78bb9d70a | 8 years ago |
Alpha Chen | fd2ceadf02 | 8 years ago |
Alpha Chen | f98e9ebacf | 8 years ago |
Alpha Chen | 5d8533ded8 | 8 years ago |
Alpha Chen | 3cd8d40734 | 8 years ago |
Alpha Chen | 5fb35f9dd9 | 8 years ago |
Alpha Chen | 7970c23d88 | 8 years ago |
Alpha Chen | 053b51107d | 8 years ago |
Alpha Chen | e695938abf | 8 years ago |
Alpha Chen | b443ba5312 | 8 years ago |
Alpha Chen | 9b626fae46 | 8 years ago |
Alpha Chen | 605591ffdb | 8 years ago |
Alpha Chen | 92a1c0f285 | 8 years ago |
Alpha Chen | 60c6352c46 | 8 years ago |
Alpha Chen | b501d324af | 8 years ago |
Alpha Chen | 9fdfa3d687 | 8 years ago |
Alpha Chen | bc6d0e2396 | 8 years ago |
Alpha Chen | 9d39b06eb7 | 8 years ago |
Alpha Chen | 94f5dfb200 | 8 years ago |
Alpha Chen | d93aff516a | 8 years ago |
Alpha Chen | 2b7b747ca5 | 8 years ago |
Alpha Chen | 0bbc89d1a1 | 8 years ago |
Alpha Chen | a9c33e4b4a | 8 years ago |
Alpha Chen | 1abcc5d723 | 8 years ago |
Alpha Chen | b63381ffa8 | 8 years ago |
Alpha Chen | 452531e4bc | 8 years ago |
Alpha Chen | 4aaa3f75a5 | 8 years ago |
Alpha Chen | 53f60cb565 | 8 years ago |
Alpha Chen | f15f6bcec0 | 8 years ago |
Alpha Chen | b5e5566d5e | 8 years ago |
Alpha Chen | ddbface9e5 | 8 years ago |
Alpha Chen | b77d565b97 | 8 years ago |
Alpha Chen | 7400e16789 | 8 years ago |
@ -0,0 +1 @@
|
|||||||
|
**/rust/target
|
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "2022/bqn/lib"]
|
||||||
|
path = 2022/bqn/lib
|
||||||
|
url = https://github.com/mlochbaum/bqn-libs.git
|
@ -0,0 +1,145 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advapi32-sys"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "307c92332867e586720c0222ee9d890bbe8431711efed8a1b06bc5b40fc66bd7"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
"winapi-build",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advent_of_code"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"permutohedron",
|
||||||
|
"regex",
|
||||||
|
"rust-crypto",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aho-corasick"
|
||||||
|
version = "0.7.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gcc"
|
||||||
|
version = "0.3.21"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ca10e3e1f1c8278047da19b94dc17c4397861150d5fbcea052eedb1d9847d356"
|
||||||
|
dependencies = [
|
||||||
|
"advapi32-sys",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "kernel32-sys"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b5b5e7edf375e6d26243bde172f1d5ed1446f4a766fc9b7006e1fd27258243f1"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
"winapi-build",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.1.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e32a70cf75e5846d53a673923498228bbec6a8624708a9ea5645f075d6276122"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "10569e57695cc2c91ca4214357907649c9e242dc822c9ae623d0e0b0d68aa4d9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "permutohedron"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "abf78a1e8b52782de92fc4f361362a62bcf5fd5718b5432b48cb381485740b83"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.3.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5eee40bdf3d293e1648490ab47e5471d9ab3e455e6b0bd48e558c454be4a015e"
|
||||||
|
dependencies = [
|
||||||
|
"advapi32-sys",
|
||||||
|
"libc 0.2.4",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex"
|
||||||
|
version = "1.5.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.6.26"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rust-crypto"
|
||||||
|
version = "0.2.34"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b8672a8eb8db93d0938972e391159ba66912b415285ee5cf0ebe732df9e53b70"
|
||||||
|
dependencies = [
|
||||||
|
"gcc",
|
||||||
|
"libc 0.1.12",
|
||||||
|
"rand",
|
||||||
|
"rustc-serialize",
|
||||||
|
"time",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-serialize"
|
||||||
|
version = "0.3.16"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1a48546a64cae47d06885e9bccadb99d0547d877a94c5167fa451ea33a484456"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "time"
|
||||||
|
version = "0.1.34"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8c4aeaa1c95974f5763c3a5ac0db95a19793589bcea5d22e161b5587e3aad029"
|
||||||
|
dependencies = [
|
||||||
|
"kernel32-sys",
|
||||||
|
"libc 0.2.4",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.2.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dc3583688b861fcd83c2823d37cf2cd2446c233dd7ba3f97884d1a7302817537"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-build"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
@ -0,0 +1 @@
|
|||||||
|
R4, R3, L3, L2, L1, R1, L1, R2, R3, L5, L5, R4, L4, R2, R4, L3, R3, L3, R3, R4, R2, L1, R2, L3, L2, L1, R3, R5, L1, L4, R2, L4, R3, R1, R2, L5, R2, L189, R5, L5, R52, R3, L1, R4, R5, R1, R4, L1, L3, R2, L2, L3, R4, R3, L2, L5, R4, R5, L2, R2, L1, L3, R3, L4, R4, R5, L1, L1, R3, L5, L2, R76, R2, R2, L1, L3, R189, L3, L4, L1, L3, R5, R4, L1, R1, L1, L1, R2, L4, R2, L5, L5, L5, R2, L4, L5, R4, R4, R5, L5, R3, L1, L3, L1, L1, L3, L4, R5, L3, R5, R3, R3, L5, L5, R3, R4, L3, R3, R1, R3, R2, R2, L1, R1, L3, L3, L3, L1, R2, L1, R4, R4, L1, L1, R3, R3, R4, R1, L5, L2, R2, R3, R2, L3, R4, L5, R1, R4, R5, R4, L4, R1, L3, R1, R3, L2, L3, R1, L2, R3, L3, L1, L3, R4, L4, L5, R3, R5, R4, R1, L2, R3, R5, L5, L4, L1, L1
|
@ -0,0 +1,5 @@
|
|||||||
|
RDRRDLRRUDRUUUULDDRDUULLDUULDURDDUDRULDLUDDRLRDUDDURRRRURDURLLRDRUUULDLLLURDRLLULLUULULLLDLLLRRURRLRDUULRURRUDRRDRLURLRURLLULRUURRUURDDLDRDLDLLUDUULLLUUUUDULLDRRUURLDURDDDDDRLLRRURDLUDRRUUDLRRLLRDURDUDDDLRDDRDLRULLUULRULRLLULDDRURUUDLDDULDRLLURDDUDDUDRDUDLDRRRDURRLDRDRLDLLDUDDDULULRRULRLLURDRRDDUUUUUULRUDLRRDURDLRDLUDLDURUDDUUURUDLUUULDLRDURDLDUUDLDDDURUUDUUDRLRDULLDUULUDRUDRLRRRDLLDRUDULRRUDDURLDRURRLLRRRDRLLDLULULRRUURRURLLUDRRLRULURLDDDDDURUDRRRRULLUUDLDDLUUL
|
||||||
|
ULURUDLULDULDLLDDLLLDRRLLUDRRDRDUDURUDLRRRRUDRDDURLRRULLDLURLDULLUDDLUDURDUURRRRLDLRLDDULLRURLULLDDRUDLRRRLDRRRDLDRLLDDRRDDLUUDRUDDLULRURLDURRLLDLRUDLLRRUULUDRLLLRLDULURRRRRDDUURDRRUUDULRUULDDULRLUDLUDDULLRLRDDLRLLURRRULDLRRRUURRLDDRDLRDLRRDRDLDRDUDRDURUUDRLRRULRDLLDLLRRRDRLDRLRLRLLLURURDULUUDDRLLDDDRURRURLRDDULLRURUDRRDRLRRRLDLRLRULDRLUURRUUULRLDLLURLLLDLLLDRRDULRURRRRLUDLLRRUDLRUDRURDRRDLUUURRDLRLRUUUDURDLUDURRUUDURLUDDDULLDRDLLDDDRLDDDRLDLDDDDUDUUDURUUDULRDDLULDRDRLURLUDRDLUULLULRLULRDDRULDUDDURUURULUDLUURLURU
|
||||||
|
URLURDDRLLURRRLDLDLUDUURDRUDLLLRRDLUUULRRLURRRLUDUDLRLDDRUDLRRRULUDUDLLLULULLLRUDULDDDLLLRRRLRURDULUDDDULDLULURRRDLURDLRLLDUDRUDURDRRURULDRDUDLLRDDDUDDURLUULLULRDRRLDDLDURLRRRLDRDLDULRULRRRLRLLDULRDLURLRUUDURRUUDLLUDRUDLRLDUUDLURRRDDUUDUDRLDLDDRURDDLLDDRDLRLRDLLLUDLUUDRLRLRDDRDLRDLLUULLLLUULLDLLDLRDLRLRRLUUDLLRLRUDRURULRLRLULUDRLLUDDUDDULRLDDRUUUURULDRRULLLDUURULUDRLLURLRRLDLRRLDDRRRDUDDUDLDDLULUDDUURDLLLRLDLRDRUUUUUDDDLDRDDRRRLRURRRRDURDRURUDLURRURDRLRUUDDLDRRULLDURDRLRRDURURUULRDUDLDRDDLULULRDRRUDDRLLRLULRLLUUDRDUUDDUDLRUUDLLUULLRUULUDDLURRRLLDRLRRLLRULLDUULURLLLLUUULDR
|
||||||
|
LDUURULLRLDRRUUDUUUURUUUDDDURRDDLRDLLRDDRULDDUURUDDURLLUDRDUDRDULDRRRLULUDRULLLLDRLLDRDLDLLRURULUDDDDURDDDRLLUDLDRULRDLDUDDDUUDLLRLLLDLRLRLRRUDDULDDDUDLDDLUDDULDLLLLULLLLDDURDDURRRDDRLRLLUDLLUDDDUDURUDRLRDRULULDDRULDLULULLRUULRLDULUURRDRDRRDLDDDRRLUULDLUDRDDUDLRURULLDDURLDDRULUDLDDDRDRLLRDLLUURRRURDRLRURLDDLURDRURDDURLLRLRUDUUDLDUDURRDDURDRDDUDDDUDUURURDDLLRUUDDRRDULDDLLDLRULUULRUUDLLDRLULDULDDUDLULRULDRLLDUULDDDLRLLRLULDDULDDRRRLDRRLURULRDDRDLRRDUDDRDRRRRUDUDLLRRDRRURRUURDRULDDUDURLUDDURDUDRDUULLDRURUURURDRRLDDLDLUURLULRUDURDRUUURRURRDRUDRUURDURLRULULLLULDLLDLRRLDRDLUULUDDDLRDRLRLDRUDUDRLLRL
|
||||||
|
LURLUURLURDUUDRUDLDLLURRRDLDRRRULDDRRDRDUUDRUDURDDDURLUDDLULUULRRLLRULUDRDDRRRLDURDUDDURDDDLRLDDLULLDRDDLUUDUURRRLULRUURRRRLLULDUDRDUURRRURRDRDUDUDLUDULLDLDDRLUDRURDULURLURRLLURLLLRLUURLRUDLUDDRLURRUULULRLURRURUDURDLDLDDUDDRDLLRLLRRULDDRUDURUDDDUDLLRDLRUDULLLRRRUURUDUUULLRDUDRURUDULLDLLUUUDRULRLLRRDDDDUDULDRDRLLDDLLDDDURRUDURLDLRDRUURDDURLRDRURLRRLLRLULDRRLRUDURDUURRLUUULUDDDLRLULRDRLLURRRDLURDUUDRRRLUURRLLUDLUDLUULLRRDLLRDDRURRUURLDDLRLRLRUDLDLRLRDRRDLLLRDLRDUDLLDDDRD
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,598 @@
|
|||||||
|
eqvmfqnf
|
||||||
|
jvkezmqt
|
||||||
|
zcssqwlw
|
||||||
|
cuacncgg
|
||||||
|
ikmpzpoh
|
||||||
|
dzpzobdl
|
||||||
|
qlsnuhuq
|
||||||
|
fwqnoklz
|
||||||
|
cibgplfq
|
||||||
|
ktsqfcrv
|
||||||
|
vcknjnnx
|
||||||
|
upaiaprz
|
||||||
|
bpqmolbq
|
||||||
|
dflhnpnk
|
||||||
|
heqjflch
|
||||||
|
cmewgodc
|
||||||
|
aaorgxkn
|
||||||
|
plekphpw
|
||||||
|
fcofrbnm
|
||||||
|
bmnrygtb
|
||||||
|
rqsqsqio
|
||||||
|
rnlntwxa
|
||||||
|
cxjqqfyl
|
||||||
|
jxjnxchb
|
||||||
|
kfgutxmi
|
||||||
|
cbciszxd
|
||||||
|
irakoonu
|
||||||
|
pcgfnycg
|
||||||
|
fgeivexo
|
||||||
|
ujxdaehw
|
||||||
|
ejkvrych
|
||||||
|
nhlklbgr
|
||||||
|
etjuhgry
|
||||||
|
mkgkmykm
|
||||||
|
teuhrfto
|
||||||
|
juqfslbn
|
||||||
|
tbwxabzi
|
||||||
|
ngdnwsey
|
||||||
|
amcibkyo
|
||||||
|
xlvxwqpj
|
||||||
|
vdbzuvkh
|
||||||
|
gkagbzep
|
||||||
|
kqxzkeip
|
||||||
|
bxccztho
|
||||||
|
vqrywqlc
|
||||||
|
jbzhecjc
|
||||||
|
ozkulgxo
|
||||||
|
uiwbofuk
|
||||||
|
vfwhdnao
|
||||||
|
tycxucwd
|
||||||
|
jvhuljfs
|
||||||
|
xxhqhruc
|
||||||
|
upnndiiz
|
||||||
|
andxywil
|
||||||
|
lowofbqv
|
||||||
|
iroqzrry
|
||||||
|
nmkkqqjb
|
||||||
|
daijrfna
|
||||||
|
jmcstxlq
|
||||||
|
jdefvuaa
|
||||||
|
nkbmowfi
|
||||||
|
agotazda
|
||||||
|
kufoymrn
|
||||||
|
yijwfjyi
|
||||||
|
hyqvaouj
|
||||||
|
soueuhln
|
||||||
|
oomsbkmh
|
||||||
|
buadtssf
|
||||||
|
rvgpeeza
|
||||||
|
hjiymcmd
|
||||||
|
ebgivdap
|
||||||
|
xzieipbg
|
||||||
|
ttpudwqt
|
||||||
|
hndwuncw
|
||||||
|
wqypfkvf
|
||||||
|
jqxuaipm
|
||||||
|
fzwlgxxq
|
||||||
|
ddshbtya
|
||||||
|
ardlcgyi
|
||||||
|
soznvuyw
|
||||||
|
vyizuolp
|
||||||
|
ckfaxyvs
|
||||||
|
nbsjkibi
|
||||||
|
lsrkrdzp
|
||||||
|
oqoffwxa
|
||||||
|
bdugjlsm
|
||||||
|
rtcsylfd
|
||||||
|
fezoiliq
|
||||||
|
zwpaphcb
|
||||||
|
sdlouhyf
|
||||||
|
cfejwvls
|
||||||
|
xehddxku
|
||||||
|
edhrtdcv
|
||||||
|
ehouagvy
|
||||||
|
hoyxjfsj
|
||||||
|
quggpnpx
|
||||||
|
muqbijbe
|
||||||
|
rcnniddd
|
||||||
|
kzfeiaui
|
||||||
|
sywienef
|
||||||
|
xpxftuvq
|
||||||
|
dtbhnslt
|
||||||
|
mpcpkmfa
|
||||||
|
wysutlci
|
||||||
|
fmqomicz
|
||||||
|
mhshprxr
|
||||||
|
uxwfcftt
|
||||||
|
ehbonsrl
|
||||||
|
pjobilxx
|
||||||
|
chiebfox
|
||||||
|
lqfxgyqg
|
||||||
|
vupcjatm
|
||||||
|
wfljafhc
|
||||||
|
iygojeny
|
||||||
|
gqxmgneu
|
||||||
|
nhlwllak
|
||||||
|
xnkqpulv
|
||||||
|
awijbvef
|
||||||
|
pbcrrwqo
|
||||||
|
dobsejtb
|
||||||
|
dqdoapkc
|
||||||
|
hngrxdtx
|
||||||
|
dodsxysb
|
||||||
|
bmtyelak
|
||||||
|
cctuwwvt
|
||||||
|
rytlmoyr
|
||||||
|
fqnbuxdi
|
||||||
|
irrqladc
|
||||||
|
wnvtsneg
|
||||||
|
ugqqdmlj
|
||||||
|
nljnjiod
|
||||||
|
knidxxzh
|
||||||
|
dfymoqgt
|
||||||
|
fwgtjafh
|
||||||
|
fpdioivz
|
||||||
|
tqbewmti
|
||||||
|
mcqtbbee
|
||||||
|
pivfrpou
|
||||||
|
tdyguuos
|
||||||
|
eldmvvmi
|
||||||
|
oaiqnizz
|
||||||
|
fyqpxgwa
|
||||||
|
lzcxsazq
|
||||||
|
zhsoljwz
|
||||||
|
qnzafmjl
|
||||||
|
oopnnndl
|
||||||
|
cozehoor
|
||||||
|
bspuwzxm
|
||||||
|
ubtunnep
|
||||||
|
smdhpvxr
|
||||||
|
nsvxiwje
|
||||||
|
mmqcklsm
|
||||||
|
hhxaciaq
|
||||||
|
zzgoxhws
|
||||||
|
fvntouun
|
||||||
|
skxzmzyg
|
||||||
|
znptwuqu
|
||||||
|
aknwvojo
|
||||||
|
wftmjrsf
|
||||||
|
gahrordj
|
||||||
|
oegnykag
|
||||||
|
lvlqswph
|
||||||
|
qsowvoem
|
||||||
|
sjspasfp
|
||||||
|
ygjohzfd
|
||||||
|
jeuxigsi
|
||||||
|
lgxdtudx
|
||||||
|
qadlkrel
|
||||||
|
lpfxosdq
|
||||||
|
sgaoqkzr
|
||||||
|
rtlvuhfv
|
||||||
|
ftbbsgbn
|
||||||
|
kjxttiqu
|
||||||
|
gylikswu
|
||||||
|
lquhgmrs
|
||||||
|
hxrjagjm
|
||||||
|
epxxekgx
|
||||||
|
uwwlcbrx
|
||||||
|
feincdjp
|
||||||
|
uyxhfhsc
|
||||||
|
nojuykoh
|
||||||
|
psjuuqwu
|
||||||
|
gtlohqkz
|
||||||
|
sbzsbgrw
|
||||||
|
nbhwuxfb
|
||||||
|
phmtunrh
|
||||||
|
zmfbkvgv
|
||||||
|
mjumfpia
|
||||||
|
gkubcshe
|
||||||
|
jmavrhyd
|
||||||
|
cgffkftg
|
||||||
|
msurhdct
|
||||||
|
bvchukal
|
||||||
|
psxaluvg
|
||||||
|
tvgwjhhp
|
||||||
|
chyizcxv
|
||||||
|
dumebzkd
|
||||||
|
cjpzbkzk
|
||||||
|
ngrgseyn
|
||||||
|
xmwcmaaz
|
||||||
|
puyrbiup
|
||||||
|
xxkpznis
|
||||||
|
rguwrpua
|
||||||
|
jmolhvnn
|
||||||
|
kpeqtlan
|
||||||
|
zzgvoxlp
|
||||||
|
erbintcn
|
||||||
|
kcykvysv
|
||||||
|
ixildajc
|
||||||
|
tnvgihwe
|
||||||
|
iqwgozpj
|
||||||
|
txkgyflb
|
||||||
|
vsyzebrw
|
||||||
|
ehnbcjef
|
||||||
|
hfevkbhf
|
||||||
|
wihlqtmp
|
||||||
|
vmrmnygo
|
||||||
|
ulvsuvsn
|
||||||
|
wgxnwihd
|
||||||
|
lexgbpsv
|
||||||
|
kxqcjoeb
|
||||||
|
daodpsbb
|
||||||
|
azyqmyhv
|
||||||
|
mvzcatwb
|
||||||
|
jtvqkjrv
|
||||||
|
rtdsaqqd
|
||||||
|
xrhzmnzl
|
||||||
|
wgfiwjrh
|
||||||
|
hgrgqqxm
|
||||||
|
nwwcxoyq
|
||||||
|
qlqyhpzs
|
||||||
|
ovujfily
|
||||||
|
pzvyeryk
|
||||||
|
strswprn
|
||||||
|
nrxclypc
|
||||||
|
sfusjxzi
|
||||||
|
pclbdadw
|
||||||
|
sjhggndb
|
||||||
|
xjcutuyt
|
||||||
|
qjjjeytj
|
||||||
|
qqjrkdlb
|
||||||
|
pyzodjdh
|
||||||
|
brnmlkmi
|
||||||
|
lgipidfp
|
||||||
|
ttrfbjry
|
||||||
|
iidwekro
|
||||||
|
vnwlnyma
|
||||||
|
ylxatduo
|
||||||
|
eiokdbqr
|
||||||
|
laezjjte
|
||||||
|
kkjhfsvp
|
||||||
|
buaegtpg
|
||||||
|
vzgqletc
|
||||||
|
pkdseade
|
||||||
|
nvpyxokq
|
||||||
|
yiysgxpe
|
||||||
|
xqhtubam
|
||||||
|
lcstpvke
|
||||||
|
nnskqssg
|
||||||
|
mkrbdovg
|
||||||
|
camkeppm
|
||||||
|
iqjvotay
|
||||||
|
bodlfgkj
|
||||||
|
jiigwvzc
|
||||||
|
ixpghywy
|
||||||
|
qlzyjgue
|
||||||
|
ugyjqtzn
|
||||||
|
odeuuiir
|
||||||
|
yfhianfx
|
||||||
|
seewayqj
|
||||||
|
lstpeuja
|
||||||
|
paqqnxsr
|
||||||
|
guwkidny
|
||||||
|
susussgu
|
||||||
|
ezcayehr
|
||||||
|
tdzgvcqf
|
||||||
|
vckcnsio
|
||||||
|
obawbapm
|
||||||
|
ipebazzk
|
||||||
|
tmcpmiou
|
||||||
|
hpdlfwor
|
||||||
|
ygxlfzzr
|
||||||
|
ltyxhtbx
|
||||||
|
olzqonbx
|
||||||
|
grsxreqs
|
||||||
|
bvkjcoux
|
||||||
|
fxtuxuub
|
||||||
|
fcbxdenm
|
||||||
|
smilcfvz
|
||||||
|
ewbndkiz
|
||||||
|
httsnfqu
|
||||||
|
ghorvefw
|
||||||
|
anevvqir
|
||||||
|
sajdzwho
|
||||||
|
becdemdn
|
||||||
|
vxktmxsj
|
||||||
|
xyawkeuw
|
||||||
|
pdefbxmh
|
||||||
|
yejymgfr
|
||||||
|
mipvhnsc
|
||||||
|
tjdyqpzd
|
||||||
|
rbvqirmd
|
||||||
|
mscuflvd
|
||||||
|
draqqcda
|
||||||
|
xfegqcjg
|
||||||
|
auypywpb
|
||||||
|
gitgzstq
|
||||||
|
zveqbzgt
|
||||||
|
wxrpedre
|
||||||
|
haptyecu
|
||||||
|
tkeexmhe
|
||||||
|
ujijprbd
|
||||||
|
xjiyczwq
|
||||||
|
ehpygnrr
|
||||||
|
guvejwyt
|
||||||
|
zmtsftky
|
||||||
|
wqtklwiz
|
||||||
|
lwlessio
|
||||||
|
lrknmhzd
|
||||||
|
pkdkwevt
|
||||||
|
ncryoeth
|
||||||
|
hjsqtpxu
|
||||||
|
ivmqrwok
|
||||||
|
qozgijgu
|
||||||
|
ueujvbbe
|
||||||
|
nfxgrmsd
|
||||||
|
zeetrgdl
|
||||||
|
drfbcgxo
|
||||||
|
rjjeraeb
|
||||||
|
hshozlgv
|
||||||
|
sfgvrnez
|
||||||
|
zaoctlsa
|
||||||
|
hebtzqvy
|
||||||
|
qckvuyif
|
||||||
|
wxyszmev
|
||||||
|
ddxfwklt
|
||||||
|
jqlzpfvu
|
||||||
|
wimoefwx
|
||||||
|
kabvtrno
|
||||||
|
pbebkvkm
|
||||||
|
govfwjof
|
||||||
|
xfjkvoup
|
||||||
|
fuzxcese
|
||||||
|
zbavvmyy
|
||||||
|
mwvkrnjg
|
||||||
|
gtkyelff
|
||||||
|
bffyzhnt
|
||||||
|
vlffqryw
|
||||||
|
ofncqcqw
|
||||||
|
cnzzrjjj
|
||||||
|
txpzvykz
|
||||||
|
ukkgeavq
|
||||||
|
wdnieioq
|
||||||
|
avosnedk
|
||||||
|
ipaavrqp
|
||||||
|
eeuurfat
|
||||||
|
sfhhwqzw
|
||||||
|
vjzopzad
|
||||||
|
kdbjonqz
|
||||||
|
uaksjfuc
|
||||||
|
lumpaomf
|
||||||
|
ysebmwel
|
||||||
|
dobryhxj
|
||||||
|
oaymjqwh
|
||||||
|
qjfflojj
|
||||||
|
zqmfgwre
|
||||||
|
uimjngfs
|
||||||
|
ihwelccg
|
||||||
|
yetrodjy
|
||||||
|
aifvwtws
|
||||||
|
xiyruzqr
|
||||||
|
anuvhykm
|
||||||
|
lelbjsno
|
||||||
|
csjwqotd
|
||||||
|
pptsysey
|
||||||
|
joptcdmq
|
||||||
|
tghbxpmq
|
||||||
|
jduwbxiy
|
||||||
|
obcdlahg
|
||||||
|
dxwrzytc
|
||||||
|
axfrxlgz
|
||||||
|
gepnmvel
|
||||||
|
ztmcynch
|
||||||
|
otnicgga
|
||||||
|
bdzobaoe
|
||||||
|
vkljxwnm
|
||||||
|
qvhmitgh
|
||||||
|
yflyxbjn
|
||||||
|
qshihqki
|
||||||
|
debaxqpw
|
||||||
|
fhfcjogj
|
||||||
|
huwpnaxx
|
||||||
|
jpwnrjbc
|
||||||
|
waylsrcm
|
||||||
|
aurdpcqc
|
||||||
|
yanpouht
|
||||||
|
ybwbpcak
|
||||||
|
uzvvspnj
|
||||||
|
tftluckv
|
||||||
|
uwmditoa
|
||||||
|
wsndxybi
|
||||||
|
dotcxasi
|
||||||
|
lxgmptwn
|
||||||
|
bpdmcbgt
|
||||||
|
dpjqvvck
|
||||||
|
jmgwudli
|
||||||
|
rimvxcoa
|
||||||
|
vdlacqbl
|
||||||
|
qtzwuqny
|
||||||
|
olzuzuuq
|
||||||
|
grlyyegi
|
||||||
|
mhgtadti
|
||||||
|
yrfdffzj
|
||||||
|
wbxadryy
|
||||||
|
bhaniozq
|
||||||
|
jdishqcx
|
||||||
|
kmiatkjj
|
||||||
|
asmxdrmv
|
||||||
|
riqdknna
|
||||||
|
fsuetmeg
|
||||||
|
iikajhgb
|
||||||
|
ioswsaws
|
||||||
|
yygpvtfb
|
||||||
|
egjoltik
|
||||||
|
bypcbzpk
|
||||||
|
zaumpggx
|
||||||
|
sdizezlv
|
||||||
|
xoyallwy
|
||||||
|
gicvajdl
|
||||||
|
qzowhuxa
|
||||||
|
iyftbzns
|
||||||
|
srzjxhve
|
||||||
|
xwasqzay
|
||||||
|
qznuxpqj
|
||||||
|
mlnjztxf
|
||||||
|
rxkcymao
|
||||||
|
huvxpllx
|
||||||
|
fmnrqasq
|
||||||
|
mwwigmka
|
||||||
|
yovjkmou
|
||||||
|
kvdrltte
|
||||||
|
nymvepew
|
||||||
|
vnrjykzc
|
||||||
|
unoegpvv
|
||||||
|
trrejbob
|
||||||
|
zwsdnqnb
|
||||||
|
ljsztmgl
|
||||||
|
tiznomfv
|
||||||
|
zxtxholt
|
||||||
|
csufzpiw
|
||||||
|
jgbjpucz
|
||||||
|
mpakkeil
|
||||||
|
ixmbvvbi
|
||||||
|
ejkhcxjj
|
||||||
|
zaokljpl
|
||||||
|
oeocaxdv
|
||||||
|
ytlpsbcx
|
||||||
|
hpfserxf
|
||||||
|
nzregysc
|
||||||
|
etevckof
|
||||||
|
bcqkqdvb
|
||||||
|
xzdhhick
|
||||||
|
gystpgoo
|
||||||
|
ciiyzxxr
|
||||||
|
kwstdxnn
|
||||||
|
ztregxhx
|
||||||
|
qhvkjoqe
|
||||||
|
ugirgwax
|
||||||
|
nhukpdut
|
||||||
|
yfiibmmd
|
||||||
|
cwkayjcp
|
||||||
|
ebmlabrp
|
||||||
|
kvjhyrag
|
||||||
|
wbphpfkc
|
||||||
|
ucqvhibs
|
||||||
|
dwuavsyy
|
||||||
|
jwrdsobl
|
||||||
|
hytijctt
|
||||||
|
plcumjhv
|
||||||
|
hwexsihm
|
||||||
|
ppmfzgqt
|
||||||
|
moumyuiw
|
||||||
|
zvgbsabj
|
||||||
|
yraygmws
|
||||||
|
vopzuhor
|
||||||
|
hafhljwp
|
||||||
|
gmqpchdg
|
||||||
|
yyahpihs
|
||||||
|
xvqakyyp
|
||||||
|
deamarun
|
||||||
|
yunihcvw
|
||||||
|
gcdjqqmu
|
||||||
|
kctibuxy
|
||||||
|
gcvlcfhc
|
||||||
|
ydwoxfvg
|
||||||
|
epszfvuh
|
||||||
|
xjjvwpbz
|
||||||
|
gzpdnthj
|
||||||
|
mnkrjgwz
|
||||||
|
ldfwvvfq
|
||||||
|
tydqesvl
|
||||||
|
envwzaqv
|
||||||
|
xvwyzkpe
|
||||||
|
rmpgcjeo
|
||||||
|
pkupgxup
|
||||||
|
ekqizsjl
|
||||||
|
agvenhgu
|
||||||
|
vscaqtri
|
||||||
|
rwfjrjpg
|
||||||
|
imthkcta
|
||||||
|
sjpmwqmg
|
||||||
|
fptfgekn
|
||||||
|
ohbwdbjm
|
||||||
|
ccfrphaj
|
||||||
|
gyeaqkog
|
||||||
|
onybscve
|
||||||
|
qztmoant
|
||||||
|
abjnbrpd
|
||||||
|
zompdzuf
|
||||||
|
bamomvbw
|
||||||
|
kzmmgexu
|
||||||
|
wzoxohtn
|
||||||
|
wvgmvwdt
|
||||||
|
nlgkxmbu
|
||||||
|
vyoddxyf
|
||||||
|
phmrizhk
|
||||||
|
zhksysjf
|
||||||
|
atcfvzlx
|
||||||
|
iyabqkly
|
||||||
|
rnwidjpm
|
||||||
|
cgwddumw
|
||||||
|
fcoylnzw
|
||||||
|
lsxosfra
|
||||||
|
vbcdgfiw
|
||||||
|
aenlmdgh
|
||||||
|
fvtmormn
|
||||||
|
rllxkznc
|
||||||
|
asocydmo
|
||||||
|
zcltimlr
|
||||||
|
hrqmccpt
|
||||||
|
dfmlsvtz
|
||||||
|
ntuhkbws
|
||||||
|
oziqleds
|
||||||
|
wkzbguis
|
||||||
|
coapfihl
|
||||||
|
irzpsuql
|
||||||
|
uxaowrls
|
||||||
|
tdbefhcf
|
||||||
|
wsyusuph
|
||||||
|
lpbdrmyn
|
||||||
|
slrzkkms
|
||||||
|
wqvzwiyq
|
||||||
|
vinahrsd
|
||||||
|
thsnmqjr
|
||||||
|
kwrzmakz
|
||||||
|
ifhclifl
|
||||||
|
wkqahikb
|
||||||
|
rwnchlkr
|
||||||
|
rkhpdbbk
|
||||||
|
vqnzigbf
|
||||||
|
olzziafs
|
||||||
|
qcylpbtk
|
||||||
|
fzhtmgji
|
||||||
|
qvnyctmb
|
||||||
|
ouolgwup
|
||||||
|
xkbrykjx
|
||||||
|
apbamszk
|
||||||
|
mlrlmpoh
|
||||||
|
kdneakuk
|
||||||
|
rrhhrtfk
|
||||||
|
cbgzlbgz
|
||||||
|
mfxencal
|
||||||
|
bkctqwpe
|
||||||
|
rjdxhqof
|
||||||
|
ogcbntmp
|
||||||
|
bbftqdfk
|
||||||
|
kikdidvm
|
||||||
|
mnjgwven
|
||||||
|
yurxwsge
|
||||||
|
qlrdtzad
|
||||||
|
jalffvnu
|
||||||
|
tayfycwr
|
||||||
|
jhivnvaw
|
||||||
|
yuvffepz
|
||||||
|
mwhczdkv
|
||||||
|
xltzklis
|
||||||
|
iellkyqk
|
||||||
|
krpktxhh
|
||||||
|
rkawdywu
|
||||||
|
pqqitomj
|
||||||
|
nrhhtvtv
|
||||||
|
gwerzhwc
|
||||||
|
qlsgifir
|
||||||
|
ssvyspem
|
||||||
|
udnnmvxk
|
||||||
|
albkdbsh
|
||||||
|
obxcrucu
|
||||||
|
dnyytrcx
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,173 @@
|
|||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 4
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 5
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 6
|
||||||
|
rect 5x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x3
|
||||||
|
rotate row y=2 by 8
|
||||||
|
rotate row y=0 by 8
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 7x1
|
||||||
|
rotate row y=2 by 24
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate column x=2 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 7x1
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=22 by 1
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate row y=2 by 18
|
||||||
|
rotate row y=0 by 12
|
||||||
|
rotate column x=8 by 2
|
||||||
|
rotate column x=7 by 1
|
||||||
|
rotate column x=5 by 2
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 9x1
|
||||||
|
rotate row y=3 by 28
|
||||||
|
rotate row y=1 by 28
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=18 by 1
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate column x=14 by 1
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 2
|
||||||
|
rotate column x=10 by 3
|
||||||
|
rotate column x=8 by 1
|
||||||
|
rotate column x=7 by 2
|
||||||
|
rotate column x=6 by 1
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 1
|
||||||
|
rotate column x=2 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 19x1
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=24 by 1
|
||||||
|
rotate column x=23 by 1
|
||||||
|
rotate column x=14 by 1
|
||||||
|
rotate column x=9 by 2
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate row y=3 by 5
|
||||||
|
rotate row y=2 by 3
|
||||||
|
rotate row y=1 by 7
|
||||||
|
rotate row y=0 by 5
|
||||||
|
rotate column x=0 by 2
|
||||||
|
rect 3x2
|
||||||
|
rotate column x=16 by 2
|
||||||
|
rotate row y=3 by 27
|
||||||
|
rotate row y=2 by 5
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=8 by 2
|
||||||
|
rotate column x=7 by 1
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 3
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=1 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 9x1
|
||||||
|
rotate row y=4 by 42
|
||||||
|
rotate row y=3 by 40
|
||||||
|
rotate row y=1 by 30
|
||||||
|
rotate row y=0 by 40
|
||||||
|
rotate column x=37 by 2
|
||||||
|
rotate column x=36 by 3
|
||||||
|
rotate column x=35 by 1
|
||||||
|
rotate column x=33 by 1
|
||||||
|
rotate column x=32 by 1
|
||||||
|
rotate column x=31 by 3
|
||||||
|
rotate column x=30 by 1
|
||||||
|
rotate column x=28 by 1
|
||||||
|
rotate column x=27 by 1
|
||||||
|
rotate column x=25 by 1
|
||||||
|
rotate column x=23 by 3
|
||||||
|
rotate column x=22 by 1
|
||||||
|
rotate column x=21 by 1
|
||||||
|
rotate column x=20 by 1
|
||||||
|
rotate column x=18 by 1
|
||||||
|
rotate column x=17 by 1
|
||||||
|
rotate column x=16 by 3
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 1
|
||||||
|
rotate column x=11 by 2
|
||||||
|
rotate column x=10 by 1
|
||||||
|
rotate column x=8 by 1
|
||||||
|
rotate column x=7 by 2
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 3
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=1 by 1
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 39x1
|
||||||
|
rotate column x=44 by 2
|
||||||
|
rotate column x=42 by 2
|
||||||
|
rotate column x=35 by 5
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=32 by 2
|
||||||
|
rotate column x=29 by 2
|
||||||
|
rotate column x=25 by 5
|
||||||
|
rotate column x=24 by 2
|
||||||
|
rotate column x=19 by 2
|
||||||
|
rotate column x=15 by 4
|
||||||
|
rotate column x=14 by 2
|
||||||
|
rotate column x=12 by 3
|
||||||
|
rotate column x=9 by 2
|
||||||
|
rotate column x=5 by 5
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate row y=5 by 5
|
||||||
|
rotate row y=4 by 38
|
||||||
|
rotate row y=3 by 10
|
||||||
|
rotate row y=2 by 46
|
||||||
|
rotate row y=1 by 10
|
||||||
|
rotate column x=48 by 4
|
||||||
|
rotate column x=47 by 3
|
||||||
|
rotate column x=46 by 3
|
||||||
|
rotate column x=45 by 1
|
||||||
|
rotate column x=43 by 1
|
||||||
|
rotate column x=37 by 5
|
||||||
|
rotate column x=36 by 5
|
||||||
|
rotate column x=35 by 4
|
||||||
|
rotate column x=33 by 1
|
||||||
|
rotate column x=32 by 5
|
||||||
|
rotate column x=31 by 5
|
||||||
|
rotate column x=28 by 5
|
||||||
|
rotate column x=27 by 5
|
||||||
|
rotate column x=26 by 3
|
||||||
|
rotate column x=25 by 4
|
||||||
|
rotate column x=23 by 1
|
||||||
|
rotate column x=17 by 5
|
||||||
|
rotate column x=16 by 5
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 5
|
||||||
|
rotate column x=11 by 5
|
||||||
|
rotate column x=3 by 1
|
||||||
|
rotate column x=0 by 1
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,4 @@
|
|||||||
|
The first floor contains a promethium generator and a promethium-compatible microchip.
|
||||||
|
The second floor contains a cobalt generator, a curium generator, a ruthenium generator, and a plutonium generator.
|
||||||
|
The third floor contains a cobalt-compatible microchip, a curium-compatible microchip, a ruthenium-compatible microchip, and a plutonium-compatible microchip.
|
||||||
|
The fourth floor contains nothing relevant.
|
@ -0,0 +1,23 @@
|
|||||||
|
cpy 1 a
|
||||||
|
cpy 1 b
|
||||||
|
cpy 26 d
|
||||||
|
jnz c 2
|
||||||
|
jnz 1 5
|
||||||
|
cpy 7 c
|
||||||
|
inc d
|
||||||
|
dec c
|
||||||
|
jnz c -2
|
||||||
|
cpy a c
|
||||||
|
inc a
|
||||||
|
dec b
|
||||||
|
jnz b -2
|
||||||
|
cpy c b
|
||||||
|
dec d
|
||||||
|
jnz d -6
|
||||||
|
cpy 16 c
|
||||||
|
cpy 17 d
|
||||||
|
inc a
|
||||||
|
dec d
|
||||||
|
jnz d -2
|
||||||
|
dec c
|
||||||
|
jnz c -5
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,100 @@
|
|||||||
|
move position 0 to position 3
|
||||||
|
rotate right 0 steps
|
||||||
|
rotate right 1 step
|
||||||
|
move position 1 to position 5
|
||||||
|
swap letter h with letter b
|
||||||
|
reverse positions 1 through 3
|
||||||
|
swap letter a with letter g
|
||||||
|
swap letter b with letter h
|
||||||
|
rotate based on position of letter c
|
||||||
|
swap letter d with letter c
|
||||||
|
rotate based on position of letter c
|
||||||
|
swap position 6 with position 5
|
||||||
|
rotate right 7 steps
|
||||||
|
swap letter b with letter h
|
||||||
|
move position 4 to position 3
|
||||||
|
swap position 1 with position 0
|
||||||
|
swap position 7 with position 5
|
||||||
|
move position 7 to position 1
|
||||||
|
swap letter c with letter a
|
||||||
|
move position 7 to position 5
|
||||||
|
rotate right 4 steps
|
||||||
|
swap position 0 with position 5
|
||||||
|
move position 3 to position 1
|
||||||
|
swap letter c with letter h
|
||||||
|
rotate based on position of letter d
|
||||||
|
reverse positions 0 through 2
|
||||||
|
rotate based on position of letter g
|
||||||
|
move position 6 to position 7
|
||||||
|
move position 2 to position 5
|
||||||
|
swap position 1 with position 0
|
||||||
|
swap letter f with letter c
|
||||||
|
rotate right 1 step
|
||||||
|
reverse positions 2 through 4
|
||||||
|
rotate left 1 step
|
||||||
|
rotate based on position of letter h
|
||||||
|
rotate right 1 step
|
||||||
|
rotate right 5 steps
|
||||||
|
swap position 6 with position 3
|
||||||
|
move position 0 to position 5
|
||||||
|
swap letter g with letter f
|
||||||
|
reverse positions 2 through 7
|
||||||
|
reverse positions 4 through 6
|
||||||
|
swap position 4 with position 1
|
||||||
|
move position 2 to position 1
|
||||||
|
move position 3 to position 1
|
||||||
|
swap letter b with letter a
|
||||||
|
rotate based on position of letter b
|
||||||
|
reverse positions 3 through 5
|
||||||
|
move position 0 to position 2
|
||||||
|
rotate based on position of letter b
|
||||||
|
reverse positions 4 through 5
|
||||||
|
rotate based on position of letter g
|
||||||
|
reverse positions 0 through 5
|
||||||
|
swap letter h with letter c
|
||||||
|
reverse positions 2 through 5
|
||||||
|
swap position 7 with position 5
|
||||||
|
swap letter g with letter d
|
||||||
|
swap letter d with letter e
|
||||||
|
move position 1 to position 2
|
||||||
|
move position 3 to position 2
|
||||||
|
swap letter d with letter g
|
||||||
|
swap position 3 with position 7
|
||||||
|
swap letter b with letter f
|
||||||
|
rotate right 3 steps
|
||||||
|
move position 5 to position 3
|
||||||
|
move position 1 to position 2
|
||||||
|
rotate based on position of letter b
|
||||||
|
rotate based on position of letter c
|
||||||
|
reverse positions 2 through 3
|
||||||
|
move position 2 to position 3
|
||||||
|
rotate right 1 step
|
||||||
|
move position 7 to position 0
|
||||||
|
rotate right 3 steps
|
||||||
|
move position 6 to position 3
|
||||||
|
rotate based on position of letter e
|
||||||
|
swap letter c with letter b
|
||||||
|
swap letter f with letter d
|
||||||
|
swap position 2 with position 5
|
||||||
|
swap letter f with letter g
|
||||||
|
rotate based on position of letter a
|
||||||
|
reverse positions 3 through 4
|
||||||
|
rotate left 7 steps
|
||||||
|
rotate left 6 steps
|
||||||
|
swap letter g with letter b
|
||||||
|
reverse positions 3 through 6
|
||||||
|
rotate right 6 steps
|
||||||
|
rotate based on position of letter c
|
||||||
|
rotate based on position of letter b
|
||||||
|
rotate left 1 step
|
||||||
|
reverse positions 3 through 7
|
||||||
|
swap letter f with letter g
|
||||||
|
swap position 4 with position 1
|
||||||
|
rotate based on position of letter d
|
||||||
|
move position 0 to position 4
|
||||||
|
swap position 7 with position 6
|
||||||
|
rotate right 6 steps
|
||||||
|
rotate based on position of letter e
|
||||||
|
move position 7 to position 3
|
||||||
|
rotate right 3 steps
|
||||||
|
swap position 1 with position 2
|
@ -0,0 +1,927 @@
|
|||||||
|
root@ebhq-gridcenter# df -h
|
||||||
|
Filesystem Size Used Avail Use%
|
||||||
|
/dev/grid/node-x0-y0 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x0-y1 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x0-y2 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x0-y3 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x0-y4 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x0-y5 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x0-y6 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x0-y7 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x0-y8 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x0-y9 91T 68T 23T 74%
|
||||||
|
/dev/grid/node-x0-y10 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x0-y11 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x0-y12 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x0-y13 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x0-y14 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x0-y15 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x0-y16 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x0-y17 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x0-y18 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x0-y19 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x0-y20 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x0-y21 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x0-y22 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x0-y23 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x0-y24 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x1-y0 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x1-y1 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x1-y2 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x1-y3 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x1-y4 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x1-y5 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x1-y6 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x1-y7 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x1-y8 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x1-y9 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x1-y10 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x1-y11 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x1-y12 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x1-y13 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x1-y14 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x1-y15 86T 71T 15T 82%
|
||||||
|
/dev/grid/node-x1-y16 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x1-y17 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x1-y18 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x1-y19 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x1-y20 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x1-y21 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x1-y22 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x1-y23 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x1-y24 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x2-y0 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x2-y1 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x2-y2 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x2-y3 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x2-y4 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x2-y5 86T 73T 13T 84%
|
||||||
|
/dev/grid/node-x2-y6 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x2-y7 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x2-y8 90T 71T 19T 78%
|
||||||
|
/dev/grid/node-x2-y9 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x2-y10 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x2-y11 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x2-y12 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x2-y13 91T 70T 21T 76%
|
||||||
|
/dev/grid/node-x2-y14 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x2-y15 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x2-y16 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x2-y17 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x2-y18 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x2-y19 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x2-y20 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x2-y21 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x2-y22 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x2-y23 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x2-y24 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x3-y0 93T 71T 22T 76%
|
||||||
|
/dev/grid/node-x3-y1 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x3-y2 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x3-y3 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x3-y4 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x3-y5 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x3-y6 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x3-y7 92T 67T 25T 72%
|
||||||
|
/dev/grid/node-x3-y8 90T 71T 19T 78%
|
||||||
|
/dev/grid/node-x3-y9 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x3-y10 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x3-y11 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x3-y12 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x3-y13 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x3-y14 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x3-y15 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x3-y16 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x3-y17 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x3-y18 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x3-y19 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x3-y20 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x3-y21 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x3-y22 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x3-y23 90T 72T 18T 80%
|
||||||
|
/dev/grid/node-x3-y24 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x4-y0 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x4-y1 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x4-y2 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x4-y3 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x4-y4 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x4-y5 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x4-y6 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x4-y7 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x4-y8 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x4-y9 87T 73T 14T 83%
|
||||||
|
/dev/grid/node-x4-y10 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x4-y11 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x4-y12 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x4-y13 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x4-y14 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x4-y15 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x4-y16 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x4-y17 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x4-y18 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x4-y19 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x4-y20 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x4-y21 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x4-y22 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x4-y23 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x4-y24 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x5-y0 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x5-y1 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x5-y2 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x5-y3 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x5-y4 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x5-y5 93T 73T 20T 78%
|
||||||
|
/dev/grid/node-x5-y6 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x5-y7 505T 493T 12T 97%
|
||||||
|
/dev/grid/node-x5-y8 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x5-y9 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x5-y10 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x5-y11 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x5-y12 90T 69T 21T 76%
|
||||||
|
/dev/grid/node-x5-y13 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x5-y14 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x5-y15 92T 64T 28T 69%
|
||||||
|
/dev/grid/node-x5-y16 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x5-y17 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x5-y18 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x5-y19 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x5-y20 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x5-y21 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x5-y22 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x5-y23 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x5-y24 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x6-y0 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x6-y1 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x6-y2 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x6-y3 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x6-y4 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x6-y5 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x6-y6 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x6-y7 507T 497T 10T 98%
|
||||||
|
/dev/grid/node-x6-y8 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x6-y9 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x6-y10 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x6-y11 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x6-y12 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x6-y13 87T 73T 14T 83%
|
||||||
|
/dev/grid/node-x6-y14 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x6-y15 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x6-y16 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x6-y17 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x6-y18 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x6-y19 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x6-y20 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x6-y21 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x6-y22 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x6-y23 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x6-y24 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x7-y0 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x7-y1 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x7-y2 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x7-y3 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x7-y4 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x7-y5 91T 70T 21T 76%
|
||||||
|
/dev/grid/node-x7-y6 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x7-y7 507T 492T 15T 97%
|
||||||
|
/dev/grid/node-x7-y8 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x7-y9 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x7-y10 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x7-y11 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x7-y12 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x7-y13 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x7-y14 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x7-y15 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x7-y16 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x7-y17 92T 0T 92T 0%
|
||||||
|
/dev/grid/node-x7-y18 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x7-y19 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x7-y20 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x7-y21 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x7-y22 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x7-y23 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x7-y24 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x8-y0 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x8-y1 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x8-y2 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x8-y3 93T 73T 20T 78%
|
||||||
|
/dev/grid/node-x8-y4 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x8-y5 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x8-y6 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x8-y7 501T 499T 2T 99%
|
||||||
|
/dev/grid/node-x8-y8 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x8-y9 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x8-y10 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x8-y11 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x8-y12 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x8-y13 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x8-y14 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x8-y15 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x8-y16 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x8-y17 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x8-y18 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x8-y19 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x8-y20 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x8-y21 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x8-y22 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x8-y23 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x8-y24 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x9-y0 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x9-y1 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x9-y2 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x9-y3 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x9-y4 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x9-y5 92T 64T 28T 69%
|
||||||
|
/dev/grid/node-x9-y6 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x9-y7 506T 490T 16T 96%
|
||||||
|
/dev/grid/node-x9-y8 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x9-y9 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x9-y10 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x9-y11 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x9-y12 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x9-y13 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x9-y14 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x9-y15 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x9-y16 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x9-y17 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x9-y18 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x9-y19 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x9-y20 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x9-y21 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x9-y22 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x9-y23 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x9-y24 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x10-y0 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x10-y1 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x10-y2 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x10-y3 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x10-y4 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x10-y5 90T 69T 21T 76%
|
||||||
|
/dev/grid/node-x10-y6 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x10-y7 510T 494T 16T 96%
|
||||||
|
/dev/grid/node-x10-y8 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x10-y9 93T 71T 22T 76%
|
||||||
|
/dev/grid/node-x10-y10 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x10-y11 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x10-y12 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x10-y13 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x10-y14 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x10-y15 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x10-y16 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x10-y17 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x10-y18 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x10-y19 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x10-y20 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x10-y21 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x10-y22 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x10-y23 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x10-y24 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x11-y0 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x11-y1 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x11-y2 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x11-y3 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x11-y4 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x11-y5 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x11-y6 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x11-y7 501T 490T 11T 97%
|
||||||
|
/dev/grid/node-x11-y8 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x11-y9 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x11-y10 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x11-y11 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x11-y12 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x11-y13 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x11-y14 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x11-y15 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x11-y16 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x11-y17 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x11-y18 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x11-y19 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x11-y20 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x11-y21 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x11-y22 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x11-y23 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x11-y24 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x12-y0 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x12-y1 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x12-y2 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x12-y3 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x12-y4 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x12-y5 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x12-y6 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x12-y7 505T 493T 12T 97%
|
||||||
|
/dev/grid/node-x12-y8 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x12-y9 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x12-y10 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x12-y11 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x12-y12 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x12-y13 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x12-y14 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x12-y15 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x12-y16 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x12-y17 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x12-y18 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x12-y19 93T 73T 20T 78%
|
||||||
|
/dev/grid/node-x12-y20 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x12-y21 91T 68T 23T 74%
|
||||||
|
/dev/grid/node-x12-y22 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x12-y23 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x12-y24 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x13-y0 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x13-y1 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x13-y2 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x13-y3 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x13-y4 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x13-y5 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x13-y6 90T 71T 19T 78%
|
||||||
|
/dev/grid/node-x13-y7 510T 496T 14T 97%
|
||||||
|
/dev/grid/node-x13-y8 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x13-y9 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x13-y10 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x13-y11 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x13-y12 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x13-y13 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x13-y14 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x13-y15 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x13-y16 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x13-y17 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x13-y18 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x13-y19 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x13-y20 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x13-y21 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x13-y22 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x13-y23 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x13-y24 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x14-y0 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x14-y1 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x14-y2 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x14-y3 91T 68T 23T 74%
|
||||||
|
/dev/grid/node-x14-y4 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x14-y5 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x14-y6 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x14-y7 507T 494T 13T 97%
|
||||||
|
/dev/grid/node-x14-y8 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x14-y9 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x14-y10 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x14-y11 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x14-y12 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x14-y13 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x14-y14 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x14-y15 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x14-y16 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x14-y17 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x14-y18 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x14-y19 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x14-y20 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x14-y21 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x14-y22 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x14-y23 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x14-y24 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x15-y0 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x15-y1 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x15-y2 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x15-y3 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x15-y4 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x15-y5 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x15-y6 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x15-y7 503T 492T 11T 97%
|
||||||
|
/dev/grid/node-x15-y8 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x15-y9 92T 64T 28T 69%
|
||||||
|
/dev/grid/node-x15-y10 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x15-y11 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x15-y12 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x15-y13 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x15-y14 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x15-y15 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x15-y16 91T 70T 21T 76%
|
||||||
|
/dev/grid/node-x15-y17 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x15-y18 92T 69T 23T 75%
|
||||||
|
/dev/grid/node-x15-y19 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x15-y20 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x15-y21 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x15-y22 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x15-y23 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x15-y24 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x16-y0 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x16-y1 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x16-y2 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x16-y3 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x16-y4 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x16-y5 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x16-y6 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x16-y7 510T 493T 17T 96%
|
||||||
|
/dev/grid/node-x16-y8 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x16-y9 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x16-y10 90T 72T 18T 80%
|
||||||
|
/dev/grid/node-x16-y11 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x16-y12 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x16-y13 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x16-y14 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x16-y15 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x16-y16 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x16-y17 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x16-y18 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x16-y19 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x16-y20 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x16-y21 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x16-y22 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x16-y23 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x16-y24 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x17-y0 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x17-y1 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x17-y2 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x17-y3 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x17-y4 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x17-y5 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x17-y6 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x17-y7 509T 492T 17T 96%
|
||||||
|
/dev/grid/node-x17-y8 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x17-y9 92T 67T 25T 72%
|
||||||
|
/dev/grid/node-x17-y10 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x17-y11 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x17-y12 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x17-y13 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x17-y14 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x17-y15 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x17-y16 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x17-y17 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x17-y18 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x17-y19 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x17-y20 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x17-y21 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x17-y22 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x17-y23 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x17-y24 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x18-y0 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x18-y1 93T 71T 22T 76%
|
||||||
|
/dev/grid/node-x18-y2 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x18-y3 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x18-y4 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x18-y5 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x18-y6 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x18-y7 504T 498T 6T 98%
|
||||||
|
/dev/grid/node-x18-y8 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x18-y9 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x18-y10 90T 69T 21T 76%
|
||||||
|
/dev/grid/node-x18-y11 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x18-y12 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x18-y13 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x18-y14 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x18-y15 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x18-y16 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x18-y17 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x18-y18 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x18-y19 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x18-y20 86T 71T 15T 82%
|
||||||
|
/dev/grid/node-x18-y21 87T 73T 14T 83%
|
||||||
|
/dev/grid/node-x18-y22 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x18-y23 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x18-y24 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x19-y0 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x19-y1 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x19-y2 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x19-y3 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x19-y4 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x19-y5 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x19-y6 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x19-y7 509T 496T 13T 97%
|
||||||
|
/dev/grid/node-x19-y8 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x19-y9 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x19-y10 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x19-y11 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x19-y12 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x19-y13 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x19-y14 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x19-y15 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x19-y16 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x19-y17 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x19-y18 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x19-y19 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x19-y20 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x19-y21 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x19-y22 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x19-y23 93T 73T 20T 78%
|
||||||
|
/dev/grid/node-x19-y24 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x20-y0 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x20-y1 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x20-y2 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x20-y3 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x20-y4 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x20-y5 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x20-y6 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x20-y7 502T 497T 5T 99%
|
||||||
|
/dev/grid/node-x20-y8 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x20-y9 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x20-y10 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x20-y11 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x20-y12 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x20-y13 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x20-y14 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x20-y15 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x20-y16 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x20-y17 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x20-y18 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x20-y19 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x20-y20 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x20-y21 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x20-y22 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x20-y23 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x20-y24 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x21-y0 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x21-y1 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x21-y2 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x21-y3 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x21-y4 92T 69T 23T 75%
|
||||||
|
/dev/grid/node-x21-y5 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x21-y6 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x21-y7 507T 490T 17T 96%
|
||||||
|
/dev/grid/node-x21-y8 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x21-y9 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x21-y10 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x21-y11 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x21-y12 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x21-y13 92T 69T 23T 75%
|
||||||
|
/dev/grid/node-x21-y14 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x21-y15 92T 67T 25T 72%
|
||||||
|
/dev/grid/node-x21-y16 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x21-y17 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x21-y18 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x21-y19 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x21-y20 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x21-y21 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x21-y22 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x21-y23 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x21-y24 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x22-y0 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x22-y1 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x22-y2 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x22-y3 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x22-y4 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x22-y5 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x22-y6 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x22-y7 501T 490T 11T 97%
|
||||||
|
/dev/grid/node-x22-y8 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x22-y9 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x22-y10 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x22-y11 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x22-y12 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x22-y13 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x22-y14 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x22-y15 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x22-y16 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x22-y17 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x22-y18 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x22-y19 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x22-y20 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x22-y21 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x22-y22 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x22-y23 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x22-y24 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x23-y0 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x23-y1 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x23-y2 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x23-y3 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x23-y4 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x23-y5 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x23-y6 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x23-y7 506T 497T 9T 98%
|
||||||
|
/dev/grid/node-x23-y8 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x23-y9 90T 71T 19T 78%
|
||||||
|
/dev/grid/node-x23-y10 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x23-y11 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x23-y12 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x23-y13 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x23-y14 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x23-y15 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x23-y16 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x23-y17 87T 65T 22T 74%
|
||||||
|
/dev/grid/node-x23-y18 86T 70T 16T 81%
|
||||||
|
/dev/grid/node-x23-y19 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x23-y20 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x23-y21 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x23-y22 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x23-y23 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x23-y24 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x24-y0 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x24-y1 92T 64T 28T 69%
|
||||||
|
/dev/grid/node-x24-y2 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x24-y3 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x24-y4 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x24-y5 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x24-y6 93T 71T 22T 76%
|
||||||
|
/dev/grid/node-x24-y7 504T 497T 7T 98%
|
||||||
|
/dev/grid/node-x24-y8 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x24-y9 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x24-y10 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x24-y11 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x24-y12 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x24-y13 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x24-y14 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x24-y15 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x24-y16 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x24-y17 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x24-y18 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x24-y19 86T 71T 15T 82%
|
||||||
|
/dev/grid/node-x24-y20 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x24-y21 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x24-y22 92T 69T 23T 75%
|
||||||
|
/dev/grid/node-x24-y23 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x24-y24 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x25-y0 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x25-y1 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x25-y2 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x25-y3 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x25-y4 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x25-y5 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x25-y6 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x25-y7 504T 499T 5T 99%
|
||||||
|
/dev/grid/node-x25-y8 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x25-y9 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x25-y10 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x25-y11 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x25-y12 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x25-y13 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x25-y14 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x25-y15 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x25-y16 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x25-y17 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x25-y18 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x25-y19 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x25-y20 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x25-y21 86T 73T 13T 84%
|
||||||
|
/dev/grid/node-x25-y22 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x25-y23 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x25-y24 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x26-y0 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x26-y1 90T 65T 25T 72%
|
||||||
|
/dev/grid/node-x26-y2 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x26-y3 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x26-y4 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x26-y5 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x26-y6 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x26-y7 510T 496T 14T 97%
|
||||||
|
/dev/grid/node-x26-y8 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x26-y9 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x26-y10 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x26-y11 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x26-y12 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x26-y13 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x26-y14 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x26-y15 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x26-y16 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x26-y17 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x26-y18 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x26-y19 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x26-y20 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x26-y21 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x26-y22 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x26-y23 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x26-y24 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x27-y0 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x27-y1 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x27-y2 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x27-y3 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x27-y4 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x27-y5 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x27-y6 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x27-y7 505T 490T 15T 97%
|
||||||
|
/dev/grid/node-x27-y8 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x27-y9 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x27-y10 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x27-y11 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x27-y12 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x27-y13 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x27-y14 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x27-y15 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x27-y16 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x27-y17 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x27-y18 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x27-y19 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x27-y20 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x27-y21 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x27-y22 92T 64T 28T 69%
|
||||||
|
/dev/grid/node-x27-y23 91T 70T 21T 76%
|
||||||
|
/dev/grid/node-x27-y24 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x28-y0 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x28-y1 86T 73T 13T 84%
|
||||||
|
/dev/grid/node-x28-y2 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x28-y3 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x28-y4 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x28-y5 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x28-y6 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x28-y7 501T 493T 8T 98%
|
||||||
|
/dev/grid/node-x28-y8 93T 68T 25T 73%
|
||||||
|
/dev/grid/node-x28-y9 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x28-y10 94T 65T 29T 69%
|
||||||
|
/dev/grid/node-x28-y11 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x28-y12 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x28-y13 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x28-y14 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x28-y15 87T 64T 23T 73%
|
||||||
|
/dev/grid/node-x28-y16 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x28-y17 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x28-y18 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x28-y19 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x28-y20 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x28-y21 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x28-y22 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x28-y23 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x28-y24 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x29-y0 91T 65T 26T 71%
|
||||||
|
/dev/grid/node-x29-y1 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x29-y2 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x29-y3 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x29-y4 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x29-y5 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x29-y6 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x29-y7 507T 493T 14T 97%
|
||||||
|
/dev/grid/node-x29-y8 85T 68T 17T 80%
|
||||||
|
/dev/grid/node-x29-y9 85T 70T 15T 82%
|
||||||
|
/dev/grid/node-x29-y10 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x29-y11 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x29-y12 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x29-y13 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x29-y14 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x29-y15 93T 71T 22T 76%
|
||||||
|
/dev/grid/node-x29-y16 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x29-y17 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x29-y18 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x29-y19 90T 70T 20T 77%
|
||||||
|
/dev/grid/node-x29-y20 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x29-y21 88T 73T 15T 82%
|
||||||
|
/dev/grid/node-x29-y22 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x29-y23 85T 66T 19T 77%
|
||||||
|
/dev/grid/node-x29-y24 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x30-y0 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x30-y1 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x30-y2 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x30-y3 91T 68T 23T 74%
|
||||||
|
/dev/grid/node-x30-y4 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x30-y5 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x30-y6 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x30-y7 510T 492T 18T 96%
|
||||||
|
/dev/grid/node-x30-y8 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x30-y9 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x30-y10 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x30-y11 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x30-y12 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x30-y13 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x30-y14 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x30-y15 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x30-y16 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x30-y17 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x30-y18 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x30-y19 92T 68T 24T 73%
|
||||||
|
/dev/grid/node-x30-y20 85T 72T 13T 84%
|
||||||
|
/dev/grid/node-x30-y21 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x30-y22 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x30-y23 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x30-y24 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x31-y0 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x31-y1 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x31-y2 92T 67T 25T 72%
|
||||||
|
/dev/grid/node-x31-y3 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x31-y4 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x31-y5 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x31-y6 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x31-y7 509T 499T 10T 98%
|
||||||
|
/dev/grid/node-x31-y8 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x31-y9 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x31-y10 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x31-y11 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x31-y12 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x31-y13 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x31-y14 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x31-y15 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x31-y16 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x31-y17 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x31-y18 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x31-y19 86T 71T 15T 82%
|
||||||
|
/dev/grid/node-x31-y20 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x31-y21 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x31-y22 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x31-y23 94T 71T 23T 75%
|
||||||
|
/dev/grid/node-x31-y24 89T 73T 16T 82%
|
||||||
|
/dev/grid/node-x32-y0 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x32-y1 86T 68T 18T 79%
|
||||||
|
/dev/grid/node-x32-y2 90T 68T 22T 75%
|
||||||
|
/dev/grid/node-x32-y3 90T 64T 26T 71%
|
||||||
|
/dev/grid/node-x32-y4 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x32-y5 90T 67T 23T 74%
|
||||||
|
/dev/grid/node-x32-y6 94T 73T 21T 77%
|
||||||
|
/dev/grid/node-x32-y7 509T 493T 16T 96%
|
||||||
|
/dev/grid/node-x32-y8 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x32-y9 89T 71T 18T 79%
|
||||||
|
/dev/grid/node-x32-y10 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x32-y11 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x32-y12 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x32-y13 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x32-y14 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x32-y15 90T 72T 18T 80%
|
||||||
|
/dev/grid/node-x32-y16 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x32-y17 92T 66T 26T 71%
|
||||||
|
/dev/grid/node-x32-y18 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x32-y19 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x32-y20 86T 69T 17T 80%
|
||||||
|
/dev/grid/node-x32-y21 94T 69T 25T 73%
|
||||||
|
/dev/grid/node-x32-y22 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x32-y23 94T 72T 22T 76%
|
||||||
|
/dev/grid/node-x32-y24 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x33-y0 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x33-y1 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x33-y2 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x33-y3 90T 69T 21T 76%
|
||||||
|
/dev/grid/node-x33-y4 92T 71T 21T 77%
|
||||||
|
/dev/grid/node-x33-y5 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x33-y6 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x33-y7 510T 491T 19T 96%
|
||||||
|
/dev/grid/node-x33-y8 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x33-y9 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x33-y10 89T 66T 23T 74%
|
||||||
|
/dev/grid/node-x33-y11 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x33-y12 85T 69T 16T 81%
|
||||||
|
/dev/grid/node-x33-y13 87T 70T 17T 80%
|
||||||
|
/dev/grid/node-x33-y14 91T 70T 21T 76%
|
||||||
|
/dev/grid/node-x33-y15 90T 69T 21T 76%
|
||||||
|
/dev/grid/node-x33-y16 87T 68T 19T 78%
|
||||||
|
/dev/grid/node-x33-y17 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x33-y18 86T 67T 19T 77%
|
||||||
|
/dev/grid/node-x33-y19 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x33-y20 91T 66T 25T 72%
|
||||||
|
/dev/grid/node-x33-y21 92T 65T 27T 70%
|
||||||
|
/dev/grid/node-x33-y22 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x33-y23 93T 67T 26T 72%
|
||||||
|
/dev/grid/node-x33-y24 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x34-y0 86T 64T 22T 74%
|
||||||
|
/dev/grid/node-x34-y1 86T 65T 21T 75%
|
||||||
|
/dev/grid/node-x34-y2 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x34-y3 87T 72T 15T 82%
|
||||||
|
/dev/grid/node-x34-y4 86T 66T 20T 76%
|
||||||
|
/dev/grid/node-x34-y5 88T 67T 21T 76%
|
||||||
|
/dev/grid/node-x34-y6 90T 72T 18T 80%
|
||||||
|
/dev/grid/node-x34-y7 502T 495T 7T 98%
|
||||||
|
/dev/grid/node-x34-y8 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x34-y9 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x34-y10 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x34-y11 89T 68T 21T 76%
|
||||||
|
/dev/grid/node-x34-y12 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x34-y13 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x34-y14 87T 69T 18T 79%
|
||||||
|
/dev/grid/node-x34-y15 93T 72T 21T 77%
|
||||||
|
/dev/grid/node-x34-y16 86T 72T 14T 83%
|
||||||
|
/dev/grid/node-x34-y17 88T 68T 20T 77%
|
||||||
|
/dev/grid/node-x34-y18 88T 72T 16T 81%
|
||||||
|
/dev/grid/node-x34-y19 91T 68T 23T 74%
|
||||||
|
/dev/grid/node-x34-y20 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x34-y21 91T 67T 24T 73%
|
||||||
|
/dev/grid/node-x34-y22 89T 65T 24T 73%
|
||||||
|
/dev/grid/node-x34-y23 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x34-y24 88T 70T 18T 79%
|
||||||
|
/dev/grid/node-x35-y0 91T 71T 20T 78%
|
||||||
|
/dev/grid/node-x35-y1 92T 73T 19T 79%
|
||||||
|
/dev/grid/node-x35-y2 94T 67T 27T 71%
|
||||||
|
/dev/grid/node-x35-y3 88T 69T 19T 78%
|
||||||
|
/dev/grid/node-x35-y4 91T 69T 22T 75%
|
||||||
|
/dev/grid/node-x35-y5 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x35-y6 88T 65T 23T 73%
|
||||||
|
/dev/grid/node-x35-y7 506T 497T 9T 98%
|
||||||
|
/dev/grid/node-x35-y8 88T 71T 17T 80%
|
||||||
|
/dev/grid/node-x35-y9 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x35-y10 94T 66T 28T 70%
|
||||||
|
/dev/grid/node-x35-y11 88T 66T 22T 75%
|
||||||
|
/dev/grid/node-x35-y12 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x35-y13 85T 64T 21T 75%
|
||||||
|
/dev/grid/node-x35-y14 87T 71T 16T 81%
|
||||||
|
/dev/grid/node-x35-y15 93T 66T 27T 70%
|
||||||
|
/dev/grid/node-x35-y16 89T 64T 25T 71%
|
||||||
|
/dev/grid/node-x35-y17 93T 64T 29T 68%
|
||||||
|
/dev/grid/node-x35-y18 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x35-y19 91T 73T 18T 80%
|
||||||
|
/dev/grid/node-x35-y20 93T 69T 24T 74%
|
||||||
|
/dev/grid/node-x35-y21 94T 70T 24T 74%
|
||||||
|
/dev/grid/node-x35-y22 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x35-y23 89T 70T 19T 78%
|
||||||
|
/dev/grid/node-x35-y24 92T 72T 20T 78%
|
||||||
|
/dev/grid/node-x36-y0 94T 64T 30T 68%
|
||||||
|
/dev/grid/node-x36-y1 87T 67T 20T 77%
|
||||||
|
/dev/grid/node-x36-y2 93T 65T 28T 69%
|
||||||
|
/dev/grid/node-x36-y3 90T 72T 18T 80%
|
||||||
|
/dev/grid/node-x36-y4 85T 73T 12T 85%
|
||||||
|
/dev/grid/node-x36-y5 91T 64T 27T 70%
|
||||||
|
/dev/grid/node-x36-y6 87T 73T 14T 83%
|
||||||
|
/dev/grid/node-x36-y7 504T 499T 5T 99%
|
||||||
|
/dev/grid/node-x36-y8 90T 73T 17T 81%
|
||||||
|
/dev/grid/node-x36-y9 92T 70T 22T 76%
|
||||||
|
/dev/grid/node-x36-y10 89T 72T 17T 80%
|
||||||
|
/dev/grid/node-x36-y11 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x36-y12 85T 67T 18T 78%
|
||||||
|
/dev/grid/node-x36-y13 89T 67T 22T 75%
|
||||||
|
/dev/grid/node-x36-y14 94T 68T 26T 72%
|
||||||
|
/dev/grid/node-x36-y15 91T 72T 19T 79%
|
||||||
|
/dev/grid/node-x36-y16 87T 66T 21T 75%
|
||||||
|
/dev/grid/node-x36-y17 85T 65T 20T 76%
|
||||||
|
/dev/grid/node-x36-y18 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x36-y19 89T 69T 20T 77%
|
||||||
|
/dev/grid/node-x36-y20 88T 64T 24T 72%
|
||||||
|
/dev/grid/node-x36-y21 90T 66T 24T 73%
|
||||||
|
/dev/grid/node-x36-y22 93T 70T 23T 75%
|
||||||
|
/dev/grid/node-x36-y23 85T 71T 14T 83%
|
||||||
|
/dev/grid/node-x36-y24 89T 64T 25T 71%
|
@ -0,0 +1,26 @@
|
|||||||
|
cpy a b
|
||||||
|
dec b
|
||||||
|
cpy a d
|
||||||
|
cpy 0 a
|
||||||
|
cpy b c
|
||||||
|
inc a
|
||||||
|
dec c
|
||||||
|
jnz c -2
|
||||||
|
dec d
|
||||||
|
jnz d -5
|
||||||
|
dec b
|
||||||
|
cpy b c
|
||||||
|
cpy c d
|
||||||
|
dec d
|
||||||
|
inc c
|
||||||
|
jnz d -2
|
||||||
|
tgl c
|
||||||
|
cpy -16 c
|
||||||
|
jnz 1 c
|
||||||
|
cpy 94 c
|
||||||
|
jnz 82 d
|
||||||
|
inc a
|
||||||
|
inc d
|
||||||
|
jnz d -2
|
||||||
|
inc c
|
||||||
|
jnz c -5
|
@ -0,0 +1,39 @@
|
|||||||
|
#########################################################################################################################################################################################
|
||||||
|
#...#...............#.#...#.#.......#.....#.....#.....#...............#.....#.#.....#.....#.......#.........#.#.....#.....#.#.#...#...........#.................#.#...#.....#.....#...#.#
|
||||||
|
#.###.#.###.###.###.#.###.#.###.#####.###.#.#.#.#.#.#.#.#.###.#.#####.#.#.#.#.#.#.###.###.#.#.#.#.###.###.#.#.#.#.###.###.#.#.#.#.#####.#####.#.#.###########.###.#.#.#.###.#.###.#.#.#.#
|
||||||
|
#.#...#.....#.....#.#.#...#.#.....#.#.#...#.....#.#.#.....#.............#...#.....#...#.#.........#.#.....#.......#...#.#.#.#.#.........#.....#.#.#...#...#...#...#...#.....#.....#...#.#
|
||||||
|
#.#.###.#.#.#.#.###.#.#.###.#.#####.#.#.#.#.#####.#.#.#.###.#.#.#.#.###.#.#.###.#.#.#.#.###.###.#.#.###.#.#.#.###.###.#.#.#.#.###########.#.###.#.###.#.#.#.#.#.#.#.#.###.#.#.#.###.#.#.#
|
||||||
|
#...........#.#.#...#.#.....#.....#...........#...........#.....#.............#.......#.#...............#.....#.......#.....#...............#1....#.......#.#.....#.......#...#.....#...#
|
||||||
|
#.###.#.#.#.#.#.#.#.#########.#.#.#.#.#.###.#.#.#####.#.#.#.###.#.###.#########.#######.#.#.#.#.#############.#####.#.###.#.#.#.#.#####.#.#######.#####.#.#.#.#.#.#####.#.#.#.#.###.#.###
|
||||||
|
#...#.....#.....#.#.#.#.................#.#.#...#.......#...#...#.#...........#.#...#.......#.#.#...#...#.......#...#.#.#.#.#.....#.....#.....#.......#...#...#...#.......#...#.....#...#
|
||||||
|
#.#.#####.#.#####.#.#.#.#.###.###.#.#.###.#.#.#.#.#######.#.#.#.#.###.#.###.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.#.#####.#.#.#.#######.#.#.#.#.#.#######.#.###.#.#.#.###.###.#.#.#
|
||||||
|
#...#.....#.......#.#...#.#...#...........#...#...#.#.....#...#.......#.......#.#.#.#...#.#.....#.#...#...#.....#.........#...#.........#.#.....#.....#...#.#.#...#...#.....#.#3#.#.....#
|
||||||
|
#.#.###.#.#.###.#######.#.#.#.#.###.###.#####.#.#.#.#.#.#.#.#.#.#####.#.###.###.###.#.#.#.#.#.#.#.###.#.#######.###.#.###.#.#.#.###.#.#.#.#.#.#.#.#.###.###.#.#.###.#.#.###.#.#.#.###.#.#
|
||||||
|
#.......#.#...#.#.#.....#...#...#0..#.#.....#.#.....#.#.#...#...#.....#.....#.#.....#...#.#...#.#...#.#.#...#...#...#...#.#.#.............#.#...#.......#...#...#...#.#.#.....#...#.#...#
|
||||||
|
#####.#####.#.###.#.#.#.#.#.#.#.###.#.#.#.#.#.#.###.#.###.#.#.#.#.#.#.###.###.###.#.#####.#####.#.#.#.#.#.#.#.#.#.#.#.###.#.###.###########.#.#.#########.#.#.#.#.###.#.###.#.###.#.#.#.#
|
||||||
|
#...#...#.......#.#.#...#.......#...#...#.#...#.#...#.....#.....#.....#.#.#.........#.#.......#...#.#...#.#.........#...#.........#...#...#.#.....#.....#...#.#.......#.#.....#.........#
|
||||||
|
#.#.###.#.#####.###.###.#.#.###.###.#.###.#.#.#.#.#.#.#####.#.###.#.#.#.###.###.#####.#.#.#.#.#.###.###.#.#########.#.###.#.#.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.#.#.#.#####.#.###.#.###.#
|
||||||
|
#.....#.#.#...#.#...#.#.....#.#...........#.....#...#.#...#.#.....#.#.#.....#.......#...#.#.#.......#.......#.........#.........#.#.#.#...#...#.#...#...#.......#.....#.....#.......#...#
|
||||||
|
###.#.#.#####.#.#.#.#.#.#.#.#.#.#.#.#.#.#######.###.#.#####.#####.###.#.#.#.###.#.#.###.#.#.#.#.#####.#.###.#.#.#.#########.#.###.#.#.#.#.#####.###.#.#.#.###.#####.#.#.#.#.#.#.#.#.#.###
|
||||||
|
#.#...#.#.......#.#.#...#.......#.#.....#.#.........#...#.....#.................#.........#...#...#.#...#.....#...#...#.#...#...#...#.....#...#.......#.......#.....#...#...#...#...#.#.#
|
||||||
|
#.#.#####.#.#####.###.#.###.#.###.#.#.#.#.#######.#.###.###.#.#.#########.#.###.#########.###.###.#.###.#.#####.#.###.#.#.#.#.#.#.#.#.###.#.#.#.#########.#####.#.#.###.#.#.#.#.#####.#.#
|
||||||
|
#.............#2#.#.....#.#.#...#...#.#...........#.........#...#.#.......#.#.........#.#.#.....#.#.......#...#.....#...#.#.#.......#...#.#.......#.......#...#.........#...#...#.....#.#
|
||||||
|
#.#.###.#.#.#.#.#.#.#.###.#.###.#.#####.###.###.#.#.#.#.#.#.#####.#.#.#.#.###.#.#####.#.#.#.#.#####.#.#####.###.###.#.#.#.#.#.#.#.#.#.#.#.#.###.#.###.#####.#######.#.#.#####.###.###.#.#
|
||||||
|
#...#...#...#...#.#.#.#...#.#.........#.#.#...............#.#...#...#.....#...#.#...#...#...........#.#.....#.....#...#.#.#...#...#.#.....#.....#...........#...#.....#.....#.#6#.....#.#
|
||||||
|
#####.#.#####.###.#.#.#.#.#.###.###.#.###.#.#########.#.###.#.#.#.###.###.#####.#####.###.###.#.#.#.###.#.#.#.#.###.#.###.#.#.#.#.###.#.#.#.###.#.#.#.#.#.###.#.#####.#.###.#.#.#.###.#.#
|
||||||
|
#...#...#.....#.....#...#...#...#.....#.....................#...#.....#.........#.....#.#.#...#.#.........#.....................#...#...#.....#...#...#.....#...#...#.....#.#.......#...#
|
||||||
|
#.###.#.#.#.#.###.#.###.#.#####.#.###.#.#####.#.#######.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###.#####.###.#####.#######.###.#.#.#######.###.#.###.###.#.#.###.#.#.#.#####.#.#.#######.#
|
||||||
|
#.#...#.........#...#.....#.......#.....#.#.....#.#...#.#...#.#...#.........#.....#.......#.......#.......#.......#...#...#.......#.....#.#...........#.........#.#.#...#.#.#.....#...#.#
|
||||||
|
#.#.#.#.#.#.#.#.#.#.#########.#####.#.###.#.#####.#.###.#.#.#.#.#########.#.#.#.#.###.###.#####.###.###.#.#.#.#####.#.#.#########.###.#.###.###.###.#.#######.#.###.###.#.###.###.#.###.#
|
||||||
|
#.....#.....#...#.#.........#...#.....#...#.............#.....#.#.........#...#.......#.................#...#.........#...#...........#.........#.....#.......#.....#.....#.#.#.#...#.#.#
|
||||||
|
#.###.#.###.#.#.#.#.#.#.#.###.###.#.#######.#.###.#####.#.###.#.#.#.#.#.#.#.#.#######.###.###.#######.#.###.###.#####.#.#.#.#.#.#.#.###.#.###.###.###.#.###.#.###.###.#####.#.#.###.#.###
|
||||||
|
#.....#...#.#.....#.#...#.....#.....#.#...#...#...........#.#.#...........#.#.#.....#.....#...#...#...#...#.....#.......#.......#.#.........#.....#.....#.#...#.......#.........#.......#
|
||||||
|
#.#.#.###.#.#.#.###.###.#.###.#####.#.#.#.#.#.#######.###.#.#.#.#####.###.#.#.###.###.#.#.#.#.#.###.#####.###.###.#######.###.#.#.#.#.#.#.#####.#########.#.#.#.#.#.###.#######.###.#.#.#
|
||||||
|
#.......#.#.#.....#.....#.#...#.....#...#.#.....#...#.#...#.....#.......#...#.#.#...#.....#.......#.......#...#.#.......#...#...#.#.#...#.......#.....#.#...#.#.#...#...#.......#.......#
|
||||||
|
#.###.###.#.#.###.#.#.#.#.#.#.#.#.#.###.###.#.#.###.#.###.###.#.#.#.#.#.#####.#.#.#.#.#.#########.#.###.#.#.#.#.#.#.#.#.#.#####.###.###.#.#.#.#.#.#.#.#.#.#.###.#.###.#.#####.#######.#.#
|
||||||
|
#.....#.#5......#.......#...#.#.#...#.#.#.#.....#.....#.#.....#.......#.#...#...#.....#.....#...........#...#.......#.#...#.........#.........#.........#...........#.#.#.....#7....#.#.#
|
||||||
|
#.#.#.#.###.#####.#####.#.###.#.#.#.#.###.#.#.#.#####.#.#.#.#.#.###.#.###.###.###.#.#.###.#.#.#.#.#######.#.#.#####.#.#.###.#.#####.#.#.#.#.#.#.#.#####.#.#.#.#.#####.#.#.#.#.#####.#.#.#
|
||||||
|
#...........#.#...#.........#...#.#.#.#.......#.#.....#...#...#.#.....#...#...#.......#.................................#...#...#.#.....#.....#...#...#.#...#...#.#.......#.........#.#.#
|
||||||
|
###.###.#.###.#.###.#.#.#.#.#.#.#.#.#.#.###.#.#.#.#.#.#.###.###.###.###.#.###.#.###.#####.#.#.###.###.#.#####.#.#.#.#####.#.###.#.#.#.#.###.#.###.###.#.#######.#.#.#.#.###.###.#.#.#.#.#
|
||||||
|
#.......#.#.........#...#.#.#.................#.......#...#.....#...............#...#.#...#...#.......#.#.#.......#.......#...............#4#.......#.....#...#...#.#...#.......#.....#.#
|
||||||
|
#########################################################################################################################################################################################
|
@ -0,0 +1,30 @@
|
|||||||
|
cpy a d
|
||||||
|
cpy 7 c
|
||||||
|
cpy 365 b
|
||||||
|
inc d
|
||||||
|
dec b
|
||||||
|
jnz b -2
|
||||||
|
dec c
|
||||||
|
jnz c -5
|
||||||
|
cpy d a
|
||||||
|
jnz 0 0
|
||||||
|
cpy a b
|
||||||
|
cpy 0 a
|
||||||
|
cpy 2 c
|
||||||
|
jnz b 2
|
||||||
|
jnz 1 6
|
||||||
|
dec b
|
||||||
|
dec c
|
||||||
|
jnz c -4
|
||||||
|
inc a
|
||||||
|
jnz 1 -7
|
||||||
|
cpy 2 b
|
||||||
|
jnz c 2
|
||||||
|
jnz 1 4
|
||||||
|
dec b
|
||||||
|
dec c
|
||||||
|
jnz 1 -4
|
||||||
|
jnz 0 0
|
||||||
|
out b
|
||||||
|
jnz a -19
|
||||||
|
jnz 1 -21
|
@ -0,0 +1,3 @@
|
|||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
gem 'minitest'
|
@ -0,0 +1,13 @@
|
|||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
minitest (5.10.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
minitest
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.13.6
|
@ -0,0 +1,72 @@
|
|||||||
|
include Math
|
||||||
|
|
||||||
|
Instruction = Struct.new(:direction, :blocks) do
|
||||||
|
def initialize(direction, blocks)
|
||||||
|
super(direction, blocks.to_i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Turtle = Struct.new(:orientation, :location) do
|
||||||
|
def self.run(input)
|
||||||
|
instructions = parse(input)
|
||||||
|
turtles = [Turtle.new(-PI/2, [0,0])]
|
||||||
|
|
||||||
|
instructions.each.with_object(turtles) do |instruction, turtles|
|
||||||
|
turtles << turtles.last.turn(instruction.direction).step
|
||||||
|
(instruction.blocks - 1).times do
|
||||||
|
turtles << turtles.last.step
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
turtles
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.parse(input)
|
||||||
|
input.split(', ').map {|step|
|
||||||
|
Instruction.new(*step.scan(/(?<turn>\w)(?<blocks>\d+)/)[0])
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def turn(direction)
|
||||||
|
angle = case direction
|
||||||
|
when ?R
|
||||||
|
PI/2
|
||||||
|
when ?L
|
||||||
|
-PI/2
|
||||||
|
else
|
||||||
|
raise "unexpected direction: #{direction}"
|
||||||
|
end
|
||||||
|
Turtle.new(orientation + angle, location)
|
||||||
|
end
|
||||||
|
|
||||||
|
def step
|
||||||
|
x = location[0] + cos(orientation).to_i
|
||||||
|
y = location[1] + sin(orientation).to_i
|
||||||
|
Turtle.new(orientation, [x, y])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
class TestInstructions < Minitest::Test
|
||||||
|
def test_instructions
|
||||||
|
assert_distance 5, 'R2, L3'
|
||||||
|
assert_distance 2, 'R2, R2, R2'
|
||||||
|
assert_distance 12, 'R5, L5, R5, R3'
|
||||||
|
end
|
||||||
|
|
||||||
|
def assert_distance(expected, instructions)
|
||||||
|
assert_equal expected, Turtle.run(instructions).last.location.map(&:abs).inject(:+)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
turtles = Turtle.run(DATA.read)
|
||||||
|
p turtles.last
|
||||||
|
|
||||||
|
locations = turtles.map(&:location)
|
||||||
|
p locations.find {|location| locations.count(location) > 1 }
|
||||||
|
end
|
||||||
|
|
||||||
|
__END__
|
||||||
|
R4, R3, L3, L2, L1, R1, L1, R2, R3, L5, L5, R4, L4, R2, R4, L3, R3, L3, R3, R4, R2, L1, R2, L3, L2, L1, R3, R5, L1, L4, R2, L4, R3, R1, R2, L5, R2, L189, R5, L5, R52, R3, L1, R4, R5, R1, R4, L1, L3, R2, L2, L3, R4, R3, L2, L5, R4, R5, L2, R2, L1, L3, R3, L4, R4, R5, L1, L1, R3, L5, L2, R76, R2, R2, L1, L3, R189, L3, L4, L1, L3, R5, R4, L1, R1, L1, L1, R2, L4, R2, L5, L5, L5, R2, L4, L5, R4, R4, R5, L5, R3, L1, L3, L1, L1, L3, L4, R5, L3, R5, R3, R3, L5, L5, R3, R4, L3, R3, R1, R3, R2, R2, L1, R1, L3, L3, L3, L1, R2, L1, R4, R4, L1, L1, R3, R3, R4, R1, L5, L2, R2, R3, R2, L3, R4, L5, R1, R4, R5, R4, L4, R1, L3, R1, R3, L2, L3, R1, L2, R3, L3, L1, L3, R4, L4, L5, R3, R5, R4, R1, L2, R3, R5, L5, L4, L1, L1
|
@ -0,0 +1,87 @@
|
|||||||
|
class Keypad
|
||||||
|
MAP = [%w[ . . 1 . . ],
|
||||||
|
%w[ . 2 3 4 . ],
|
||||||
|
%w[ 5 6 7 8 9 ],
|
||||||
|
%w[ . A B C . ],
|
||||||
|
%w[ . . D . . ]]
|
||||||
|
|
||||||
|
attr_reader :x, :y
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@x, @y = 0, 2
|
||||||
|
end
|
||||||
|
|
||||||
|
def button
|
||||||
|
MAP[y][x]
|
||||||
|
end
|
||||||
|
|
||||||
|
def <<(dir)
|
||||||
|
delta = case dir
|
||||||
|
when ?U
|
||||||
|
[0, 1]
|
||||||
|
when ?D
|
||||||
|
[0, -1]
|
||||||
|
when ?L
|
||||||
|
[-1, 0]
|
||||||
|
when ?R
|
||||||
|
[1, 0]
|
||||||
|
else
|
||||||
|
raise "unexpected direction: '#{dir}'"
|
||||||
|
end
|
||||||
|
next_x = x + delta[0]
|
||||||
|
next_y = y - delta[1]
|
||||||
|
|
||||||
|
next_x = [[4, next_x].min, 0].max
|
||||||
|
next_y = [[4, next_y].min, 0].max
|
||||||
|
|
||||||
|
@x, @y = next_x, next_y if MAP[next_y][next_x] != ?.
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
keypad = Keypad.new
|
||||||
|
code = DATA.read.lines.map {|line|
|
||||||
|
line.strip.chars.each do |char|
|
||||||
|
keypad << char
|
||||||
|
end
|
||||||
|
keypad.button
|
||||||
|
}
|
||||||
|
puts code.join
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestDay2 < Minitest::Test
|
||||||
|
def test_day2
|
||||||
|
keypad = Keypad.new
|
||||||
|
assert_equal ?5, keypad.button
|
||||||
|
|
||||||
|
'ULL'.chars.each do |char|
|
||||||
|
keypad << char
|
||||||
|
end
|
||||||
|
assert_equal ?5, keypad.button
|
||||||
|
|
||||||
|
'RRDDD'.chars.each do |char|
|
||||||
|
keypad << char
|
||||||
|
end
|
||||||
|
assert_equal ?D, keypad.button
|
||||||
|
|
||||||
|
'LURDL'.chars.each do |char|
|
||||||
|
keypad << char
|
||||||
|
end
|
||||||
|
assert_equal ?B, keypad.button
|
||||||
|
|
||||||
|
'UUUUD'.chars.each do |char|
|
||||||
|
keypad << char
|
||||||
|
end
|
||||||
|
assert_equal ?3, keypad.button
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
__END__
|
||||||
|
RDRRDLRRUDRUUUULDDRDUULLDUULDURDDUDRULDLUDDRLRDUDDURRRRURDURLLRDRUUULDLLLURDRLLULLUULULLLDLLLRRURRLRDUULRURRUDRRDRLURLRURLLULRUURRUURDDLDRDLDLLUDUULLLUUUUDULLDRRUURLDURDDDDDRLLRRURDLUDRRUUDLRRLLRDURDUDDDLRDDRDLRULLUULRULRLLULDDRURUUDLDDULDRLLURDDUDDUDRDUDLDRRRDURRLDRDRLDLLDUDDDULULRRULRLLURDRRDDUUUUUULRUDLRRDURDLRDLUDLDURUDDUUURUDLUUULDLRDURDLDUUDLDDDURUUDUUDRLRDULLDUULUDRUDRLRRRDLLDRUDULRRUDDURLDRURRLLRRRDRLLDLULULRRUURRURLLUDRRLRULURLDDDDDURUDRRRRULLUUDLDDLUUL
|
||||||
|
ULURUDLULDULDLLDDLLLDRRLLUDRRDRDUDURUDLRRRRUDRDDURLRRULLDLURLDULLUDDLUDURDUURRRRLDLRLDDULLRURLULLDDRUDLRRRLDRRRDLDRLLDDRRDDLUUDRUDDLULRURLDURRLLDLRUDLLRRUULUDRLLLRLDULURRRRRDDUURDRRUUDULRUULDDULRLUDLUDDULLRLRDDLRLLURRRULDLRRRUURRLDDRDLRDLRRDRDLDRDUDRDURUUDRLRRULRDLLDLLRRRDRLDRLRLRLLLURURDULUUDDRLLDDDRURRURLRDDULLRURUDRRDRLRRRLDLRLRULDRLUURRUUULRLDLLURLLLDLLLDRRDULRURRRRLUDLLRRUDLRUDRURDRRDLUUURRDLRLRUUUDURDLUDURRUUDURLUDDDULLDRDLLDDDRLDDDRLDLDDDDUDUUDURUUDULRDDLULDRDRLURLUDRDLUULLULRLULRDDRULDUDDURUURULUDLUURLURU
|
||||||
|
URLURDDRLLURRRLDLDLUDUURDRUDLLLRRDLUUULRRLURRRLUDUDLRLDDRUDLRRRULUDUDLLLULULLLRUDULDDDLLLRRRLRURDULUDDDULDLULURRRDLURDLRLLDUDRUDURDRRURULDRDUDLLRDDDUDDURLUULLULRDRRLDDLDURLRRRLDRDLDULRULRRRLRLLDULRDLURLRUUDURRUUDLLUDRUDLRLDUUDLURRRDDUUDUDRLDLDDRURDDLLDDRDLRLRDLLLUDLUUDRLRLRDDRDLRDLLUULLLLUULLDLLDLRDLRLRRLUUDLLRLRUDRURULRLRLULUDRLLUDDUDDULRLDDRUUUURULDRRULLLDUURULUDRLLURLRRLDLRRLDDRRRDUDDUDLDDLULUDDUURDLLLRLDLRDRUUUUUDDDLDRDDRRRLRURRRRDURDRURUDLURRURDRLRUUDDLDRRULLDURDRLRRDURURUULRDUDLDRDDLULULRDRRUDDRLLRLULRLLUUDRDUUDDUDLRUUDLLUULLRUULUDDLURRRLLDRLRRLLRULLDUULURLLLLUUULDR
|
||||||
|
LDUURULLRLDRRUUDUUUURUUUDDDURRDDLRDLLRDDRULDDUURUDDURLLUDRDUDRDULDRRRLULUDRULLLLDRLLDRDLDLLRURULUDDDDURDDDRLLUDLDRULRDLDUDDDUUDLLRLLLDLRLRLRRUDDULDDDUDLDDLUDDULDLLLLULLLLDDURDDURRRDDRLRLLUDLLUDDDUDURUDRLRDRULULDDRULDLULULLRUULRLDULUURRDRDRRDLDDDRRLUULDLUDRDDUDLRURULLDDURLDDRULUDLDDDRDRLLRDLLUURRRURDRLRURLDDLURDRURDDURLLRLRUDUUDLDUDURRDDURDRDDUDDDUDUURURDDLLRUUDDRRDULDDLLDLRULUULRUUDLLDRLULDULDDUDLULRULDRLLDUULDDDLRLLRLULDDULDDRRRLDRRLURULRDDRDLRRDUDDRDRRRRUDUDLLRRDRRURRUURDRULDDUDURLUDDURDUDRDUULLDRURUURURDRRLDDLDLUURLULRUDURDRUUURRURRDRUDRUURDURLRULULLLULDLLDLRRLDRDLUULUDDDLRDRLRLDRUDUDRLLRL
|
||||||
|
LURLUURLURDUUDRUDLDLLURRRDLDRRRULDDRRDRDUUDRUDURDDDURLUDDLULUULRRLLRULUDRDDRRRLDURDUDDURDDDLRLDDLULLDRDDLUUDUURRRLULRUURRRRLLULDUDRDUURRRURRDRDUDUDLUDULLDLDDRLUDRURDULURLURRLLURLLLRLUURLRUDLUDDRLURRUULULRLURRURUDURDLDLDDUDDRDLLRLLRRULDDRUDURUDDDUDLLRDLRUDULLLRRRUURUDUUULLRDUDRURUDULLDLLUUUDRULRLLRRDDDDUDULDRDRLLDDLLDDDURRUDURLDLRDRUURDDURLRDRURLRRLLRLULDRRLRUDURDUURRLUUULUDDDLRLULRDRLLURRRDLURDUUDRRRLUURRLLUDLUDLUULLRRDLLRDDRURRUURLDDLRLRLRUDLDLRLRDRRDLLLRDLRDUDLLDDDRD
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@
|
|||||||
|
require 'digest/md5'
|
||||||
|
|
||||||
|
door_id = 'wtnhxymk'
|
||||||
|
password = Array.new(8, nil)
|
||||||
|
|
||||||
|
VALID = (0..7).map(&:to_s).to_a
|
||||||
|
|
||||||
|
index = 0
|
||||||
|
while password.any?(&:nil?)
|
||||||
|
puts index if index % 1000000 == 0
|
||||||
|
hash = Digest::MD5.hexdigest("#{door_id}#{index}")
|
||||||
|
if hash.start_with?('00000')
|
||||||
|
i = hash[5]
|
||||||
|
if VALID.include?(i) && password[i.to_i].nil?
|
||||||
|
password[i.to_i] = hash[6]
|
||||||
|
p hash, password
|
||||||
|
end
|
||||||
|
end
|
||||||
|
index += 1
|
||||||
|
end
|
||||||
|
|
||||||
|
puts password.join
|
@ -0,0 +1,607 @@
|
|||||||
|
counts = Array.new(8) { Hash.new(0) }
|
||||||
|
DATA.read.lines.each.with_object(counts) do |line, counts|
|
||||||
|
(0..7).each do |i|
|
||||||
|
counts[i][line[i]] += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
p counts.map {|h| h.sort_by(&:last).first.first }.join
|
||||||
|
|
||||||
|
__END__
|
||||||
|
eqvmfqnf
|
||||||
|
jvkezmqt
|
||||||
|
zcssqwlw
|
||||||
|
cuacncgg
|
||||||
|
ikmpzpoh
|
||||||
|
dzpzobdl
|
||||||
|
qlsnuhuq
|
||||||
|
fwqnoklz
|
||||||
|
cibgplfq
|
||||||
|
ktsqfcrv
|
||||||
|
vcknjnnx
|
||||||
|
upaiaprz
|
||||||
|
bpqmolbq
|
||||||
|
dflhnpnk
|
||||||
|
heqjflch
|
||||||
|
cmewgodc
|
||||||
|
aaorgxkn
|
||||||
|
plekphpw
|
||||||
|
fcofrbnm
|
||||||
|
bmnrygtb
|
||||||
|
rqsqsqio
|
||||||
|
rnlntwxa
|
||||||
|
cxjqqfyl
|
||||||
|
jxjnxchb
|
||||||
|
kfgutxmi
|
||||||
|
cbciszxd
|
||||||
|
irakoonu
|
||||||
|
pcgfnycg
|
||||||
|
fgeivexo
|
||||||
|
ujxdaehw
|
||||||
|
ejkvrych
|
||||||
|
nhlklbgr
|
||||||
|
etjuhgry
|
||||||
|
mkgkmykm
|
||||||
|
teuhrfto
|
||||||
|
juqfslbn
|
||||||
|
tbwxabzi
|
||||||
|
ngdnwsey
|
||||||
|
amcibkyo
|
||||||
|
xlvxwqpj
|
||||||
|
vdbzuvkh
|
||||||
|
gkagbzep
|
||||||
|
kqxzkeip
|
||||||
|
bxccztho
|
||||||
|
vqrywqlc
|
||||||
|
jbzhecjc
|
||||||
|
ozkulgxo
|
||||||
|
uiwbofuk
|
||||||
|
vfwhdnao
|
||||||
|
tycxucwd
|
||||||
|
jvhuljfs
|
||||||
|
xxhqhruc
|
||||||
|
upnndiiz
|
||||||
|
andxywil
|
||||||
|
lowofbqv
|
||||||
|
iroqzrry
|
||||||
|
nmkkqqjb
|
||||||
|
daijrfna
|
||||||
|
jmcstxlq
|
||||||
|
jdefvuaa
|
||||||
|
nkbmowfi
|
||||||
|
agotazda
|
||||||
|
kufoymrn
|
||||||
|
yijwfjyi
|
||||||
|
hyqvaouj
|
||||||
|
soueuhln
|
||||||
|
oomsbkmh
|
||||||
|
buadtssf
|
||||||
|
rvgpeeza
|
||||||
|
hjiymcmd
|
||||||
|
ebgivdap
|
||||||
|
xzieipbg
|
||||||
|
ttpudwqt
|
||||||
|
hndwuncw
|
||||||
|
wqypfkvf
|
||||||
|
jqxuaipm
|
||||||
|
fzwlgxxq
|
||||||
|
ddshbtya
|
||||||
|
ardlcgyi
|
||||||
|
soznvuyw
|
||||||
|
vyizuolp
|
||||||
|
ckfaxyvs
|
||||||
|
nbsjkibi
|
||||||
|
lsrkrdzp
|
||||||
|
oqoffwxa
|
||||||
|
bdugjlsm
|
||||||
|
rtcsylfd
|
||||||
|
fezoiliq
|
||||||
|
zwpaphcb
|
||||||
|
sdlouhyf
|
||||||
|
cfejwvls
|
||||||
|
xehddxku
|
||||||
|
edhrtdcv
|
||||||
|
ehouagvy
|
||||||
|
hoyxjfsj
|
||||||
|
quggpnpx
|
||||||
|
muqbijbe
|
||||||
|
rcnniddd
|
||||||
|
kzfeiaui
|
||||||
|
sywienef
|
||||||
|
xpxftuvq
|
||||||
|
dtbhnslt
|
||||||
|
mpcpkmfa
|
||||||
|
wysutlci
|
||||||
|
fmqomicz
|
||||||
|
mhshprxr
|
||||||
|
uxwfcftt
|
||||||
|
ehbonsrl
|
||||||
|
pjobilxx
|
||||||
|
chiebfox
|
||||||
|
lqfxgyqg
|
||||||
|
vupcjatm
|
||||||
|
wfljafhc
|
||||||
|
iygojeny
|
||||||
|
gqxmgneu
|
||||||
|
nhlwllak
|
||||||
|
xnkqpulv
|
||||||
|
awijbvef
|
||||||
|
pbcrrwqo
|
||||||
|
dobsejtb
|
||||||
|
dqdoapkc
|
||||||
|
hngrxdtx
|
||||||
|
dodsxysb
|
||||||
|
bmtyelak
|
||||||
|
cctuwwvt
|
||||||
|
rytlmoyr
|
||||||
|
fqnbuxdi
|
||||||
|
irrqladc
|
||||||
|
wnvtsneg
|
||||||
|
ugqqdmlj
|
||||||
|
nljnjiod
|
||||||
|
knidxxzh
|
||||||
|
dfymoqgt
|
||||||
|
fwgtjafh
|
||||||
|
fpdioivz
|
||||||
|
tqbewmti
|
||||||
|
mcqtbbee
|
||||||
|
pivfrpou
|
||||||
|
tdyguuos
|
||||||
|
eldmvvmi
|
||||||
|
oaiqnizz
|
||||||
|
fyqpxgwa
|
||||||
|
lzcxsazq
|
||||||
|
zhsoljwz
|
||||||
|
qnzafmjl
|
||||||
|
oopnnndl
|
||||||
|
cozehoor
|
||||||
|
bspuwzxm
|
||||||
|
ubtunnep
|
||||||
|
smdhpvxr
|
||||||
|
nsvxiwje
|
||||||
|
mmqcklsm
|
||||||
|
hhxaciaq
|
||||||
|
zzgoxhws
|
||||||
|
fvntouun
|
||||||
|
skxzmzyg
|
||||||
|
znptwuqu
|
||||||
|
aknwvojo
|
||||||
|
wftmjrsf
|
||||||
|
gahrordj
|
||||||
|
oegnykag
|
||||||
|
lvlqswph
|
||||||
|
qsowvoem
|
||||||
|
sjspasfp
|
||||||
|
ygjohzfd
|
||||||
|
jeuxigsi
|
||||||
|
lgxdtudx
|
||||||
|
qadlkrel
|
||||||
|
lpfxosdq
|
||||||
|
sgaoqkzr
|
||||||
|
rtlvuhfv
|
||||||
|
ftbbsgbn
|
||||||
|
kjxttiqu
|
||||||
|
gylikswu
|
||||||
|
lquhgmrs
|
||||||
|
hxrjagjm
|
||||||
|
epxxekgx
|
||||||
|
uwwlcbrx
|
||||||
|
feincdjp
|
||||||
|
uyxhfhsc
|
||||||
|
nojuykoh
|
||||||
|
psjuuqwu
|
||||||
|
gtlohqkz
|
||||||
|
sbzsbgrw
|
||||||
|
nbhwuxfb
|
||||||
|
phmtunrh
|
||||||
|
zmfbkvgv
|
||||||
|
mjumfpia
|
||||||
|
gkubcshe
|
||||||
|
jmavrhyd
|
||||||
|
cgffkftg
|
||||||
|
msurhdct
|
||||||
|
bvchukal
|
||||||
|
psxaluvg
|
||||||
|
tvgwjhhp
|
||||||
|
chyizcxv
|
||||||
|
dumebzkd
|
||||||
|
cjpzbkzk
|
||||||
|
ngrgseyn
|
||||||
|
xmwcmaaz
|
||||||
|
puyrbiup
|
||||||
|
xxkpznis
|
||||||
|
rguwrpua
|
||||||
|
jmolhvnn
|
||||||
|
kpeqtlan
|
||||||
|
zzgvoxlp
|
||||||
|
erbintcn
|
||||||
|
kcykvysv
|
||||||
|
ixildajc
|
||||||
|
tnvgihwe
|
||||||
|
iqwgozpj
|
||||||
|
txkgyflb
|
||||||
|
vsyzebrw
|
||||||
|
ehnbcjef
|
||||||
|
hfevkbhf
|
||||||
|
wihlqtmp
|
||||||
|
vmrmnygo
|
||||||
|
ulvsuvsn
|
||||||
|
wgxnwihd
|
||||||
|
lexgbpsv
|
||||||
|
kxqcjoeb
|
||||||
|
daodpsbb
|
||||||
|
azyqmyhv
|
||||||
|
mvzcatwb
|
||||||
|
jtvqkjrv
|
||||||
|
rtdsaqqd
|
||||||
|
xrhzmnzl
|
||||||
|
wgfiwjrh
|
||||||
|
hgrgqqxm
|
||||||
|
nwwcxoyq
|
||||||
|
qlqyhpzs
|
||||||
|
ovujfily
|
||||||
|
pzvyeryk
|
||||||
|
strswprn
|
||||||
|
nrxclypc
|
||||||
|
sfusjxzi
|
||||||
|
pclbdadw
|
||||||
|
sjhggndb
|
||||||
|
xjcutuyt
|
||||||
|
qjjjeytj
|
||||||
|
qqjrkdlb
|
||||||
|
pyzodjdh
|
||||||
|
brnmlkmi
|
||||||
|
lgipidfp
|
||||||
|
ttrfbjry
|
||||||
|
iidwekro
|
||||||
|
vnwlnyma
|
||||||
|
ylxatduo
|
||||||
|
eiokdbqr
|
||||||
|
laezjjte
|
||||||
|
kkjhfsvp
|
||||||
|
buaegtpg
|
||||||
|
vzgqletc
|
||||||
|
pkdseade
|
||||||
|
nvpyxokq
|
||||||
|
yiysgxpe
|
||||||
|
xqhtubam
|
||||||
|
lcstpvke
|
||||||
|
nnskqssg
|
||||||
|
mkrbdovg
|
||||||
|
camkeppm
|
||||||
|
iqjvotay
|
||||||
|
bodlfgkj
|
||||||
|
jiigwvzc
|
||||||
|
ixpghywy
|
||||||
|
qlzyjgue
|
||||||
|
ugyjqtzn
|
||||||
|
odeuuiir
|
||||||
|
yfhianfx
|
||||||
|
seewayqj
|
||||||
|
lstpeuja
|
||||||
|
paqqnxsr
|
||||||
|
guwkidny
|
||||||
|
susussgu
|
||||||
|
ezcayehr
|
||||||
|
tdzgvcqf
|
||||||
|
vckcnsio
|
||||||
|
obawbapm
|
||||||
|
ipebazzk
|
||||||
|
tmcpmiou
|
||||||
|
hpdlfwor
|
||||||
|
ygxlfzzr
|
||||||
|
ltyxhtbx
|
||||||
|
olzqonbx
|
||||||
|
grsxreqs
|
||||||
|
bvkjcoux
|
||||||
|
fxtuxuub
|
||||||
|
fcbxdenm
|
||||||
|
smilcfvz
|
||||||
|
ewbndkiz
|
||||||
|
httsnfqu
|
||||||
|
ghorvefw
|
||||||
|
anevvqir
|
||||||
|
sajdzwho
|
||||||
|
becdemdn
|
||||||
|
vxktmxsj
|
||||||
|
xyawkeuw
|
||||||
|
pdefbxmh
|
||||||
|
yejymgfr
|
||||||
|
mipvhnsc
|
||||||
|
tjdyqpzd
|
||||||
|
rbvqirmd
|
||||||
|
mscuflvd
|
||||||
|
draqqcda
|
||||||
|
xfegqcjg
|
||||||
|
auypywpb
|
||||||
|
gitgzstq
|
||||||
|
zveqbzgt
|
||||||
|
wxrpedre
|
||||||
|
haptyecu
|
||||||
|
tkeexmhe
|
||||||
|
ujijprbd
|
||||||
|
xjiyczwq
|
||||||
|
ehpygnrr
|
||||||
|
guvejwyt
|
||||||
|
zmtsftky
|
||||||
|
wqtklwiz
|
||||||
|
lwlessio
|
||||||
|
lrknmhzd
|
||||||
|
pkdkwevt
|
||||||
|
ncryoeth
|
||||||
|
hjsqtpxu
|
||||||
|
ivmqrwok
|
||||||
|
qozgijgu
|
||||||
|
ueujvbbe
|
||||||
|
nfxgrmsd
|
||||||
|
zeetrgdl
|
||||||
|
drfbcgxo
|
||||||
|
rjjeraeb
|
||||||
|
hshozlgv
|
||||||
|
sfgvrnez
|
||||||
|
zaoctlsa
|
||||||
|
hebtzqvy
|
||||||
|
qckvuyif
|
||||||
|
wxyszmev
|
||||||
|
ddxfwklt
|
||||||
|
jqlzpfvu
|
||||||
|
wimoefwx
|
||||||
|
kabvtrno
|
||||||
|
pbebkvkm
|
||||||
|
govfwjof
|
||||||
|
xfjkvoup
|
||||||
|
fuzxcese
|
||||||
|
zbavvmyy
|
||||||
|
mwvkrnjg
|
||||||
|
gtkyelff
|
||||||
|
bffyzhnt
|
||||||
|
vlffqryw
|
||||||
|
ofncqcqw
|
||||||
|
cnzzrjjj
|
||||||
|
txpzvykz
|
||||||
|
ukkgeavq
|
||||||
|
wdnieioq
|
||||||
|
avosnedk
|
||||||
|
ipaavrqp
|
||||||
|
eeuurfat
|
||||||
|
sfhhwqzw
|
||||||
|
vjzopzad
|
||||||
|
kdbjonqz
|
||||||
|
uaksjfuc
|
||||||
|
lumpaomf
|
||||||
|
ysebmwel
|
||||||
|
dobryhxj
|
||||||
|
oaymjqwh
|
||||||
|
qjfflojj
|
||||||
|
zqmfgwre
|
||||||
|
uimjngfs
|
||||||
|
ihwelccg
|
||||||
|
yetrodjy
|
||||||
|
aifvwtws
|
||||||
|
xiyruzqr
|
||||||
|
anuvhykm
|
||||||
|
lelbjsno
|
||||||
|
csjwqotd
|
||||||
|
pptsysey
|
||||||
|
joptcdmq
|
||||||
|
tghbxpmq
|
||||||
|
jduwbxiy
|
||||||
|
obcdlahg
|
||||||
|
dxwrzytc
|
||||||
|
axfrxlgz
|
||||||
|
gepnmvel
|
||||||
|
ztmcynch
|
||||||
|
otnicgga
|
||||||
|
bdzobaoe
|
||||||
|
vkljxwnm
|
||||||
|
qvhmitgh
|
||||||
|
yflyxbjn
|
||||||
|
qshihqki
|
||||||
|
debaxqpw
|
||||||
|
fhfcjogj
|
||||||
|
huwpnaxx
|
||||||
|
jpwnrjbc
|
||||||
|
waylsrcm
|
||||||
|
aurdpcqc
|
||||||
|
yanpouht
|
||||||
|
ybwbpcak
|
||||||
|
uzvvspnj
|
||||||
|
tftluckv
|
||||||
|
uwmditoa
|
||||||
|
wsndxybi
|
||||||
|
dotcxasi
|
||||||
|
lxgmptwn
|
||||||
|
bpdmcbgt
|
||||||
|
dpjqvvck
|
||||||
|
jmgwudli
|
||||||
|
rimvxcoa
|
||||||
|
vdlacqbl
|
||||||
|
qtzwuqny
|
||||||
|
olzuzuuq
|
||||||
|
grlyyegi
|
||||||
|
mhgtadti
|
||||||
|
yrfdffzj
|
||||||
|
wbxadryy
|
||||||
|
bhaniozq
|
||||||
|
jdishqcx
|
||||||
|
kmiatkjj
|
||||||
|
asmxdrmv
|
||||||
|
riqdknna
|
||||||
|
fsuetmeg
|
||||||
|
iikajhgb
|
||||||
|
ioswsaws
|
||||||
|
yygpvtfb
|
||||||
|
egjoltik
|
||||||
|
bypcbzpk
|
||||||
|
zaumpggx
|
||||||
|
sdizezlv
|
||||||
|
xoyallwy
|
||||||
|
gicvajdl
|
||||||
|
qzowhuxa
|
||||||
|
iyftbzns
|
||||||
|
srzjxhve
|
||||||
|
xwasqzay
|
||||||
|
qznuxpqj
|
||||||
|
mlnjztxf
|
||||||
|
rxkcymao
|
||||||
|
huvxpllx
|
||||||
|
fmnrqasq
|
||||||
|
mwwigmka
|
||||||
|
yovjkmou
|
||||||
|
kvdrltte
|
||||||
|
nymvepew
|
||||||
|
vnrjykzc
|
||||||
|
unoegpvv
|
||||||
|
trrejbob
|
||||||
|
zwsdnqnb
|
||||||
|
ljsztmgl
|
||||||
|
tiznomfv
|
||||||
|
zxtxholt
|
||||||
|
csufzpiw
|
||||||
|
jgbjpucz
|
||||||
|
mpakkeil
|
||||||
|
ixmbvvbi
|
||||||
|
ejkhcxjj
|
||||||
|
zaokljpl
|
||||||
|
oeocaxdv
|
||||||
|
ytlpsbcx
|
||||||
|
hpfserxf
|
||||||
|
nzregysc
|
||||||
|
etevckof
|
||||||
|
bcqkqdvb
|
||||||
|
xzdhhick
|
||||||
|
gystpgoo
|
||||||
|
ciiyzxxr
|
||||||
|
kwstdxnn
|
||||||
|
ztregxhx
|
||||||
|
qhvkjoqe
|
||||||
|
ugirgwax
|
||||||
|
nhukpdut
|
||||||
|
yfiibmmd
|
||||||
|
cwkayjcp
|
||||||
|
ebmlabrp
|
||||||
|
kvjhyrag
|
||||||
|
wbphpfkc
|
||||||
|
ucqvhibs
|
||||||
|
dwuavsyy
|
||||||
|
jwrdsobl
|
||||||
|
hytijctt
|
||||||
|
plcumjhv
|
||||||
|
hwexsihm
|
||||||
|
ppmfzgqt
|
||||||
|
moumyuiw
|
||||||
|
zvgbsabj
|
||||||
|
yraygmws
|
||||||
|
vopzuhor
|
||||||
|
hafhljwp
|
||||||
|
gmqpchdg
|
||||||
|
yyahpihs
|
||||||
|
xvqakyyp
|
||||||
|
deamarun
|
||||||
|
yunihcvw
|
||||||
|
gcdjqqmu
|
||||||
|
kctibuxy
|
||||||
|
gcvlcfhc
|
||||||
|
ydwoxfvg
|
||||||
|
epszfvuh
|
||||||
|
xjjvwpbz
|
||||||
|
gzpdnthj
|
||||||
|
mnkrjgwz
|
||||||
|
ldfwvvfq
|
||||||
|
tydqesvl
|
||||||
|
envwzaqv
|
||||||
|
xvwyzkpe
|
||||||
|
rmpgcjeo
|
||||||
|
pkupgxup
|
||||||
|
ekqizsjl
|
||||||
|
agvenhgu
|
||||||
|
vscaqtri
|
||||||
|
rwfjrjpg
|
||||||
|
imthkcta
|
||||||
|
sjpmwqmg
|
||||||
|
fptfgekn
|
||||||
|
ohbwdbjm
|
||||||
|
ccfrphaj
|
||||||
|
gyeaqkog
|
||||||
|
onybscve
|
||||||
|
qztmoant
|
||||||
|
abjnbrpd
|
||||||
|
zompdzuf
|
||||||
|
bamomvbw
|
||||||
|
kzmmgexu
|
||||||
|
wzoxohtn
|
||||||
|
wvgmvwdt
|
||||||
|
nlgkxmbu
|
||||||
|
vyoddxyf
|
||||||
|
phmrizhk
|
||||||
|
zhksysjf
|
||||||
|
atcfvzlx
|
||||||
|
iyabqkly
|
||||||
|
rnwidjpm
|
||||||
|
cgwddumw
|
||||||
|
fcoylnzw
|
||||||
|
lsxosfra
|
||||||
|
vbcdgfiw
|
||||||
|
aenlmdgh
|
||||||
|
fvtmormn
|
||||||
|
rllxkznc
|
||||||
|
asocydmo
|
||||||
|
zcltimlr
|
||||||
|
hrqmccpt
|
||||||
|
dfmlsvtz
|
||||||
|
ntuhkbws
|
||||||
|
oziqleds
|
||||||
|
wkzbguis
|
||||||
|
coapfihl
|
||||||
|
irzpsuql
|
||||||
|
uxaowrls
|
||||||
|
tdbefhcf
|
||||||
|
wsyusuph
|
||||||
|
lpbdrmyn
|
||||||
|
slrzkkms
|
||||||
|
wqvzwiyq
|
||||||
|
vinahrsd
|
||||||
|
thsnmqjr
|
||||||
|
kwrzmakz
|
||||||
|
ifhclifl
|
||||||
|
wkqahikb
|
||||||
|
rwnchlkr
|
||||||
|
rkhpdbbk
|
||||||
|
vqnzigbf
|
||||||
|
olzziafs
|
||||||
|
qcylpbtk
|
||||||
|
fzhtmgji
|
||||||
|
qvnyctmb
|
||||||
|
ouolgwup
|
||||||
|
xkbrykjx
|
||||||
|
apbamszk
|
||||||
|
mlrlmpoh
|
||||||
|
kdneakuk
|
||||||
|
rrhhrtfk
|
||||||
|
cbgzlbgz
|
||||||
|
mfxencal
|
||||||
|
bkctqwpe
|
||||||
|
rjdxhqof
|
||||||
|
ogcbntmp
|
||||||
|
bbftqdfk
|
||||||
|
kikdidvm
|
||||||
|
mnjgwven
|
||||||
|
yurxwsge
|
||||||
|
qlrdtzad
|
||||||
|
jalffvnu
|
||||||
|
tayfycwr
|
||||||
|
jhivnvaw
|
||||||
|
yuvffepz
|
||||||
|
mwhczdkv
|
||||||
|
xltzklis
|
||||||
|
iellkyqk
|
||||||
|
krpktxhh
|
||||||
|
rkawdywu
|
||||||
|
pqqitomj
|
||||||
|
nrhhtvtv
|
||||||
|
gwerzhwc
|
||||||
|
qlsgifir
|
||||||
|
ssvyspem
|
||||||
|
udnnmvxk
|
||||||
|
albkdbsh
|
||||||
|
obxcrucu
|
||||||
|
dnyytrcx
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,258 @@
|
|||||||
|
class Screen
|
||||||
|
attr_reader :width, :height, :pixels
|
||||||
|
|
||||||
|
def initialize(width, height)
|
||||||
|
@width, @height = width, height
|
||||||
|
@pixels = Array.new(height) { Array.new(width, false) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
pixels.map {|row| row.map {|pixel| pixel ? ?# : ?. }.join }.join("\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
def <<(instruction)
|
||||||
|
case instruction
|
||||||
|
when /rect (\d+)x(\d+)/
|
||||||
|
$1.to_i.times do |x|
|
||||||
|
$2.to_i.times do |y|
|
||||||
|
pixels[y][x] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
when /rotate column x=(\d+) by (\d+)/
|
||||||
|
col = pixels.map {|row| row[$1.to_i] }.rotate(-$2.to_i)
|
||||||
|
pixels.each do |row|
|
||||||
|
row[$1.to_i] = col.shift
|
||||||
|
end
|
||||||
|
when /rotate row y=(\d+) by (\d+)/
|
||||||
|
row = pixels[$1.to_i].rotate(-$2.to_i)
|
||||||
|
pixels[$1.to_i] = row
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
screen = Screen.new(50, 6)
|
||||||
|
DATA.lines.each do |line|
|
||||||
|
screen << line
|
||||||
|
end
|
||||||
|
|
||||||
|
puts screen
|
||||||
|
puts screen.pixels.map {|row| row.count {|pixel| pixel }}.inject(:+)
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestScreen < Minitest::Test
|
||||||
|
def test_screen
|
||||||
|
screen = Screen.new(7, 3)
|
||||||
|
assert_equal <<-PIXELS.chomp, screen.to_s
|
||||||
|
.......
|
||||||
|
.......
|
||||||
|
.......
|
||||||
|
PIXELS
|
||||||
|
|
||||||
|
screen << 'rect 3x2'
|
||||||
|
assert_equal <<-PIXELS.chomp, screen.to_s
|
||||||
|
###....
|
||||||
|
###....
|
||||||
|
.......
|
||||||
|
PIXELS
|
||||||
|
|
||||||
|
screen << 'rotate column x=1 by 1'
|
||||||
|
assert_equal <<-PIXELS.chomp, screen.to_s
|
||||||
|
#.#....
|
||||||
|
###....
|
||||||
|
.#.....
|
||||||
|
PIXELS
|
||||||
|
|
||||||
|
screen << 'rotate row y=0 by 4'
|
||||||
|
assert_equal <<-PIXELS.chomp, screen.to_s
|
||||||
|
....#.#
|
||||||
|
###....
|
||||||
|
.#.....
|
||||||
|
PIXELS
|
||||||
|
|
||||||
|
screen << 'rotate column x=1 by 1'
|
||||||
|
assert_equal <<-PIXELS.chomp, screen.to_s
|
||||||
|
.#..#.#
|
||||||
|
#.#....
|
||||||
|
.#.....
|
||||||
|
PIXELS
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
__END__
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 4
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 3
|
||||||
|
rect 2x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 5
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x1
|
||||||
|
rotate row y=0 by 6
|
||||||
|
rect 5x1
|
||||||
|
rotate row y=0 by 2
|
||||||
|
rect 1x3
|
||||||
|
rotate row y=2 by 8
|
||||||
|
rotate row y=0 by 8
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 7x1
|
||||||
|
rotate row y=2 by 24
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate column x=2 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 7x1
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=22 by 1
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate row y=2 by 18
|
||||||
|
rotate row y=0 by 12
|
||||||
|
rotate column x=8 by 2
|
||||||
|
rotate column x=7 by 1
|
||||||
|
rotate column x=5 by 2
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 9x1
|
||||||
|
rotate row y=3 by 28
|
||||||
|
rotate row y=1 by 28
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=18 by 1
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate column x=14 by 1
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 2
|
||||||
|
rotate column x=10 by 3
|
||||||
|
rotate column x=8 by 1
|
||||||
|
rotate column x=7 by 2
|
||||||
|
rotate column x=6 by 1
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 1
|
||||||
|
rotate column x=2 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 19x1
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=24 by 1
|
||||||
|
rotate column x=23 by 1
|
||||||
|
rotate column x=14 by 1
|
||||||
|
rotate column x=9 by 2
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate row y=3 by 5
|
||||||
|
rotate row y=2 by 3
|
||||||
|
rotate row y=1 by 7
|
||||||
|
rotate row y=0 by 5
|
||||||
|
rotate column x=0 by 2
|
||||||
|
rect 3x2
|
||||||
|
rotate column x=16 by 2
|
||||||
|
rotate row y=3 by 27
|
||||||
|
rotate row y=2 by 5
|
||||||
|
rotate row y=0 by 20
|
||||||
|
rotate column x=8 by 2
|
||||||
|
rotate column x=7 by 1
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 3
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=1 by 2
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 9x1
|
||||||
|
rotate row y=4 by 42
|
||||||
|
rotate row y=3 by 40
|
||||||
|
rotate row y=1 by 30
|
||||||
|
rotate row y=0 by 40
|
||||||
|
rotate column x=37 by 2
|
||||||
|
rotate column x=36 by 3
|
||||||
|
rotate column x=35 by 1
|
||||||
|
rotate column x=33 by 1
|
||||||
|
rotate column x=32 by 1
|
||||||
|
rotate column x=31 by 3
|
||||||
|
rotate column x=30 by 1
|
||||||
|
rotate column x=28 by 1
|
||||||
|
rotate column x=27 by 1
|
||||||
|
rotate column x=25 by 1
|
||||||
|
rotate column x=23 by 3
|
||||||
|
rotate column x=22 by 1
|
||||||
|
rotate column x=21 by 1
|
||||||
|
rotate column x=20 by 1
|
||||||
|
rotate column x=18 by 1
|
||||||
|
rotate column x=17 by 1
|
||||||
|
rotate column x=16 by 3
|
||||||
|
rotate column x=15 by 1
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 1
|
||||||
|
rotate column x=11 by 2
|
||||||
|
rotate column x=10 by 1
|
||||||
|
rotate column x=8 by 1
|
||||||
|
rotate column x=7 by 2
|
||||||
|
rotate column x=5 by 1
|
||||||
|
rotate column x=3 by 3
|
||||||
|
rotate column x=2 by 1
|
||||||
|
rotate column x=1 by 1
|
||||||
|
rotate column x=0 by 1
|
||||||
|
rect 39x1
|
||||||
|
rotate column x=44 by 2
|
||||||
|
rotate column x=42 by 2
|
||||||
|
rotate column x=35 by 5
|
||||||
|
rotate column x=34 by 2
|
||||||
|
rotate column x=32 by 2
|
||||||
|
rotate column x=29 by 2
|
||||||
|
rotate column x=25 by 5
|
||||||
|
rotate column x=24 by 2
|
||||||
|
rotate column x=19 by 2
|
||||||
|
rotate column x=15 by 4
|
||||||
|
rotate column x=14 by 2
|
||||||
|
rotate column x=12 by 3
|
||||||
|
rotate column x=9 by 2
|
||||||
|
rotate column x=5 by 5
|
||||||
|
rotate column x=4 by 2
|
||||||
|
rotate row y=5 by 5
|
||||||
|
rotate row y=4 by 38
|
||||||
|
rotate row y=3 by 10
|
||||||
|
rotate row y=2 by 46
|
||||||
|
rotate row y=1 by 10
|
||||||
|
rotate column x=48 by 4
|
||||||
|
rotate column x=47 by 3
|
||||||
|
rotate column x=46 by 3
|
||||||
|
rotate column x=45 by 1
|
||||||
|
rotate column x=43 by 1
|
||||||
|
rotate column x=37 by 5
|
||||||
|
rotate column x=36 by 5
|
||||||
|
rotate column x=35 by 4
|
||||||
|
rotate column x=33 by 1
|
||||||
|
rotate column x=32 by 5
|
||||||
|
rotate column x=31 by 5
|
||||||
|
rotate column x=28 by 5
|
||||||
|
rotate column x=27 by 5
|
||||||
|
rotate column x=26 by 3
|
||||||
|
rotate column x=25 by 4
|
||||||
|
rotate column x=23 by 1
|
||||||
|
rotate column x=17 by 5
|
||||||
|
rotate column x=16 by 5
|
||||||
|
rotate column x=13 by 1
|
||||||
|
rotate column x=12 by 5
|
||||||
|
rotate column x=11 by 5
|
||||||
|
rotate column x=3 by 1
|
||||||
|
rotate column x=0 by 1
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,341 @@
|
|||||||
|
class Factory
|
||||||
|
attr_reader :bots, :bins
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@bots = Hash.new {|h,k| h[k] = Bot.new(self) }
|
||||||
|
@bins = Hash.new {|h,k| h[k] = Bin.new }
|
||||||
|
end
|
||||||
|
|
||||||
|
def <<(instruction)
|
||||||
|
case instruction
|
||||||
|
when /value (\d+) goes to bot (\d+)/
|
||||||
|
bots[$2.to_i] << $1.to_i
|
||||||
|
when /bot (\d+) gives low to (.+) (\d+) and high to (.+) (\d+)/
|
||||||
|
bot = bots[$1.to_i]
|
||||||
|
bot.outs = [out($2, $3.to_i),
|
||||||
|
out($4, $5.to_i)]
|
||||||
|
else
|
||||||
|
raise "invalid instruction: #{instruction}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def out(type, id)
|
||||||
|
case type
|
||||||
|
when 'bot'
|
||||||
|
bots[id]
|
||||||
|
when 'output'
|
||||||
|
bins[id]
|
||||||
|
else
|
||||||
|
raise "invalid type: #{type}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Bot
|
||||||
|
attr_reader :factory, :values, :outs, :log
|
||||||
|
|
||||||
|
def initialize(factory)
|
||||||
|
@factory = factory
|
||||||
|
@values = []
|
||||||
|
@log = []
|
||||||
|
end
|
||||||
|
|
||||||
|
def <<(value)
|
||||||
|
values << value
|
||||||
|
try_run
|
||||||
|
end
|
||||||
|
|
||||||
|
def outs=(outs)
|
||||||
|
@outs = outs
|
||||||
|
try_run
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def try_run
|
||||||
|
return unless outs && values.size == 2
|
||||||
|
|
||||||
|
log << values.sort
|
||||||
|
|
||||||
|
low, high = values.sort
|
||||||
|
values.clear
|
||||||
|
|
||||||
|
outs[0] << low
|
||||||
|
outs[1] << high
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Bin
|
||||||
|
attr_reader :value
|
||||||
|
|
||||||
|
def <<(value)
|
||||||
|
@value = value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
factory = Factory.new
|
||||||
|
DATA.each_line do |line|
|
||||||
|
factory << line
|
||||||
|
end
|
||||||
|
|
||||||
|
p factory.bins.values_at(0, 1, 2).map(&:value).inject(:*)
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestDay10 < Minitest::Test
|
||||||
|
def test_day_10
|
||||||
|
instructions = <<INSTRUCTIONS
|
||||||
|
value 5 goes to bot 2
|
||||||
|
bot 2 gives low to bot 1 and high to bot 0
|
||||||
|
value 3 goes to bot 1
|
||||||
|
bot 1 gives low to output 1 and high to bot 0
|
||||||
|
bot 0 gives low to output 2 and high to output 0
|
||||||
|
value 2 goes to bot 2
|
||||||
|
INSTRUCTIONS
|
||||||
|
|
||||||
|
factory = Factory.new
|
||||||
|
instructions.lines.each do |line|
|
||||||
|
factory << line
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_equal [5, 2, 3], factory.bins.sort_by {|k,_| k }.map(&:last).map(&:value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
__END__
|
||||||
|
bot 135 gives low to bot 27 and high to bot 166
|
||||||
|
bot 57 gives low to bot 4 and high to bot 186
|
||||||
|
bot 115 gives low to output 2 and high to bot 80
|
||||||
|
bot 44 gives low to bot 175 and high to bot 88
|
||||||
|
bot 167 gives low to bot 42 and high to bot 168
|
||||||
|
bot 18 gives low to bot 32 and high to bot 89
|
||||||
|
bot 199 gives low to bot 75 and high to bot 40
|
||||||
|
bot 129 gives low to bot 178 and high to bot 147
|
||||||
|
bot 163 gives low to bot 49 and high to bot 160
|
||||||
|
value 2 goes to bot 143
|
||||||
|
bot 176 gives low to bot 139 and high to bot 117
|
||||||
|
bot 194 gives low to bot 11 and high to bot 37
|
||||||
|
bot 99 gives low to bot 163 and high to bot 138
|
||||||
|
value 53 goes to bot 9
|
||||||
|
bot 159 gives low to output 1 and high to bot 207
|
||||||
|
bot 0 gives low to bot 105 and high to bot 13
|
||||||
|
bot 6 gives low to bot 66 and high to bot 116
|
||||||
|
bot 81 gives low to bot 54 and high to bot 10
|
||||||
|
bot 27 gives low to bot 188 and high to bot 199
|
||||||
|
bot 186 gives low to bot 84 and high to bot 123
|
||||||
|
bot 154 gives low to bot 21 and high to bot 107
|
||||||
|
bot 188 gives low to bot 92 and high to bot 75
|
||||||
|
bot 164 gives low to bot 115 and high to bot 28
|
||||||
|
bot 106 gives low to bot 48 and high to bot 155
|
||||||
|
bot 193 gives low to bot 101 and high to bot 110
|
||||||
|
bot 136 gives low to bot 166 and high to bot 152
|
||||||
|
bot 7 gives low to bot 156 and high to bot 24
|
||||||
|
bot 103 gives low to bot 182 and high to bot 0
|
||||||
|
bot 101 gives low to bot 16 and high to bot 72
|
||||||
|
bot 86 gives low to bot 102 and high to bot 48
|
||||||
|
bot 78 gives low to bot 177 and high to bot 113
|
||||||
|
value 17 goes to bot 198
|
||||||
|
bot 54 gives low to bot 161 and high to bot 111
|
||||||
|
bot 46 gives low to bot 74 and high to bot 39
|
||||||
|
bot 22 gives low to bot 56 and high to bot 161
|
||||||
|
bot 5 gives low to bot 186 and high to bot 123
|
||||||
|
bot 137 gives low to bot 202 and high to bot 85
|
||||||
|
bot 202 gives low to bot 108 and high to bot 118
|
||||||
|
bot 174 gives low to bot 0 and high to bot 21
|
||||||
|
bot 119 gives low to bot 68 and high to bot 53
|
||||||
|
bot 151 gives low to bot 83 and high to bot 164
|
||||||
|
bot 160 gives low to bot 33 and high to bot 97
|
||||||
|
bot 76 gives low to bot 40 and high to bot 120
|
||||||
|
bot 60 gives low to bot 103 and high to bot 174
|
||||||
|
bot 203 gives low to bot 120 and high to bot 132
|
||||||
|
bot 157 gives low to bot 116 and high to bot 11
|
||||||
|
bot 98 gives low to bot 208 and high to bot 16
|
||||||
|
bot 142 gives low to bot 114 and high to bot 71
|
||||||
|
bot 143 gives low to bot 198 and high to bot 146
|
||||||
|
bot 30 gives low to bot 59 and high to bot 135
|
||||||
|
bot 87 gives low to bot 39 and high to bot 104
|
||||||
|
bot 161 gives low to bot 173 and high to bot 125
|
||||||
|
bot 104 gives low to bot 34 and high to bot 68
|
||||||
|
bot 70 gives low to bot 112 and high to bot 176
|
||||||
|
bot 92 gives low to bot 122 and high to bot 46
|
||||||
|
bot 148 gives low to bot 28 and high to bot 58
|
||||||
|
bot 49 gives low to output 0 and high to bot 33
|
||||||
|
bot 140 gives low to bot 136 and high to bot 134
|
||||||
|
bot 16 gives low to bot 170 and high to bot 79
|
||||||
|
bot 13 gives low to bot 204 and high to bot 22
|
||||||
|
bot 189 gives low to bot 148 and high to bot 45
|
||||||
|
bot 89 gives low to bot 73 and high to bot 86
|
||||||
|
value 31 goes to bot 50
|
||||||
|
bot 166 gives low to bot 199 and high to bot 76
|
||||||
|
bot 178 gives low to output 5 and high to bot 159
|
||||||
|
bot 58 gives low to bot 167 and high to bot 126
|
||||||
|
bot 149 gives low to bot 180 and high to bot 153
|
||||||
|
bot 131 gives low to bot 97 and high to bot 66
|
||||||
|
bot 64 gives low to bot 192 and high to bot 44
|
||||||
|
bot 117 gives low to bot 140 and high to bot 134
|
||||||
|
bot 156 gives low to bot 174 and high to bot 154
|
||||||
|
value 11 goes to bot 19
|
||||||
|
bot 1 gives low to bot 26 and high to bot 144
|
||||||
|
bot 171 gives low to output 7 and high to bot 150
|
||||||
|
bot 31 gives low to bot 110 and high to bot 127
|
||||||
|
value 5 goes to bot 162
|
||||||
|
bot 9 gives low to bot 8 and high to bot 128
|
||||||
|
bot 93 gives low to bot 109 and high to bot 188
|
||||||
|
value 47 goes to bot 184
|
||||||
|
bot 80 gives low to output 19 and high to bot 42
|
||||||
|
bot 155 gives low to bot 149 and high to bot 52
|
||||||
|
bot 108 gives low to output 14 and high to bot 47
|
||||||
|
bot 165 gives low to bot 200 and high to bot 141
|
||||||
|
bot 184 gives low to bot 162 and high to bot 20
|
||||||
|
bot 50 gives low to bot 143 and high to bot 4
|
||||||
|
bot 28 gives low to bot 80 and high to bot 167
|
||||||
|
bot 66 gives low to bot 151 and high to bot 55
|
||||||
|
bot 201 gives low to bot 124 and high to bot 41
|
||||||
|
bot 204 gives low to bot 94 and high to bot 56
|
||||||
|
bot 134 gives low to bot 152 and high to bot 203
|
||||||
|
bot 51 gives low to bot 36 and high to bot 142
|
||||||
|
bot 2 gives low to bot 52 and high to bot 201
|
||||||
|
bot 183 gives low to bot 38 and high to bot 78
|
||||||
|
bot 26 gives low to bot 142 and high to bot 69
|
||||||
|
bot 182 gives low to bot 3 and high to bot 105
|
||||||
|
bot 72 gives low to bot 79 and high to bot 209
|
||||||
|
bot 8 gives low to bot 185 and high to bot 65
|
||||||
|
bot 75 gives low to bot 46 and high to bot 87
|
||||||
|
bot 38 gives low to bot 82 and high to bot 177
|
||||||
|
bot 147 gives low to bot 159 and high to bot 207
|
||||||
|
bot 195 gives low to bot 104 and high to bot 119
|
||||||
|
bot 63 gives low to bot 126 and high to bot 172
|
||||||
|
bot 144 gives low to bot 69 and high to bot 82
|
||||||
|
bot 83 gives low to output 3 and high to bot 115
|
||||||
|
bot 43 gives low to bot 194 and high to bot 91
|
||||||
|
value 37 goes to bot 8
|
||||||
|
bot 82 gives low to bot 193 and high to bot 31
|
||||||
|
bot 150 gives low to output 18 and high to bot 49
|
||||||
|
value 23 goes to bot 182
|
||||||
|
bot 67 gives low to bot 61 and high to bot 165
|
||||||
|
bot 77 gives low to bot 107 and high to bot 122
|
||||||
|
bot 130 gives low to bot 141 and high to bot 30
|
||||||
|
value 73 goes to bot 12
|
||||||
|
bot 41 gives low to bot 99 and high to bot 208
|
||||||
|
bot 170 gives low to bot 131 and high to bot 6
|
||||||
|
bot 120 gives low to bot 195 and high to bot 132
|
||||||
|
bot 118 gives low to bot 47 and high to bot 129
|
||||||
|
bot 100 gives low to bot 150 and high to bot 163
|
||||||
|
value 67 goes to bot 185
|
||||||
|
bot 152 gives low to bot 76 and high to bot 203
|
||||||
|
bot 162 gives low to bot 67 and high to bot 205
|
||||||
|
value 7 goes to bot 32
|
||||||
|
bot 121 gives low to bot 172 and high to bot 158
|
||||||
|
bot 65 gives low to bot 57 and high to bot 5
|
||||||
|
bot 122 gives low to bot 81 and high to bot 74
|
||||||
|
bot 21 gives low to bot 13 and high to bot 17
|
||||||
|
bot 23 gives low to bot 133 and high to bot 1
|
||||||
|
bot 36 gives low to bot 201 and high to bot 114
|
||||||
|
bot 138 gives low to bot 160 and high to bot 131
|
||||||
|
bot 55 gives low to bot 164 and high to bot 148
|
||||||
|
bot 123 gives low to bot 70 and high to bot 176
|
||||||
|
value 61 goes to bot 61
|
||||||
|
bot 107 gives low to bot 17 and high to bot 81
|
||||||
|
bot 19 gives low to bot 60 and high to bot 156
|
||||||
|
value 41 goes to bot 12
|
||||||
|
value 29 goes to bot 18
|
||||||
|
value 13 goes to bot 60
|
||||||
|
bot 62 gives low to bot 20 and high to bot 64
|
||||||
|
bot 40 gives low to bot 87 and high to bot 195
|
||||||
|
bot 90 gives low to bot 64 and high to bot 112
|
||||||
|
bot 69 gives low to bot 71 and high to bot 193
|
||||||
|
bot 35 gives low to output 4 and high to bot 108
|
||||||
|
bot 177 gives low to bot 31 and high to bot 113
|
||||||
|
bot 59 gives low to bot 93 and high to bot 27
|
||||||
|
bot 187 gives low to bot 89 and high to bot 94
|
||||||
|
bot 73 gives low to output 9 and high to bot 102
|
||||||
|
bot 45 gives low to bot 58 and high to bot 63
|
||||||
|
bot 39 gives low to bot 23 and high to bot 34
|
||||||
|
bot 110 gives low to bot 72 and high to bot 190
|
||||||
|
bot 181 gives low to bot 15 and high to bot 93
|
||||||
|
bot 95 gives low to bot 7 and high to bot 15
|
||||||
|
bot 33 gives low to output 13 and high to bot 169
|
||||||
|
bot 20 gives low to bot 205 and high to bot 192
|
||||||
|
bot 158 gives low to bot 85 and high to bot 29
|
||||||
|
bot 61 gives low to bot 14 and high to bot 200
|
||||||
|
value 71 goes to bot 103
|
||||||
|
bot 192 gives low to bot 130 and high to bot 175
|
||||||
|
bot 112 gives low to bot 44 and high to bot 139
|
||||||
|
bot 96 gives low to bot 144 and high to bot 38
|
||||||
|
bot 32 gives low to output 11 and high to bot 73
|
||||||
|
bot 180 gives low to output 10 and high to bot 171
|
||||||
|
value 59 goes to bot 3
|
||||||
|
bot 208 gives low to bot 138 and high to bot 170
|
||||||
|
bot 198 gives low to bot 184 and high to bot 62
|
||||||
|
bot 207 gives low to output 16 and high to output 8
|
||||||
|
bot 196 gives low to bot 43 and high to bot 91
|
||||||
|
bot 10 gives low to bot 111 and high to bot 133
|
||||||
|
bot 168 gives low to bot 35 and high to bot 202
|
||||||
|
bot 113 gives low to bot 127 and high to bot 196
|
||||||
|
bot 169 gives low to output 20 and high to bot 83
|
||||||
|
bot 3 gives low to bot 18 and high to bot 187
|
||||||
|
bot 52 gives low to bot 153 and high to bot 124
|
||||||
|
bot 190 gives low to bot 209 and high to bot 43
|
||||||
|
bot 125 gives low to bot 2 and high to bot 36
|
||||||
|
bot 173 gives low to bot 155 and high to bot 2
|
||||||
|
bot 153 gives low to bot 171 and high to bot 100
|
||||||
|
bot 34 gives low to bot 1 and high to bot 96
|
||||||
|
bot 84 gives low to bot 90 and high to bot 70
|
||||||
|
bot 12 gives low to bot 9 and high to bot 128
|
||||||
|
bot 24 gives low to bot 154 and high to bot 77
|
||||||
|
bot 179 gives low to bot 63 and high to bot 121
|
||||||
|
bot 85 gives low to bot 118 and high to bot 29
|
||||||
|
bot 11 gives low to bot 189 and high to bot 145
|
||||||
|
bot 116 gives low to bot 55 and high to bot 189
|
||||||
|
bot 132 gives low to bot 119 and high to bot 53
|
||||||
|
bot 15 gives low to bot 24 and high to bot 109
|
||||||
|
bot 102 gives low to output 15 and high to bot 197
|
||||||
|
value 43 goes to bot 206
|
||||||
|
bot 37 gives low to bot 145 and high to bot 25
|
||||||
|
bot 53 gives low to bot 183 and high to bot 78
|
||||||
|
bot 197 gives low to output 12 and high to bot 180
|
||||||
|
bot 47 gives low to output 17 and high to bot 178
|
||||||
|
bot 17 gives low to bot 22 and high to bot 54
|
||||||
|
bot 56 gives low to bot 106 and high to bot 173
|
||||||
|
bot 191 gives low to bot 135 and high to bot 136
|
||||||
|
bot 127 gives low to bot 190 and high to bot 196
|
||||||
|
bot 172 gives low to bot 137 and high to bot 158
|
||||||
|
bot 4 gives low to bot 146 and high to bot 84
|
||||||
|
bot 42 gives low to output 6 and high to bot 35
|
||||||
|
bot 145 gives low to bot 45 and high to bot 179
|
||||||
|
bot 133 gives low to bot 51 and high to bot 26
|
||||||
|
bot 139 gives low to bot 88 and high to bot 117
|
||||||
|
bot 105 gives low to bot 187 and high to bot 204
|
||||||
|
bot 126 gives low to bot 168 and high to bot 137
|
||||||
|
bot 128 gives low to bot 65 and high to bot 5
|
||||||
|
bot 114 gives low to bot 41 and high to bot 98
|
||||||
|
bot 14 gives low to bot 206 and high to bot 95
|
||||||
|
bot 91 gives low to bot 37 and high to bot 25
|
||||||
|
bot 206 gives low to bot 19 and high to bot 7
|
||||||
|
value 19 goes to bot 14
|
||||||
|
bot 185 gives low to bot 50 and high to bot 57
|
||||||
|
bot 205 gives low to bot 165 and high to bot 130
|
||||||
|
bot 109 gives low to bot 77 and high to bot 92
|
||||||
|
bot 175 gives low to bot 30 and high to bot 191
|
||||||
|
bot 29 gives low to bot 129 and high to bot 147
|
||||||
|
bot 74 gives low to bot 10 and high to bot 23
|
||||||
|
bot 94 gives low to bot 86 and high to bot 106
|
||||||
|
bot 25 gives low to bot 179 and high to bot 121
|
||||||
|
bot 71 gives low to bot 98 and high to bot 101
|
||||||
|
bot 209 gives low to bot 157 and high to bot 194
|
||||||
|
bot 88 gives low to bot 191 and high to bot 140
|
||||||
|
bot 124 gives low to bot 100 and high to bot 99
|
||||||
|
bot 97 gives low to bot 169 and high to bot 151
|
||||||
|
bot 141 gives low to bot 181 and high to bot 59
|
||||||
|
bot 146 gives low to bot 62 and high to bot 90
|
||||||
|
bot 200 gives low to bot 95 and high to bot 181
|
||||||
|
bot 79 gives low to bot 6 and high to bot 157
|
||||||
|
bot 48 gives low to bot 197 and high to bot 149
|
||||||
|
value 3 goes to bot 67
|
||||||
|
bot 68 gives low to bot 96 and high to bot 183
|
||||||
|
bot 111 gives low to bot 125 and high to bot 51
|
@ -0,0 +1,203 @@
|
|||||||
|
require 'delegate'
|
||||||
|
|
||||||
|
State = Struct.new(:floors, :elevator) do
|
||||||
|
def self.from_s(input)
|
||||||
|
elevator = nil
|
||||||
|
floors = input.lines.reverse.map.with_index {|line, index|
|
||||||
|
_, e, *items = line.split(/\s+/)
|
||||||
|
elevator = index if e == ?E
|
||||||
|
Floor.new(items.reject {|item| item == ?. })
|
||||||
|
}
|
||||||
|
new(floors, elevator)
|
||||||
|
end
|
||||||
|
|
||||||
|
def ==(state)
|
||||||
|
eql?(state)
|
||||||
|
end
|
||||||
|
|
||||||
|
def eql?(state)
|
||||||
|
elevator == state.elevator && floors.zip(state.floors).all? {|a,b| a.eql?(b) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def candidates
|
||||||
|
[-1, 1].flat_map {|delta|
|
||||||
|
next_floor = elevator + delta
|
||||||
|
next [] unless (0...floors.size).cover?(next_floor)
|
||||||
|
|
||||||
|
elevator_items = [1, 2].flat_map {|n| current_floor.to_a.combination(n).to_a }
|
||||||
|
elevator_items.map {|items| move(items, elevator, next_floor) }
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def irradiated?
|
||||||
|
floors.any?(&:irradiated?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
floors.map.with_index {|floor, index|
|
||||||
|
"#{elevator == index ??E:?.} #{floor.inspect}"
|
||||||
|
}.reverse.join("\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def current_floor
|
||||||
|
floors[elevator]
|
||||||
|
end
|
||||||
|
|
||||||
|
def move(items, from, to)
|
||||||
|
from_floor = Floor.new(floors[from] - items)
|
||||||
|
to_floor = Floor.new(floors[to] + items)
|
||||||
|
|
||||||
|
floors = self.floors.clone
|
||||||
|
floors[from] = from_floor
|
||||||
|
floors[to] = to_floor
|
||||||
|
|
||||||
|
self.class.new(floors, to)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Floor < SimpleDelegator
|
||||||
|
attr_reader :source
|
||||||
|
|
||||||
|
def initialize(items)
|
||||||
|
@source = super(Set.new(items))
|
||||||
|
end
|
||||||
|
|
||||||
|
def microchips
|
||||||
|
source.select {|item| item.end_with?(?M) }.map {|item| item.chomp(?M) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def generators
|
||||||
|
source.select {|item| item.end_with?(?G) }.map {|item| item.chomp(?G) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def shielded
|
||||||
|
microchips & generators
|
||||||
|
end
|
||||||
|
|
||||||
|
def irradiated?
|
||||||
|
!(generators.empty? || (microchips - generators).empty?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def hash
|
||||||
|
id.hash
|
||||||
|
end
|
||||||
|
|
||||||
|
def eql?(floor)
|
||||||
|
id == floor.id
|
||||||
|
end
|
||||||
|
|
||||||
|
def id
|
||||||
|
[shielded.size, (microchips - shielded).size, (generators - shielded).size]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
INPUT = <<-INPUT
|
||||||
|
F4 .
|
||||||
|
F3 . CoM CuM RM PlM
|
||||||
|
F2 . CoG CuG RG PlG
|
||||||
|
F1 E PrG PrM EG EM DG DM
|
||||||
|
INPUT
|
||||||
|
|
||||||
|
Step = Struct.new(:state, :count)
|
||||||
|
seen = Set.new
|
||||||
|
steps = [Step.new(State.from_s(INPUT), 0)]
|
||||||
|
|
||||||
|
until steps.empty? do
|
||||||
|
step = steps.shift
|
||||||
|
|
||||||
|
# puts
|
||||||
|
# puts "Steps: #{step.count}"
|
||||||
|
# puts step.state
|
||||||
|
|
||||||
|
if step.state.floors[0..-2].all?(&:empty?)
|
||||||
|
puts
|
||||||
|
puts "Steps: #{step.count}"
|
||||||
|
puts step.state
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
|
step.state.candidates.each do |candidate|
|
||||||
|
next if seen.include?(candidate)
|
||||||
|
|
||||||
|
seen << candidate
|
||||||
|
next if candidate.irradiated?
|
||||||
|
|
||||||
|
steps << Step.new(candidate, step.count + 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestDay11 < Minitest::Test
|
||||||
|
INPUT = <<-INPUT
|
||||||
|
F4 . . . . .
|
||||||
|
F3 . . . LG .
|
||||||
|
F2 . HG . . .
|
||||||
|
F1 E . HM . LM
|
||||||
|
INPUT
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@state = State.from_s(INPUT)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_initialize
|
||||||
|
assert_equal 4, @state.floors.size
|
||||||
|
assert_equal 0, @state.elevator
|
||||||
|
|
||||||
|
floor = @state.floors[0]
|
||||||
|
assert_equal 2, floor.size
|
||||||
|
assert_equal %w[ H L ], floor.microchips
|
||||||
|
assert_empty floor.generators
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_equality
|
||||||
|
state = State.from_s(<<-INPUT)
|
||||||
|
F4 . . . . .
|
||||||
|
F3 . . . HG .
|
||||||
|
F2 . LG . . .
|
||||||
|
F1 E . HM . LM
|
||||||
|
INPUT
|
||||||
|
assert_equal @state, state
|
||||||
|
assert_equal @state.hash, state.hash
|
||||||
|
assert @state.eql?(state)
|
||||||
|
|
||||||
|
set = Set.new
|
||||||
|
set << @state
|
||||||
|
assert_includes set, @state
|
||||||
|
assert_includes set, state
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_candidates
|
||||||
|
candidates = @state.candidates
|
||||||
|
assert_equal 3, candidates.size
|
||||||
|
|
||||||
|
candidate = candidates[0]
|
||||||
|
assert_equal 1, candidate.elevator
|
||||||
|
assert_equal %W[ LM ], candidate.floors[0].to_a
|
||||||
|
assert_equal %W[ HG HM ], candidate.floors[1].to_a
|
||||||
|
|
||||||
|
candidate = candidates[1]
|
||||||
|
assert_equal 1, candidate.elevator
|
||||||
|
assert_equal %W[ HM ], candidate.floors[0].to_a
|
||||||
|
assert_equal %W[ HG LM ], candidate.floors[1].to_a
|
||||||
|
|
||||||
|
candidate = candidates[2]
|
||||||
|
assert_equal 1, candidate.elevator
|
||||||
|
assert_empty candidate.floors[0]
|
||||||
|
assert_equal %W[ HG HM LM ], candidate.floors[1].to_a
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_irradiated
|
||||||
|
refute Floor.new(%w[]).irradiated?
|
||||||
|
refute Floor.new(%w[ BM ]).irradiated?
|
||||||
|
refute Floor.new(%w[ BG ]).irradiated?
|
||||||
|
refute Floor.new(%w[ BM BG ]).irradiated?
|
||||||
|
refute Floor.new(%w[ BM BG LG ]).irradiated?
|
||||||
|
|
||||||
|
assert Floor.new(%w[ BM LG ]).irradiated?
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,51 @@
|
|||||||
|
registers = { ?a => 0, ?b => 0, ?c => 1, ?d => 0 }
|
||||||
|
pc = 0
|
||||||
|
data = DATA.each_line.to_a
|
||||||
|
|
||||||
|
while pc < data.size
|
||||||
|
line = data[pc]
|
||||||
|
case line
|
||||||
|
when /cpy ([a-d]|\d+) ([a-d])/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
registers[$2] = value
|
||||||
|
pc += 1
|
||||||
|
when /inc ([a-d])/
|
||||||
|
registers[$1] += 1
|
||||||
|
pc += 1
|
||||||
|
when /dec ([a-d])/
|
||||||
|
registers[$1] -= 1
|
||||||
|
pc += 1
|
||||||
|
when /jnz ([a-d]|\d+) (-?\d+)/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
pc += value.zero? ? 1 : $2.to_i
|
||||||
|
else
|
||||||
|
raise "invalid line: #{line}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
p registers
|
||||||
|
|
||||||
|
__END__
|
||||||
|
cpy 1 a
|
||||||
|
cpy 1 b
|
||||||
|
cpy 26 d
|
||||||
|
jnz c 2
|
||||||
|
jnz 1 5
|
||||||
|
cpy 7 c
|
||||||
|
inc d
|
||||||
|
dec c
|
||||||
|
jnz c -2
|
||||||
|
cpy a c
|
||||||
|
inc a
|
||||||
|
dec b
|
||||||
|
jnz b -2
|
||||||
|
cpy c b
|
||||||
|
dec d
|
||||||
|
jnz d -6
|
||||||
|
cpy 16 c
|
||||||
|
cpy 17 d
|
||||||
|
inc a
|
||||||
|
dec d
|
||||||
|
jnz d -2
|
||||||
|
dec c
|
||||||
|
jnz c -5
|
@ -0,0 +1,87 @@
|
|||||||
|
class Maze
|
||||||
|
attr_reader :walls
|
||||||
|
|
||||||
|
def initialize(seed)
|
||||||
|
@walls = Hash.new {|h,(x,y)|
|
||||||
|
num = x*x + 3*x + 2*x*y + y + y*y + seed
|
||||||
|
h[[x,y]] = num.to_s(2).chars.count {|c| c == ?1 }.odd?
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def [](x,y)
|
||||||
|
walls[[x, y]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def solve(start)
|
||||||
|
Solver.new(self, start)
|
||||||
|
end
|
||||||
|
|
||||||
|
class Solver
|
||||||
|
attr_reader :maze, :seen, :current
|
||||||
|
|
||||||
|
def initialize(maze, start)
|
||||||
|
@maze = maze
|
||||||
|
@seen = Set.new
|
||||||
|
@current = [[start, 0]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def walk
|
||||||
|
return enum_for(__method__) unless block_given?
|
||||||
|
|
||||||
|
loop do
|
||||||
|
pos, count = current.shift
|
||||||
|
seen << pos
|
||||||
|
x,y = pos
|
||||||
|
|
||||||
|
[[1,0], [-1,0], [0,1], [0,-1]].map {|dx, dy|
|
||||||
|
[x + dx, y + dy]
|
||||||
|
}.reject {|x,y|
|
||||||
|
x.negative? || y.negative?
|
||||||
|
}.reject {|x,y|
|
||||||
|
maze[x,y]
|
||||||
|
}.reject {|pos|
|
||||||
|
seen.include?(pos)
|
||||||
|
}.each do |pos|
|
||||||
|
current << [pos, count + 1]
|
||||||
|
end
|
||||||
|
|
||||||
|
yield [pos, count]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
maze = Maze.new(1358)
|
||||||
|
p maze.solve([1,1]).walk.take_while {|pos,count| count < 51 }.map(&:first).uniq.size
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestMaze < Minitest::Test
|
||||||
|
def setup
|
||||||
|
@maze = Maze.new(10)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_maze
|
||||||
|
maze_s = <<-MAZE.chomp.split("\n").map(&:chars)
|
||||||
|
.#.####.##
|
||||||
|
..#..#...#
|
||||||
|
#....##...
|
||||||
|
###.#.###.
|
||||||
|
.##..#..#.
|
||||||
|
..##....#.
|
||||||
|
#...##.###
|
||||||
|
MAZE
|
||||||
|
maze_s.each.with_index do |row, y|
|
||||||
|
row.each.with_index do |c, x|
|
||||||
|
assert_equal c, @maze[x,y] ??#:?.
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_solve
|
||||||
|
assert_equal 11, @maze.solve([1,1], [7,4])
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,33 @@
|
|||||||
|
require 'digest/md5'
|
||||||
|
|
||||||
|
class Keys
|
||||||
|
attr_reader :seed, :hash
|
||||||
|
|
||||||
|
def initialize(seed)
|
||||||
|
@seed = seed
|
||||||
|
@hash = Hash.new {|h,k|
|
||||||
|
hash = Digest::MD5.hexdigest("#{seed}#{k}")
|
||||||
|
2016.times do
|
||||||
|
hash = Digest::MD5.hexdigest(hash)
|
||||||
|
end
|
||||||
|
h[k] = hash
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def each
|
||||||
|
return enum_for(__method__) unless block_given?
|
||||||
|
|
||||||
|
(0..Float::INFINITY).each do |index|
|
||||||
|
next unless /(.)\1\1/ =~ hash[index]
|
||||||
|
|
||||||
|
needle = $1 * 5
|
||||||
|
stream = (1..1000).map {|i| hash[index + i] }
|
||||||
|
next unless stream.any? {|h| h.include?(needle) }
|
||||||
|
|
||||||
|
yield [index, hash[index]]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
keys = Keys.new('qzyelonm')
|
||||||
|
p keys.each.take(64).last
|
@ -0,0 +1,25 @@
|
|||||||
|
Disc = Struct.new(:positions, :start_position) do
|
||||||
|
def position_at(time)
|
||||||
|
(start_position + time) % positions
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
discs = DATA.each_line.map {|line|
|
||||||
|
/Disc #\d has (?<positions>\d+) positions; at time=0, it is at position (?<position>\d+)./ =~ line
|
||||||
|
Disc.new(positions.to_i, position.to_i)
|
||||||
|
}
|
||||||
|
discs << Disc.new(11, 0)
|
||||||
|
|
||||||
|
p (0..Float::INFINITY).find {|t|
|
||||||
|
discs.each.with_index.all? {|disc, index|
|
||||||
|
disc.position_at(t + index) == 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
__END__
|
||||||
|
Disc #1 has 17 positions; at time=0, it is at position 15.
|
||||||
|
Disc #2 has 3 positions; at time=0, it is at position 2.
|
||||||
|
Disc #3 has 19 positions; at time=0, it is at position 4.
|
||||||
|
Disc #4 has 13 positions; at time=0, it is at position 2.
|
||||||
|
Disc #5 has 7 positions; at time=0, it is at position 2.
|
||||||
|
Disc #6 has 5 positions; at time=0, it is at position 0.
|
@ -0,0 +1,24 @@
|
|||||||
|
def step(a)
|
||||||
|
b = a.reverse.tr('10', '01')
|
||||||
|
"#{a}0#{b}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def checksum(data)
|
||||||
|
checksum = data.chars
|
||||||
|
loop do
|
||||||
|
checksum = checksum.each_slice(2).map {|a,b| (a == b) ??1:?0 }
|
||||||
|
break if checksum.length.odd?
|
||||||
|
end
|
||||||
|
checksum.join
|
||||||
|
end
|
||||||
|
|
||||||
|
seed = '10001110011110000'
|
||||||
|
target_length = 35651584
|
||||||
|
|
||||||
|
state = seed
|
||||||
|
while state.length < target_length
|
||||||
|
state = step(state)
|
||||||
|
end
|
||||||
|
|
||||||
|
data = state[0...target_length]
|
||||||
|
puts checksum(data)
|
@ -0,0 +1,46 @@
|
|||||||
|
require 'digest/md5'
|
||||||
|
|
||||||
|
State = Struct.new(:location, :path)
|
||||||
|
|
||||||
|
Maze = Struct.new(:passcode, :size) do
|
||||||
|
def walk
|
||||||
|
return enum_for(__method__) unless block_given?
|
||||||
|
|
||||||
|
states = [State.new([0,0], '')]
|
||||||
|
until states.empty?
|
||||||
|
state = states.shift
|
||||||
|
yield state
|
||||||
|
|
||||||
|
next if state.location == [3,3]
|
||||||
|
|
||||||
|
hash = Digest::MD5.hexdigest("#{passcode}#{state.path}")[0,4]
|
||||||
|
open_doors = %i[ U D L R ].select.with_index {|_, index|
|
||||||
|
'bcdef'.include?(hash[index])
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
U: [ 0, -1],
|
||||||
|
D: [ 0, 1],
|
||||||
|
L: [-1, 0],
|
||||||
|
R: [ 1, 0],
|
||||||
|
}.select {|door, _|
|
||||||
|
open_doors.include?(door)
|
||||||
|
}.map {|door, (dx, dy)|
|
||||||
|
x = state.location[0] + dx
|
||||||
|
y = state.location[1] + dy
|
||||||
|
|
||||||
|
location = [x, y]
|
||||||
|
path = state.path + door.to_s
|
||||||
|
State.new(location, path)
|
||||||
|
}.select {|state|
|
||||||
|
state.location.all? {|i| (0...size).cover?(i) }
|
||||||
|
}.each do |state|
|
||||||
|
states << state
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
p Maze.new('yjjvjgan', 4).walk.select {|state|
|
||||||
|
state.location == [3, 3]
|
||||||
|
}.map(&:path).map(&:length).max
|
@ -0,0 +1,50 @@
|
|||||||
|
Row = Struct.new(:tiles) do
|
||||||
|
INPUT_MAP = { ?. => :safe, ?^ => :trap }
|
||||||
|
|
||||||
|
def self.from_s(input)
|
||||||
|
new(input.chars.map {|char| INPUT_MAP.fetch(char) })
|
||||||
|
end
|
||||||
|
|
||||||
|
def next
|
||||||
|
self.class.new(
|
||||||
|
%i[ safe safe ].insert(1, *tiles).each_cons(3).map {|l,c,r|
|
||||||
|
if l == :trap && c == :trap && r == :safe
|
||||||
|
:trap
|
||||||
|
elsif l == :safe && c == :trap && r == :trap
|
||||||
|
:trap
|
||||||
|
elsif l == :trap && c == :safe && r == :safe
|
||||||
|
:trap
|
||||||
|
elsif l == :safe && c == :safe && r == :trap
|
||||||
|
:trap
|
||||||
|
else
|
||||||
|
:safe
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
row = Row.from_s(DATA.read.chomp)
|
||||||
|
count = 0
|
||||||
|
400_000.times do
|
||||||
|
count += row.tiles.count(:safe)
|
||||||
|
row = row.next
|
||||||
|
end
|
||||||
|
p count
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestRow < Minitest::Test
|
||||||
|
def test_row
|
||||||
|
row = Row.from_s('..^^.')
|
||||||
|
assert_equal %i[ safe safe trap trap safe ], row.tiles
|
||||||
|
|
||||||
|
assert_equal Row.from_s('.^^^^'), row.next
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
__END__
|
||||||
|
^^.^..^.....^..^..^^...^^.^....^^^.^.^^....^.^^^...^^^^.^^^^.^..^^^^.^^.^.^.^.^.^^...^^..^^^..^.^^^^
|
@ -0,0 +1,35 @@
|
|||||||
|
def solve(n, debug: false)
|
||||||
|
elves = Array.new(n) {|i| i+1 }
|
||||||
|
|
||||||
|
until elves.size == 1
|
||||||
|
across = elves.size / 2
|
||||||
|
elves.delete_at(across)
|
||||||
|
elves.rotate!
|
||||||
|
end
|
||||||
|
|
||||||
|
elves.first
|
||||||
|
end
|
||||||
|
|
||||||
|
# This takes too long
|
||||||
|
# n = 3017957
|
||||||
|
# puts solve(n)
|
||||||
|
|
||||||
|
# So instead use this to find the pattern!
|
||||||
|
(1..100).each do |i|
|
||||||
|
puts "#{i}: #{solve(i)}"
|
||||||
|
end
|
||||||
|
|
||||||
|
# At 3**n, the counter resets
|
||||||
|
# At 2*3**n, the counter goes up by two instead of one
|
||||||
|
include Math
|
||||||
|
def formula(n)
|
||||||
|
x = log(n, 3).to_i
|
||||||
|
a = 3**x
|
||||||
|
b = 2*a
|
||||||
|
|
||||||
|
(n == a) ? a : n - a + [(n - b), 0].max
|
||||||
|
end
|
||||||
|
|
||||||
|
(1..100).each do |n|
|
||||||
|
puts "#{n}: #{solve(n)} #{formula(n)}"
|
||||||
|
end
|
@ -0,0 +1,14 @@
|
|||||||
|
blacklist = ARGF.read.split("\n").map {|line| Range.new(*line.split(?-).map(&:to_i)) }
|
||||||
|
|
||||||
|
ip = 0
|
||||||
|
count = 0
|
||||||
|
until ip > 4294967295
|
||||||
|
range = blacklist.find {|range| range.cover?(ip) }
|
||||||
|
if range.nil?
|
||||||
|
count += 1
|
||||||
|
ip += 1
|
||||||
|
else
|
||||||
|
ip = range.end + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
puts count
|
@ -0,0 +1,48 @@
|
|||||||
|
INSTRUCTIONS = ARGF.read.split("\n")
|
||||||
|
|
||||||
|
def scramble(input)
|
||||||
|
INSTRUCTIONS.each do |instruction|
|
||||||
|
case instruction
|
||||||
|
when /swap position (\d+) with position (\d+)/
|
||||||
|
x = $1.to_i
|
||||||
|
y = $2.to_i
|
||||||
|
input[x], input[y] = input[y], input[x]
|
||||||
|
when /swap letter (\w+) with letter (\w+)/
|
||||||
|
x = $1
|
||||||
|
y = $2
|
||||||
|
input.tr!("#{x}#{y}", "#{y}#{x}")
|
||||||
|
when /rotate (left|right) (\d+) steps?/
|
||||||
|
steps = $2.to_i
|
||||||
|
steps = -steps if $1 == 'right'
|
||||||
|
input = input.chars.rotate(steps).join
|
||||||
|
when /rotate based on position of letter (\w+)/
|
||||||
|
index = input.index($1)
|
||||||
|
index += 1 if index >= 4
|
||||||
|
index += 1
|
||||||
|
index = -index
|
||||||
|
input = input.chars.rotate(index).join
|
||||||
|
when /reverse positions (\d+) through (\d+)/
|
||||||
|
x = $1.to_i
|
||||||
|
y = $2.to_i
|
||||||
|
input[x..y] = input[x..y].reverse
|
||||||
|
when /move position (\d+) to position (\d+)/
|
||||||
|
x = $1.to_i
|
||||||
|
x = input[x]
|
||||||
|
input[x] = ''
|
||||||
|
|
||||||
|
y = $2.to_i
|
||||||
|
input.insert(y, x)
|
||||||
|
else
|
||||||
|
raise "invalid instruction: '#{instruction}'"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
input
|
||||||
|
end
|
||||||
|
|
||||||
|
input = 'abcdefgh'.chars
|
||||||
|
input.permutation.each do |candidate|
|
||||||
|
if scramble(candidate.join) == 'fbgdceah'
|
||||||
|
puts candidate.join
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,10 @@
|
|||||||
|
Node = Struct.new(*%i[x y size used avail use])
|
||||||
|
|
||||||
|
nodes = ARGF
|
||||||
|
.read
|
||||||
|
.scan(%r|/dev/grid/node-x(\d+)-y(\d+)\s+(\d+)T\s+(\d+)T\s+(\d+)T\s*(\d+)%|)
|
||||||
|
.map {|match| Node.new(*match.map(&:to_i)) }
|
||||||
|
|
||||||
|
p nodes.permutation(2).count {|a,b|
|
||||||
|
a.used != 0 && a.used <= b.avail
|
||||||
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
registers = { ?a => 7, ?b => 0, ?c => 0, ?d => 0 }
|
||||||
|
pc = 0
|
||||||
|
data = DATA.each_line.map(&:chomp).to_a
|
||||||
|
|
||||||
|
while pc < data.size
|
||||||
|
line = data[pc]
|
||||||
|
puts "#{registers}"
|
||||||
|
puts "#{pc}: #{line}"
|
||||||
|
|
||||||
|
case line
|
||||||
|
when /cpy ([a-d]|-?\d+) ([a-d])/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
registers[$2] = value
|
||||||
|
pc += 1
|
||||||
|
when /inc ([a-d])/
|
||||||
|
registers[$1] += 1
|
||||||
|
pc += 1
|
||||||
|
when /dec ([a-d])/
|
||||||
|
registers[$1] -= 1
|
||||||
|
pc += 1
|
||||||
|
when /jnz ([a-d]|\d+) ([a-d]|-?\d+)/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
count = registers.fetch($2) { $2.to_i }
|
||||||
|
pc += value.zero? ? 1 : count
|
||||||
|
when /tgl ([a-d]|-?\d+)/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
line = data[pc + value]
|
||||||
|
if line.nil?
|
||||||
|
pc +=1
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
instruction, *args = line.split(/\s+/)
|
||||||
|
|
||||||
|
case args.size
|
||||||
|
when 1
|
||||||
|
instruction = (instruction == 'inc') ? 'dec' : 'inc'
|
||||||
|
when 2
|
||||||
|
instruction = (instruction == 'jnz') ? 'cpy' : 'jnz'
|
||||||
|
else
|
||||||
|
raise 'omg'
|
||||||
|
end
|
||||||
|
|
||||||
|
data[pc + value] = "#{instruction} #{args.join(' ')}"
|
||||||
|
|
||||||
|
pc += 1
|
||||||
|
else
|
||||||
|
puts "skipping line: #{line}"
|
||||||
|
pc += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
p registers
|
||||||
|
|
||||||
|
__END__
|
||||||
|
cpy a b
|
||||||
|
dec b
|
||||||
|
cpy a d
|
||||||
|
cpy 0 a
|
||||||
|
cpy b c
|
||||||
|
inc a
|
||||||
|
dec c
|
||||||
|
jnz c -2
|
||||||
|
dec d
|
||||||
|
jnz d -5
|
||||||
|
dec b
|
||||||
|
cpy b c
|
||||||
|
cpy c d
|
||||||
|
dec d
|
||||||
|
inc c
|
||||||
|
jnz d -2
|
||||||
|
tgl c
|
||||||
|
cpy -16 c
|
||||||
|
jnz 1 c
|
||||||
|
cpy 94 c
|
||||||
|
jnz 82 d
|
||||||
|
inc a
|
||||||
|
inc d
|
||||||
|
jnz d -2
|
||||||
|
inc c
|
||||||
|
jnz c -5
|
@ -0,0 +1,136 @@
|
|||||||
|
class Solver
|
||||||
|
def initialize(maze)
|
||||||
|
@maze = maze
|
||||||
|
end
|
||||||
|
|
||||||
|
def solve(from, to)
|
||||||
|
seen = Set.new(from)
|
||||||
|
queue = [[from, 0]]
|
||||||
|
current = queue.shift
|
||||||
|
|
||||||
|
loop do
|
||||||
|
location = current[0]
|
||||||
|
break if location == to
|
||||||
|
if seen.include?(location)
|
||||||
|
current = queue.shift
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
seen << location
|
||||||
|
|
||||||
|
neighbors = maze
|
||||||
|
.open_neighbors(location[0], location[1])
|
||||||
|
.reject {|location| seen.include?(location) }
|
||||||
|
|
||||||
|
queue.concat(neighbors.map {|location| [location, current[1] + 1] })
|
||||||
|
|
||||||
|
return nil if queue.empty?
|
||||||
|
current = queue.shift
|
||||||
|
end
|
||||||
|
|
||||||
|
current[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
attr_reader :maze
|
||||||
|
end
|
||||||
|
|
||||||
|
class Maze
|
||||||
|
attr_reader :locations
|
||||||
|
|
||||||
|
def initialize(input)
|
||||||
|
@maze = Hash.new
|
||||||
|
@locations = Hash.new
|
||||||
|
|
||||||
|
x, y = 0, 0
|
||||||
|
input.chars.each do |char|
|
||||||
|
case char
|
||||||
|
when /\d/
|
||||||
|
@locations[char.to_i] = [x,y]
|
||||||
|
char = ?.
|
||||||
|
when "\n"
|
||||||
|
x = -1
|
||||||
|
y += 1
|
||||||
|
else
|
||||||
|
# no-op
|
||||||
|
end
|
||||||
|
|
||||||
|
@maze[[x,y]] = char
|
||||||
|
x += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def [](x,y)
|
||||||
|
maze[[x,y]]
|
||||||
|
end
|
||||||
|
|
||||||
|
def open_neighbors(x, y)
|
||||||
|
[[-1, 0],
|
||||||
|
[ 1, 0],
|
||||||
|
[ 0, -1],
|
||||||
|
[ 0, 1]].map {|dx,dy|
|
||||||
|
[x+dx, y+dy]
|
||||||
|
}.select {|x,y|
|
||||||
|
self[x,y] == ?.
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
attr_reader :maze
|
||||||
|
end
|
||||||
|
|
||||||
|
if __FILE__ == $0
|
||||||
|
maze = Maze.new(ARGF.read)
|
||||||
|
solver = Solver.new(maze)
|
||||||
|
|
||||||
|
hash = maze.locations.to_a.combination(2).each.with_object({}) {|(a, b), hash|
|
||||||
|
steps = solver.solve(a[1], b[1])
|
||||||
|
hash[[a[0],b[0]]] = steps
|
||||||
|
hash[[b[0],a[0]]] = steps
|
||||||
|
}
|
||||||
|
|
||||||
|
p maze
|
||||||
|
.locations
|
||||||
|
.map(&:first)
|
||||||
|
.permutation
|
||||||
|
.select {|route| route[0] == 0 }
|
||||||
|
.map {|route| route + [0] }
|
||||||
|
.map {|route|
|
||||||
|
[route, route.each_cons(2).map {|a,b| hash[[a,b]] }.inject(:+)]
|
||||||
|
}.sort_by(&:last)
|
||||||
|
.first
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'minitest'
|
||||||
|
# require 'minitest/autorun'
|
||||||
|
|
||||||
|
class TestMaze < Minitest::Test
|
||||||
|
def test_maze
|
||||||
|
maze = Maze.new(<<-MAZE)
|
||||||
|
###########
|
||||||
|
#0.1.....2#
|
||||||
|
#.#######.#
|
||||||
|
#4.......3#
|
||||||
|
###########
|
||||||
|
MAZE
|
||||||
|
assert_equal [1,1], maze.locations[0]
|
||||||
|
|
||||||
|
assert_equal [[2,1], [1,2]], maze.open_neighbors(1,1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestSolver < Minitest::Test
|
||||||
|
def test_solver
|
||||||
|
maze = Maze.new(<<-MAZE)
|
||||||
|
###########
|
||||||
|
#0.1.....2#
|
||||||
|
#.#######.#
|
||||||
|
#4.......3#
|
||||||
|
###########
|
||||||
|
MAZE
|
||||||
|
solver = Solver.new(maze)
|
||||||
|
assert_equal 2, solver.solve(maze.locations[0], maze.locations[4])
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,43 @@
|
|||||||
|
class Assembunny
|
||||||
|
attr_reader :data
|
||||||
|
|
||||||
|
def initialize(data)
|
||||||
|
@data = data
|
||||||
|
end
|
||||||
|
|
||||||
|
def run(input)
|
||||||
|
return enum_for(__method__, input) unless block_given?
|
||||||
|
|
||||||
|
registers = { ?a => input, ?b => 0, ?c => 0, ?d => 0 }
|
||||||
|
pc = 0
|
||||||
|
|
||||||
|
while pc < data.size
|
||||||
|
line = data[pc]
|
||||||
|
case line
|
||||||
|
when /cpy ([a-d]|\d+) ([a-d])/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
registers[$2] = value
|
||||||
|
pc += 1
|
||||||
|
when /inc ([a-d])/
|
||||||
|
registers[$1] += 1
|
||||||
|
pc += 1
|
||||||
|
when /dec ([a-d])/
|
||||||
|
registers[$1] -= 1
|
||||||
|
pc += 1
|
||||||
|
when /jnz ([a-d]|\d+) (-?\d+)/
|
||||||
|
value = registers.fetch($1) { $1.to_i }
|
||||||
|
pc += value.zero? ? 1 : $2.to_i
|
||||||
|
when /out ([a-d])/
|
||||||
|
yield registers.fetch($1)
|
||||||
|
pc += 1
|
||||||
|
else
|
||||||
|
raise "invalid line: #{line}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
assembunny = Assembunny.new(ARGF.read.split("\n"))
|
||||||
|
|
||||||
|
needle = ('01' * 6).chars.map(&:to_i)
|
||||||
|
puts (1..Float::INFINITY).find {|i| assembunny.run(i).take(12) == needle }
|
@ -0,0 +1 @@
|
|||||||
|
target
|
@ -0,0 +1,173 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "advent_of_code_2016"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"error-chain",
|
||||||
|
"regex",
|
||||||
|
"rust-crypto",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aho-corasick"
|
||||||
|
version = "0.7.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "backtrace"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f551bc2ddd53aea015d453ef0b635af89444afa5ed2405dd0b2062ad5d600d80"
|
||||||
|
dependencies = [
|
||||||
|
"backtrace-sys",
|
||||||
|
"cfg-if",
|
||||||
|
"dbghelp-sys",
|
||||||
|
"kernel32-sys",
|
||||||
|
"libc",
|
||||||
|
"rustc-demangle",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "backtrace-sys"
|
||||||
|
version = "0.1.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3602e8d8c43336088a8505fa55cae2b3884a9be29440863a11528a42f46f6bb7"
|
||||||
|
dependencies = [
|
||||||
|
"gcc",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dbghelp-sys"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
"winapi-build",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "error-chain"
|
||||||
|
version = "0.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1cd681735364a04cd5d69f01a4f6768e70473941f8d86d8c224faf6955a75799"
|
||||||
|
dependencies = [
|
||||||
|
"backtrace",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gcc"
|
||||||
|
version = "0.3.39"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "771e4a97ff6f237cf0f7d5f5102f6e28bb9743814b6198d684da5c58b76c11e0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "kernel32-sys"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
"winapi-build",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a51822fc847e7a8101514d1d44e354ba2ffa7d4c194dcab48870740e327cac70"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.3.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex"
|
||||||
|
version = "1.5.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.6.26"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rust-crypto"
|
||||||
|
version = "0.2.36"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
|
||||||
|
dependencies = [
|
||||||
|
"gcc",
|
||||||
|
"libc",
|
||||||
|
"rand",
|
||||||
|
"rustc-serialize",
|
||||||
|
"time",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-demangle"
|
||||||
|
version = "0.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1430d286cadb237c17c885e25447c982c97113926bb579f4379c0eca8d9586dc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-serialize"
|
||||||
|
version = "0.3.21"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bff9fc1c79f2dec76b253273d07682e94a978bd8f132ded071188122b2af9818"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "time"
|
||||||
|
version = "0.1.35"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3c7ec6d62a20df54e07ab3b78b9a3932972f4b7981de295563686849eb3989af"
|
||||||
|
dependencies = [
|
||||||
|
"kernel32-sys",
|
||||||
|
"libc",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.2.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-build"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "advent_of_code_2016"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Alpha Chen <alpha.chen@gmail.com>"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
error-chain = "0.7"
|
||||||
|
regex = "1.5"
|
||||||
|
rust-crypto = "0.2"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue