{"id":2281,"date":"2025-12-01T21:00:00","date_gmt":"2025-12-01T13:00:00","guid":{"rendered":"https:\/\/blog.cruciferslab.net\/?p=2281"},"modified":"2025-12-12T15:29:33","modified_gmt":"2025-12-12T07:29:33","slug":"advent-of-code-2025-everybody-codes-2025","status":"publish","type":"post","link":"https:\/\/blog.cruciferslab.net\/?p=2281","title":{"rendered":"Advent of Code 2025 \/ Everybody Codes 2025"},"content":{"rendered":"\n<p>\u7b2c\u56db\u5e74\u5728\u9019\u88e1\u8cbc Advent of Code \u5fc3\u5f97\u4e86\u3002\u4eca\u5e74\u958b\u59cb Eric \u6c7a\u5b9a\u8981\u6e1b\u8f15\u4e00\u9ede\u4ed6\u81ea\u5df1\u7684\u8ca0\u64d4\uff0c\u6240\u4ee5\u984c\u76ee\u6578\u91cf\u6e1b\u5c11\u5230 12 \u5929\uff0c\u4e0d\u904e\u4ecd\u7136\u9084\u662f\u5728 12\/1 \u958b\u5834\uff0c\u6bcf\u5929\u958b\u984c\uff1b\u4e5f\u5c31\u662f\u4eca\u5e74\u53ea\u6703\u5230 12\/12 \u5c31\u7d50\u675f\u4e86\u3002<\/p>\n\n\n\n<p>\u76ee\u524d\u770b\u8d77\u4f86\u9019\u500b\u5e74\u672b\u7684\u7a0b\u5f0f\u8a2d\u8a08\u8b0e\u984c\u50b3\u7d71\u6709\u5176\u4ed6\u4eba\u7e7c\u627f\u4e86\u4e0b\u4f86\uff0c\u50cf\u662f\u53bb\u5e74\u5c31\u958b\u59cb\u7684 <a href=\"https:\/\/everybody.codes\">Everybody Codes<\/a> \u5b83\u662f\u81ea\u5341\u4e00\u6708\u7684\u7b2c\u4e00\u500b\u661f\u671f\u4e00\u958b\u59cb\uff0c\u9023\u7e8c\u56db\u9031\u7684\u9031\u4e00\u81f3\u9031\u4e94\u5404\u958b\u4e00\u984c\u2014\u2014\u958b\u555f\u6642\u9593\u4f3c\u4e4e\u662f UTC+1 \u7684 24:00\uff0c\u63db\u7b97\u53f0\u7063\u6642\u9593\u662f\u9694\u5929\u7684\u65e9\u4e0a\u4e03\u9ede\uff1b\u9ebb\u7169\u7684\u662f\u9019\u500b\u6642\u9593\u525b\u597d\u5361\u5230\u6211\u4e0a\u73ed\u53ea\u597d\u5728\u5230\u516c\u53f8\u6642\u5077\u4e00\u9ede\u6642\u9593\u51fa\u4f86\u5beb\u3002\u4ed6\u9019\u908a\u7684\u6545\u4e8b\u98a8\u683c\u6bd4\u8f03\u4e2d\u4e16\u7d00\u4e00\u9ede\uff0c\u4e26\u4e14\u4ee5\u9d28\u5b50\u505a\u70ba\u5404\u7a2e\u5409\u7965\u7269\u548c\u6545\u4e8b\u5143\u7d20\uff0c\u7b97\u662f\u5f88\u4e0d\u4e00\u6a23\u7684\u98a8\u683c\u3002<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>\u65bc\u662f\u4eca\u5e74\u70ba\u4e86\u5e6b\u9019\u7bc7\u6587\u7ae0\u5145\u9ede\u7bc7\u5e45 (?!)\uff0c\u6211\u4e5f\u628a Everybody Codes \u7684\u984c\u76ee\u5fc3\u5f97\u5beb\u5728\u9019\u88e1\u3002\u5982\u679c\u53ea\u8981\u770b Advent of Code \u7684\uff0c\u9ede<a href=\"#aoc2025\" data-type=\"internal\" data-id=\"#aoc2025\">\u6b64\u9023\u7d50<\/a>\u8df3\u5230\u4e0b\u9762\u3002(\u6211\u6709\u653e\u9632\u96f7\u5716\uff0c\u61c9\u8a72\u662f\u4e0d\u5fc5\u64d4\u5fc3\u9019\u6a23\u8df3\u904e\u53bb\u6703\u88ab\u96f7) \u6587\u7ae0\u4ecd\u7136\u62bc 12\/1 \u767c\uff0c\u4e5f\u5c31\u662f\u767c\u51fa\u6642 Everybody Codes \u7684\u5fc3\u5f97\u5df2\u7d93\u5beb\u597d\u4e86\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b Everybody Codes \u9632\u96f7\u5716\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-1024x616.jpg\" alt=\"\" class=\"wp-image-2304\" srcset=\"https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-1024x616.jpg 1024w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-300x180.jpg 300w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-150x90.jpg 150w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-768x462.jpg 768w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409-1536x923.jpg 1536w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001409.jpg 1938w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">2024 \u5e74\u5168\u90e8\u89e3\u5b8c\u6703\u6709\u4e00\u500b\u5f88\u6f02\u4eae\u7684\u9f52\u8f2a\u52d5\u756b<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Everybody Codes 2025<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 1: Whispers in the Shell (2025\/11\/3)<\/h3>\n\n\n\n<p>\u7b2c\u4e00\u984c\u679c\u7136\u662f\u7c21\u55ae\u7684\u71b1\u8eab\u984c\u3002\u8b80\u5b57\u4e32\u9663\u5217\u9032\u4f86\uff0c\u7136\u5f8c\u7167\u5b83\u8aaa\u7684\u52d5\u7d22\u5f15\u6216\u52d5\u5b57\u4e32\u5c31\u884c\u3002\u8f38\u5165\u5206\u6790\u9084\u662f\u76f8\u5c0d\u6bd4\u8f03\u300c\u9ebb\u7169\u300d\u7684\u90e8\u4efd\uff0c\u662f\u500b\u7d66\u65b0\u624b\u7df4\u7fd2\u8f38\u5165\u5206\u6790\u7684\u984c\u578b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 2: From Complex to Clarity (2025\/11\/4)<\/h3>\n\n\n\n<p>\u9019\u984c\u5176\u5be6\u662f\u8981\u6211\u5011\u7b97 <a href=\"https:\/\/zh.wikipedia.org\/zh-tw\/\u66fc\u5fb7\u535a\u96c6\u5408\">Mandelbrot set<\/a>\u3002(\u7b2c\u4e09\u984c\u7684\u6545\u4e8b\u90e8\u4efd\u4e5f\u7834\u4e86\u9019\u500b\u6897\u5c31\u662f) \u4e2d\u9593\u7684\u8a08\u7b97\u57fa\u672c\u4e0a\u662f\u70ba\u4e86\u8b93\u53c3\u52a0\u8005\u53ea\u7528\u6574\u6578\u800c\u505a\u7684\uff0c\u6574\u9ad4\u4e0a\u5176\u5be6\u7b49\u540c\u65bc\u67d0\u500b\u56fa\u5b9a\u5927\u5c0f\u7684\u5b9a\u9ede\u6578 (Part 1 \u662f\u4e00\u4f4d\u5b9a\u9ede\uff0cPart 2\/3 \u5247\u662f\u4e94\u4f4d\u5b9a\u9ede)\uff1b\u6240\u4ee5\u6211\u76f4\u63a5\u62ff C++ \u7684 &lt;complex&gt; \u4f86\u505a\u8a08\u7b97\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 3: The Deepest Fit (2025\/11\/5)<\/h3>\n\n\n\n<p>\u9019\u984c\u8003\u7684\u662f\u80fd\u4e0d\u80fd\u5f97\u51fa\u300c\u6392\u5e8f\u662f\u7b54\u6848\u300d\u9019\u500b\u7d50\u8ad6\uff1a\u6578\u5b57\u672c\u8eab\u5f62\u6210\u4e86\u4e00\u500b DAG\uff0c\u800c\u7b54\u6848\u5373\u662f\u9019\u500b DAG \u7684\u62d3\u64b2\u6392\u5e8f\u3002\u5728\u770b\u51fa\u76f8\u540c\u5927\u5c0f\u5143\u7d20\u5c0d\u5e8f\u5217\u9078\u53d6\u7684\u5f71\u97ff\u4e4b\u5f8c\u4e5f\u80fd\u5bb9\u6613\u5f97\u5230 Part 3 \u7684\u7b54\u6848\u662f\u773e\u6578\u7684\u500b\u6578\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 4: Teeth of the Wind (2025\/11\/6)<\/h3>\n\n\n\n<p>\u9f52\u8f2a\u6a21\u64ec\u984c\uff0c\u95dc\u9375\u5728\u65bc\u9f52\u8f2a\u7684\u4e0d\u8b8a\u91cf\uff1a\u56fa\u5b9a\u6642\u9593\u5167\u8f49\u904e\u7684\u9f52\u6578\u3002Part 3 \u7684\u5927\u5c0f\u9f52\u8f2a\u53ea\u662f\u628a\u9019\u500b\u4e0d\u8b8a\u91cf\u4e58\u4e0a\u5927\u5c0f\u8b8a\u5316\u500d\u7387\u800c\u5df2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 5: Fishbone Order (2025\/11\/7)<\/h3>\n\n\n\n<p>\u7b2c\u4e00\u500b\u9031\u672b\u984c\uff0c\u4e0d\u904e\u4ecd\u7136\u53ea\u662f\u76f8\u5c0d\u7e41\u7463\u4e00\u9ede\u7684\u64cd\u4f5c\u800c\u5df2\uff1b\u6bd4\u8f03\u641e\u4e8b\u7684\u662f\u628a\u6578\u5b57\u4e32\u4e0b\u4f86\u7684\u90e8\u4efd\u662f\u5b57\u4e32\u9023\u63a5\u800c\u5df2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 6: Mentorship Matrix (2025\/11\/10)<\/h3>\n\n\n\n<p>\u914d\u5c0d\u554f\u984c\uff0c\u554f\u6240\u6709\u5c0f\u5beb\u5b57\u6bcd\u8ddf\u5176\u5de6\u908a\u7684\u5927\u5beb\u5b57\u6bcd\u7d44\u5408\u6709\u5e7e\u7a2e\u3002\u986f\u7136\u5728\u6383\u904e\u53bb\u6642\u6709\u7d00\u9304\u4e0b\u76ee\u524d\u70ba\u6b62\u7684\u5927\u5beb\u5b57\u6bcd\u6578\u91cf\u5c31\u80fd\u99ac\u4e0a\u5f97\u51fa\u6bcf\u500b\u5c0f\u5beb\u5b57\u6bcd\u6709\u591a\u5c11\u5927\u5beb\u5b57\u6bcd\u914d\u5c0d\uff1bPart 3 \u5c31\u53ea\u662f\u52a0\u4e0a sliding window \u800c\u5df2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 7: Namegraph (2025\/11\/11)<\/h3>\n\n\n\n<p>\u958b\u59cb\u51fa\u73fe DP \u984c\u4e86\u3002\u524d\u5169\u500b part \u53ea\u662f\u6aa2\u67e5\uff0cPart 3 \u5c31\u8981\u5be6\u969b\u7b97\u51fa\u751f\u6210\u7684\u6578\u91cf\u4e86\uff1b\u9019\u88e1\u5c31\u662f\u6a19\u6e96\u7684 DP\uff0c\u6bcf\u500b\u540d\u5b57\u90fd\u80fd\u7531\u8f03\u77ed\u7684\u540d\u5b57\u52a0\u4e0a\u898f\u5247\u4f86\u7d44\u5408\u800c\u6210\uff0c\u800c\u6211\u5011\u53ea\u9700\u8981\u6700\u5f8c\u4e00\u500b\u5b57\u6bcd\u5373\u53ef\u6c42\u51fa\u4e0b\u4e00\u500b\u9577\u5ea6\u7684\u6578\u91cf\uff0c\u56e0\u6b64 DP \u9663\u5217\u7d00\u9304\u7684\u5c31\u662f\u6bcf\u500b\u9577\u5ea6\u6bcf\u500b\u5b57\u5c3e\u7684\u540d\u5b57\u500b\u6578\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 8: The Art of Connection (2025\/11\/12)<\/h3>\n\n\n\n<p>\u9019\u984c\u7b97\u662f\u7c21\u5316\u7248\u8a08\u7b97\u5e7e\u4f55\u5427\uff1f\u4e0d\u662f\u5c0d\u4efb\u4f55\u9ede\u505a\u8a08\u7b97\u800c\u662f\u9650\u5b9a\u7bc4\u570d\u5167\u7684\u9ede\u8207\u76f4\u7dda\u4ea4\u53c9\u8a08\u7b97\u3002\u4e5f\u56e0\u70ba\u6709\u9650\u5b9a\u6240\u4ee5\u4ea4\u53c9\u5224\u5b9a\u5c31\u6c92\u6709\u90a3\u9ebc\u591a\u82b1\u4fcf\u7684\u8a08\u7b97\u76f4\u63a5\u5224\u65b7\u5927\u5c0f\u5c31\u597d\u3002<\/p>\n\n\n\n<p>Part 3 \u5012\u662f\u6709\u500b\u5f88\u6709\u8da3\u7684\u505a\u6cd5\uff1a\u8207\u5176\u5c0d\u6bcf\u7a2e\u5207\u6cd5\u5224\u65b7\u7dda\u6709\u6c92\u6709\u88ab\u5207\uff0c\u53cd\u904e\u4f86\u53bb\u7d2f\u8a08\u9019\u689d\u7dda\u6703\u88ab\u54ea\u4e9b\u5207\u6cd5\u5207\u65b7\uff1b\u5f8c\u8005\u4e0d\u9700\u8981\u5224\u65b7\uff0c\u56e0\u70ba\u53ea\u8981\u5728\u7dda\u7684\u5169\u908a\u5404\u9078\u4e00\u9ede\u5c31\u6703\u88ab\u5207\u5230\u4e86\u3002<\/p>\n\n\n\n<p>\u8aaa\u8d77\u4f86\uff0c\u4eca\u5e74\u6709\u597d\u591a\u984c\u76ee\u6709\u5f69\u86cb\u8f38\u5165\uff1b\u9019\u984c\u7684\u300c\u7de8\u7e54\u7db2\u300d\u5be6\u969b\u756b\u51fa\u4f86\u662f\u53ef\u4ee5\u770b\u5230\u6709\u6846\u6210\u4e00\u500b\u9a0e\u58eb\u76d4\u7532\u7684\u5716\u6848\u5728\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 9: Encoded in the Scales (2025\/11\/13)<\/h3>\n\n\n\n<p>\u9019\u984c\u7684\u914d\u5c0d\u95dc\u4fc2\u5f88\u6709\u610f\u601d\u3002\u4e00\u500b (\u7236\uff0c\u6bcd\uff0c\u5b50) \u7684\u4e09\u5143\u7d44\uff0c\u5b50\u7684\u6bcf\u500b\u5143\u7d20\u90fd\u662f\u7531\u7236\u6216\u6bcd\u4e2d\u5176\u4e2d\u800c\u4f86\u7684\uff1b\u524d\u5169\u6bb5\u5c31\u662f\u8981\u5224\u65b7\u4efb\u4e09\u500b\u5143\u7d20\u662f\u5426\u5f62\u6210\u9019\u6a23\u7684\u7236\u6bcd\u5b50\u4e09\u5143\u7d44\u3002\u4ed4\u7d30\u7d30\u60f3\u5c31\u80fd\u63a8\u65b7\u51fa\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6240\u6709\u5143\u7d20\uff0c\u4e09\u4eba\u4e2d\u81f3\u5c11\u8981\u6709\u5169\u4eba\u76f8\u540c<\/li>\n\n\n\n<li>\u4f46\u5169\u540c\u4e00\u4e0d\u540c\u7684\u4e09\u7a2e\u72c0\u6cc1\u81f3\u591a\u53ea\u80fd\u51fa\u73fe\u5169\u7a2e (\u5982 <code>AAC\/ACA\/CAA<\/code> \u5c31\u4e0d\u884c)<\/li>\n<\/ul>\n\n\n\n<p>Part 3 \u9032\u4e00\u6b65\u8981\u6211\u5011\u5efa\u51fa\u5bb6\u65cf\u6a39\uff0c\u4f46\u537b\u53ea\u8981\u6211\u5011\u7b54\u51fa\u5bb6\u65cf\u6a39\u7684\u7e3d\u5927\u5c0f\uff1b\u56e0\u6b64\u9019\u88e1\u53ef\u4ee5\u5077\u9ede\u61f6\uff0c\u4f7f\u7528<a href=\"https:\/\/zh.wikipedia.org\/wiki\/\u5e76\u67e5\u96c6\">\u4f75\u67e5\u96c6 (disjoint set)<\/a> \u628a\u6240\u6709\u6709\u95dc\u4fc2\u7684\u4e09\u4eba\u5168\u90e8\u52a0\u5728\u4e00\u8d77\uff0c\u7136\u5f8c\u53ea\u8981\u6c42\u51fa\u6bcf\u500b set \u7684\u5927\u5c0f\u5373\u53ef\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 10: Feast on the Board (2025\/11\/14)<\/h3>\n\n\n\n<p>Part 1 \u548c Part 2 \u90fd\u662f\u5f88\u5bb9\u6613\u7684\u6a21\u64ec\u984c\uff0c\u7167\u8457\u5b83\u7684\u8aaa\u660e\u4e0b\u53bb\u6a21\u64ec\u5373\u53ef\u3002<\/p>\n\n\n\n<p>Part 3 \u5c31\u662f\u96e3\u95dc\u4e86\u3002\u7d66\u5b9a\u4e00\u500b\u76e4\u9762\uff0c\u6c42\u51fa\u6240\u6709\u8d70\u6cd5\u4f7f\u5f97\u6240\u6709\u7f8a\u68cb\u88ab\u9f8d\u68cb\u7d66\u5403\u5149\u7684\u5e8f\u5217\u6578\u76ee\u3002\u9019\u500b\u90e8\u4efd\u6211\u7528\u7684\u662f BFS+DP\uff0c\u4f7f\u7528 BFS \u4f9d\u5e8f\u641c\u904e\u6240\u6709\u6b65\u6578\u7684\u6240\u6709\u72c0\u614b\uff0c\u7136\u5f8c\u5728\u72c0\u614b\u66f4\u65b0\u6642\u9032\u884c DP \u8a08\u7b97\u904a\u6232\u81f3\u4e0b\u4e00\u6b65\u7684\u5e8f\u5217\u6578\u76ee\uff0c\u52a0\u53bb\u4e0b\u4e00\u6b65\u7684\u683c\u5b50\u88e1\u3002\u57fa\u672c\u4e0a\u5c31\u662f\u628a DP \u4e2d\u7684\u300c\u8a08\u7b97\u9806\u5e8f\u300d\u4ee5 BFS \u4f86\u6c7a\u5b9a\u9019\u6a23\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 11: The Scout Duck Protocol (2025\/11\/17)<\/h3>\n\n\n\n<p>\u9019\u984c\u958b\u59cb\u6709\u8da3\u4e86\u3002\u984c\u76ee\u63cf\u8ff0\u4e86\u4e00\u500b\u300c\u968a\u5f62\u5e73\u8861\u300d\u6f14\u7b97\u6cd5\uff0c\u8981\u6211\u5011\u6c42\u51fa\u7d66\u5b9a\u968a\u5f62\u5230\u5e73\u8861\u9700\u8981\u591a\u5c11\u6b65\u3002Part 1 \u6a21\u64ec\u5341\u6b65\uff0cPart 2 \u89e3\u6c7a\u4e00\u500b\u5c0f\u578b\u554f\u984c\uff0c\u7136\u5f8c Part 3 \u662f\u500b\u8d85\u5927\u578b\u968a\u5f62\uff0c\u76f4\u63a5\u8dd1\u6703\u8dd1\u4e0d\u5b8c\u7684\u90a3\u7a2e\u3002\u9019\u984c\u7684\u95dc\u9375\u5728\u65bc\uff1aPart 3 \u8f38\u5165\u53ea\u9700\u8981\u9032\u884c\u6f14\u7b97\u6cd5\u7684\u7b2c\u4e8c\u90e8\u4efd\uff0c\u800c\u9019\u90e8\u4efd\u662f\u6709\u80fd\u5feb\u901f\u6c42\u51fa\u6b65\u6578\u7684\u6377\u5f91\u7684\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 12: One Spark to Burn Them All (2025\/11\/18)<\/h3>\n\n\n\n<p>\u7d66\u5b9a\u4e00\u500b\u6578\u5b57\u9663\u5217\uff0c\u5c0d\u67d0\u4e00\u9ede\u300c\u5f15\u7206\u300d\u6703\u5c07\u5176\u6240\u6709\u5f80\u6578\u5b57\u8f03\u5c0f\u7684\u8def\u5f91\u4e0a\u7684\u6240\u6709\u9ede\u4e00\u8d77\u5f15\u7206\u3002Part 1 \u5f15\u7206\u5de6\u4e0a\u89d2\uff0cPart 2 \u5f15\u7206\u5de6\u4e0a\u53f3\u4e0b\u5169\u500b\u89d2\uff0cPart 3 \u5247\u662f\u8981\u9078\u64c7\u4e09\u9ede\u80fd\u5f15\u7206\u6700\u591a\u683c\u7684\u9ede\uff0c\u6c42\u7e3d\u8a08\u5f15\u7206\u591a\u5c11\u683c\u3002\u662f\u500b\u5f88\u6a19\u6e96\u7684\u6df9\u6c34\/BFS \u984c\u3002<\/p>\n\n\n\n<p>\u9019\u984c\u540c\u6a23\u6709\u5f69\u86cb\u8f38\u5165\uff1aPart 3 \u8f38\u5165\u6240\u5f15\u7206\u7684\u5716\u6848\u662f\u9019\u500b\u7ad9\u7684\u5409\u7965\u7269\u9d28\u5b50\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 13: Unlocking the Mountain (2025\/11\/19)<\/h3>\n\n\n\n<p>\u984c\u76ee\u63cf\u8ff0\u4e86\u4e00\u500b\u5947\u5999\u7684\u8f49\u76e4\uff1a\u8f49\u76e4\u4e0a\u7684\u6578\u5b57\u81ea\u9802\u9ede\u8d77\uff0c\u7b2c\u4e00\u500b\u5411\u53f3\u64fa\uff0c\u4e0b\u4e00\u500b\u5411\u5de6\u64fa\uff0c\u518d\u4e0b\u4e00\u500b\u5411\u53f3\u64fa\uff0c\u4ee5\u6b64\u985e\u63a8\u3002\u6578\u5b57\u64fa\u597d\u5f8c\uff0c\u6c42\u51fa\u8f49\u52d5\u67d0\u500b\u683c\u6578\u5f8c\u8f49\u76e4\u7684\u4f4d\u7f6e\u70ba\u4f55\u3002Part 1 \u6bcf\u6b21\u53ea\u64fa\u4e00\u500b\u6578\u5b57\uff0cPart 2 \u6703\u64fa\u4e00\u500b\u7bc4\u570d\u6578\u5b57\uff0cPart 3 \u5247\u662f\u7bc4\u570d\u8b8a\u6210\u8d85\u7d1a\u5927\u3002\u9677\u9631\u5176\u5be6\u5c31\u53ea\u6709 Part 3 \u9019\u500b\u8d85\u5927\u7bc4\u570d\uff0c\u8981\u4f60\u4e0d\u8981\u50bb\u50bb\u7684\u4e00\u500b\u4e00\u500b\u6578\u5b57\u64fa\u4e0b\u53bb\u800c\u5df2\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 14: The Game of Light (2025\/11\/20)<\/h3>\n\n\n\n<p>\u7d30\u80de\u81ea\u52d5\u6a5f\u984c\u3002\u9019\u984c\u7684\u898f\u5247\u6bd4\u8f03\u6709\u8da3\u7684\u662f\u5b83\u770b\u7684\u662f\u659c\u89d2\u76f8\u9130\u7684\u500b\u6578\uff0c\u4e0d\u904e\u5be6\u4f5c\u4e0a\u76f8\u5c0d\u6c92\u4ec0\u9ebc\u554f\u984c\u2014\u2014\u76f4\u5230 Part 3 \u8981\u4f60\u5f9e\u4e2d\u627e\u5faa\u74b0\u70ba\u6b62\u3002\u597d\u5728\u6a21\u64ec\u8d77\u9ede\u662f\u5168\u9ed1\uff0c\u9019\u8868\u793a 34&#215;34 \u7684\u7a7a\u9593\u53ef\u4ee5\u5207\u6210\u5c0d\u7a31\u7684\u56db\u5206\u4e4b\u4e00\u4f86\u505a\u6a21\u64ec\uff0c\u7136\u5f8c\u53ef\u4ee5\u767c\u73fe\u5b83\u6bcf 4095 \u6b65\u5c31\u5faa\u74b0\u4e00\u6b21 (\u9019\u500b\u5faa\u74b0\u53ef\u4ee5\u5075\u6e2c\u5168\u4eae\u7684\u72c0\u614b\u4f86\u78ba\u8a8d)\uff0c\u6240\u4ee5\u8981\u627e\u51fa\u542b\u7279\u5b9a\u4e2d\u5fc3\u6a23\u5f0f\u7684\u6b65\u6578\u5c31\u5f88\u5bb9\u6613\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 15: Definitely Not a Maze (2025\/11\/21)<\/h3>\n\n\n\n<p>\u78ba\u5be6\u4e0d\u662f\u8ff7\u5bae\u5566\uff0c\u56e0\u70ba\u7246\u53ea\u6709\u4e00\u689d\u9023\u7e8c\u58c1\u2026\u2026\u4e0d\u904e\u770b\u8d77\u4f86\u9019\u689d\u9023\u7e8c\u58c1\u662f\u9010\u6f38\u5f80\u5916\u7e5e\u7684\u3002\u984c\u76ee\u8981\u6c42\u5f9e\u9023\u7e8c\u58c1\u7684\u982d\u76f4\u63a5\u8d70\u5230\u5c3e\uff0c\u4e0d\u904e\u56e0\u70ba\u7246\u662f\u9019\u6a23\u7e5e\u7684\u95dc\u4fc2\uff0c\u52a0\u4e0a Part 3 \u53c8\u662f\u8d85\u5927\u578b\u9023\u7e8c\u58c1\uff0c\u76f4\u63a5\u641c\u6703\u72c0\u614b\u7206\u70b8\u3002\u9019\u88e1\u6211\u7528\u4e86\u5ea7\u6a19\u58d3\u7e2e (\u53c8\u7a31\u96e2\u6563\u5316) \u7684\u6280\u5de7\uff0c\u628a\u6574\u5f35\u5730\u5716\u53ea\u7559\u4e0b\u7246\u8ddf\u7246\u7684\u5169\u908a\u7684\u5ea7\u6a19\uff0c\u518d\u4e1f\u53bb A* \u641c\u5c31\u641c\u51fa\u4f86\u4e86\u3002<\/p>\n\n\n\n<p>\u679c\u7136\u9031\u672b\u984c\u90fd\u5f88\u6709\u6311\u6230\u6027\u2026\u2026<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 16: Harmonics of Stone (2025\/11\/24)<\/h3>\n\n\n\n<p>\u7d66\u5b9a\u6307\u793a\u5e8f\u5217\uff0c\u6bcf\u500b\u5e8f\u5217\u4e2d\u7684\u6578\u5b57 n \u8868\u793a\u5728\u6bcf\u7b2c n \u683c\u653e\u4e00\u500b\u77f3\u982d\u3002Part 1 \u7d66\u5b9a\u6307\u793a\u548c\u7e3d\u9577\u5ea6\u6c42\u51fa\u7e3d\u77f3\u982d\u500b\u6578\uff0cPart 2 \u7d66\u5b9a\u958b\u982d\u6c42\u51fa\u6307\u793a\uff0cPart 3 \u5247\u7d9c\u5408\u8d77\u4f86\uff0c\u7d66\u5b9a\u958b\u982d\u6c42\u51fa\u7d66\u5b9a\u91cf\u80fd\u653e\u591a\u9577\u3002<\/p>\n\n\n\n<p>\u7c21\u55ae\u60f3\u4e00\u60f3\u5c31\u80fd\u77e5\u9053 Part 1 \u53ef\u4ee5\u76f4\u63a5\u4ee5\u7e3d\u9577\u5ea6\u9664\u4ee5\u5404\u6307\u793a\u9593\u9694\u518d\u6c42\u548c\uff0cPart 2 \u5247\u53cd\u904e\u4f86\uff0c\u5728\u7b2c N \u683c\u6709\u9019\u9ebc\u591a\u77f3\u982d\u8868\u793a N \u7684\u56e0\u6578\u88e1\u6070\u6709\u9019\u9ebc\u591a\u500b\u5728\u6307\u793a\u7576\u4e2d\uff0c\u7531\u6b64\u5373\u53ef\u7be9\u51fa\u6709\u548c\u6c92\u6709\u7684\u6307\u793a\u3002(\u7576\u7136\u9019\u5c31\u5047\u8a2d\u6c92\u6709\u5927\u65bc\u7d66\u5b9a\u9577\u5ea6\u7684\u6307\u793a\uff0c\u6211\u5011\u4e5f\u7121\u6cd5\u77e5\u9053\u6709\u6c92\u6709)<\/p>\n\n\n\n<p>Part 3 \u5247\u5f88\u6709\u610f\u601d\u3002\u4f7f\u7528 Part 2 \u6c42\u51fa\u6307\u793a\u5f8c\uff0c\u539f\u672c\u60f3\u8aaa\u7528\u500b LCM \u770b\u80fd\u4e0d\u80fd\u627e\u51fa\u5faa\u74b0\u7c21\u5316\u8a08\u7b97\uff0c\u7d50\u679c\u4f5c\u8005\u653e\u4e86\u597d\u4e9b\u5927\u8cea\u6578\u5728\u88e1\u9762\u8b93 LCM \u76f4\u63a5\u7ffb\u8eca\u2026\u2026\u3002\u7136\u5f8c\u60f3\u8aaa\u597d\u5427\uff0c\u4e0d\u7136\u5c31\u4e8c\u5206\u641c\u4e00\u4e0b\u770b\u770b\uff0c\u7136\u5f8c\u5c31\u60f3\u5230\u9019\u4e0d\u5c31\u662f\u6a19\u6e96\u7684<a href=\"https:\/\/en.wikipedia.org\/wiki\/Exponential_search\">\u6307\u6578\u641c\u5c0b<\/a>\u554f\u984c\u55ce?! \u6240\u8b02\u6307\u6578\u641c\u5c0b\uff0c\u662f\u6307\u5728\u4e00\u500b\u53f3\u7aef\u7121\u9650\u7684\u55ae\u8abf\u7bc4\u570d\u5167\u9032\u884c\u300c\u4e8c\u5206\u300d\u641c\u5c0b\u7684\u6f14\u7b97\u6cd5\uff0c\u7531\u65bc\u7b2c\u4e00\u6b65\u662f\u4f9d\u7167\u6307\u6578\u6210\u9577\u7684\u901f\u5ea6\u5207\u6bb5\u4e0b\u4f86\u770b\u8981\u627e\u7684\u6771\u897f\u5728\u4e0d\u5728\u88e1\u9762\uff0c\u6545\u7a31\u6307\u6578\u641c\u5c0b\u3002\u56e0\u70ba\u5207\u4e0b\u4f86\u7684\u6bb5\u843d\u662f\u6307\u6578\u6210\u9577\uff0c\u82e5\u6b32\u641c\u5c0b\u6578\u5728\u7b2c \\(N\\) \u683c\uff0c\u6703\u9700\u8981 \\(O(\\log N)\\) \u6b21\u5207\u5230\u5b83\uff1b\u5207\u4e0b\u4f86\u7684\u6bb5\u843d\u7d04\u6709 \\(N\/2\\) \u500b\u5143\u7d20\uff0c\u9032\u884c\u6a19\u6e96\u4e8c\u5206\u641c\u4e5f\u9700\u8981 \\(O(\\log N)\\) \u6b21\uff0c\u6240\u4ee5\u7e3d\u8a08\u7684\u6642\u9593\u5c31\u662f \\(O(\\log N)\\)\u3002<\/p>\n\n\n\n<p>\u4e0d\u904e Part 3 \u5176\u5be6\u9084\u6709\u53e6\u89e3\uff1a\u7531 Part 1\uff0c\u7d66\u5b9a\u9577\u5ea6\u53ef\u4ee5\u6c42\u51fa\u77f3\u982d\u6578\u81f3\u591a\u662f\u9577\u5ea6\u4e58\u4e0a\u6307\u793a\u7684\u5012\u6578\u548c\uff0c\u56e0\u6b64\u5012\u6c42\u6642\u7d66\u5b9a\u77f3\u982d\u6578\u53ef\u4ee5\u9664\u4ee5\u5012\u6578\u548c\u6c42\u5f97\u53ea\u4f4e\u4f30\u5c11\u8a31\u7684\u9577\u5ea6\uff0c\u518d\u7c21\u55ae\u7684\u641c\u904e\u53bb\u5c31\u80fd\u627e\u51fa\u7b54\u6848\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 17: Deadline-Driven Development (2025\/11\/25)<\/h3>\n\n\n\n<p>\u706b\u5c71\u8981\u7206\u767c\u4e86\uff01Part 1 \u548c 2 \u719f\u6089\u706b\u5c71\u5ca9\u6f3f\u7684\u5713\u5f62\u7bc4\u570d\u5f8c\uff0cPart 3 \u8981\u6211\u5011\u81ea\u4e00\u500b\u8d77\u9ede\u958b\u59cb\uff0c\u7e5e\u706b\u5c71\u5ca9\u6f3f\u4e00\u5708\u56de\u5230\u539f\u9ede\uff0c\u9019\u7576\u4e2d\u4e0d\u80fd\u8b93\u706b\u5c71\u5ca9\u6f3f\u7684\u5713\u5f62\u7bc4\u570d\u78b0\u5230\u8d70\u904e\u7684\u8def\u7dda\u3002<\/p>\n\n\n\n<p>\u6bd4\u8f03\u9ebb\u7169\u7684\u662f\u9019\u500b\u300c\u7e5e\u706b\u5c71\u5ca9\u6f3f\u4e00\u5708\u300d\u9019\u4ef6\u4e8b\u3002\u6211\u4e00\u958b\u59cb\u7684\u5beb\u6cd5\u662f\u81ea\u706b\u5c71\u53e3\u5f80\u5de6\u53f3\u62c9\u6a6b\u7dda\uff0c\u641c\u5c0b\u6642\u7d00\u9304\u4e0b\u9019\u7d50\u679c\u662f\u8d70\u904e\u54ea\u534a\u908a\u7684\u6a6b\u7dda\uff0c\u7136\u5f8c\u53bb\u627e\u5404\u4e00\u908a\u7684\u7d50\u679c\u6e4a\u8d77\u4f86\uff1b\u4e0d\u904e\u5f8c\u4f86\u770b\u5230\u53e6\u4e00\u500b\u5224\u5b9a\u6cd5\u662f\u53ea\u62c9\u534a\u908a\u7576\u4f5c\u300c\u63db\u65e5\u7dda\u300d\uff0c\u7d00\u9304\u76ee\u524d\u4f4d\u7f6e\u662f\u5f9e\u54ea\u908a\u8de8\u904e\u300c\u63db\u65e5\u7dda\u300d\uff0c\u7136\u5f8c\u5c31\u80fd\u4ee5\u8de8\u904e\u67d0\u500b\u65b9\u5411\u4e00\u6b21\u7684\u539f\u9ede\u505a\u70ba\u641c\u5c0b\u76ee\u6a19\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 18: When Roots Remember (2025\/11\/26)<\/h3>\n\n\n\n<p>\u7d66\u5b9a\u4e00\u4e9b\u690d\u7269\u7684\u300c\u63a5\u7dda\u300d\uff0c\u5176\u7d50\u679c\u6703\u901a\u904e\u4e00\u689d\u7ba1\u7dda\u63a5\u5230\u4e0b\u4e00\u689d\u690d\u7269\u4e0a\uff0c\u6c42\u6700\u7d42\u690d\u7269\u7684\u7d50\u679c\u2014\u2014\u6216\u662f Part 3 \u8981\u4f60\u5728\u4e00\u500b\u7d66\u5b9a 81 \u8f38\u5165\u7684\u63a5\u7dda\u4e0a\u6c42\u51fa\u6700\u4f73\u89e3\u3002<\/p>\n\n\n\n<p>\u9019\u984c\u9019\u500b\u63a5\u7dda\u65b9\u5f0f\u5176\u5be6\u5f88\u6709\u985e\u795e\u7d93\u7db2\u8def\u7684\u5473\u9053\uff1a\u6bcf\u500b\u300c\u690d\u7269\u7bc0\u9ede\u300d\u6709\u8f38\u5165\u503c\uff0c\u7d93\u904e\u7ba1\u7dda\u7684\u52a0\u6b0a\u548c\uff0c\u5230\u7bc0\u9ede\u672c\u8eab\u9032\u884c (\u67d0\u500b\u8b8a\u5f62\u7684) ReLU \u6574\u6d41\u5f8c\u505a\u70ba\u7d50\u679c\uff1b\u4f46 Part 3 \u7684\u6700\u4f73\u5316\u4e26\u6c92\u6709\u4e00\u500b\u76ee\u6a19\u503c\u80fd\u8b93\u6211\u5011\u505a<a href=\"https:\/\/zh.wikipedia.org\/zh-tw\/\u53cd\u5411\u4f20\u64ad\u7b97\u6cd5\">\u53cd\u5411\u50b3\u64ad<\/a>\u3002\u5f8c\u4f86\u63db\u4e86\u500b\u601d\u8def\uff0c\u65e2\u7136\u662f\u5728\u4e00\u500b\u5f88\u9ad8\u7dad\u5ea6\u7684\u7a7a\u9593\u505a\u6700\u4f73\u5316\uff0c\u90a3\u4e0d\u5982\u4f86\u5beb<a href=\"https:\/\/zh.wikipedia.org\/zh-tw\/\u6a21\u62df\u9000\u706b\">\u6a21\u64ec\u9000\u706b<\/a>\u5427\uff01\u4e0d\u904e\u9019\u7562\u7adf\u662f\u6211\u7b2c\u4e00\u6b21\u5728\u505a\u9019\u7a2e\u6700\u4f73\u5316\u984c\u4e0a\u5beb\u6a21\u64ec\u9000\u706b\uff0c\u6709\u4e9b\u7d30\u7bc0\u4e26\u6c92\u6709\u90a3\u9ebc\u719f\uff0c\u52a0\u4e0a\u9019\u984c\u7684\u503c\u7a7a\u9593\u6709\u500b\u5f88\u5927\u7684 0 \u8c37\uff0c\u9032\u5165 0 \u8c37\u5c31\u4e0d\u5bb9\u6613\u8df3\u51fa\u4f86\uff0c\u82b1\u4e86\u597d\u4e9b\u6642\u9593\u5728\u8655\u7406\u9019\u4e9b\u5730\u65b9\u3002\u4e0d\u904e\u81f3\u5c11\u627e\u5230\u7684\u6700\u5927\u503c\u662f\u6b63\u78ba\u7684 (\u800c\u4e14\u8c8c\u4f3c\u4e0d\u53ea\u4e00\u89e3\uff0c\u53ef\u80fd\u56e0\u70ba\u9019\u4e9b\u89e3\u7684\u67d0\u4e9b\u4e2d\u9593\u503c\u4e0d\u7ba1\u600e\u9ebc\u8abf\u90fd\u662f 0 \u7684\u95dc\u4fc2) \u800c\u4e14\u8dd1\u7684\u5920\u5feb\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 19: Flappy Quack (2025\/11\/27)<\/h3>\n\n\n\n<p>\u2026\u2026\u6a19\u984c\u548c\u5716\u7247\u6839\u672c\u5c31\u628a\u9019\u984c\u7834\u6897\u7834\u5149\u4e86 XD\u3002\u4e0d\u904e\u610f\u5916\u7684\u7576\u6578\u5b57\u5f88<em>\u5927<\/em>\u7684\u6642\u5019\u4e0d\u597d\u505a\uff0c\u4f60\u4e0d\u53ef\u80fd\u7528\u985e BFS \u7684\u641c\u5c0b\u641c\u904e\u53bb\uff1a\u9996\u5148\u986f\u7136\u4e0d\u53ef\u80fd\u5728\u6bcf\u4e00\u6b65\u6c7a\u5b9a\u62cd\u4e0d\u62cd\uff0c\u7136\u5f8c\u5c31\u7b97\u5316\u7c21\u5230\u53ea\u5728\u7ba1\u5b50\u8655\u7b97\uff0c\u9019\u5730\u5716\u76ee\u6a19\u4e4b\u6df1\u6703\u5e7e\u4e4e\u628a\u6240\u6709\u6dfa\u5c64\u7684\u72c0\u614b\u7d66\u627e\u904e\uff0c\u7576\u6dfa\u5c64\u72c0\u614b\u5920\u591a\u6642\u4e00\u6a23\u6703\u7206\u70b8\u3002<\/p>\n\n\n\n<p>\u4e0d\u904e\u5982\u679c\u89c0\u5bdf\u5230\u62cd\u7684\u6b21\u6578\u6c7a\u5b9a\u4e86\u5230\u76ee\u6a19\u6642\u7684\u9ad8\u5ea6\uff0c\u90a3\u6211\u5011\u5c31\u53ef\u4ee5\u4e0d\u7528\u7ba1\u62cd\u7684\u6b21\u6578\u4e86\uff1a\u53cd\u6b63\u80fd\u901a\u904e\u7684\u7bc4\u570d\u88e1\u6700\u4f4e\u7684\u90a3\u500b\u5c31\u662f\u6700\u5c11\u6b21\u6578\u3002\u7136\u5f8c\u5c31\u662f\u9010\u500b\u6383\u904e\u53bb\u6c7a\u5b9a\u54ea\u4e9b\u683c\u5b50\u5230\u5f97\u4e86\uff0c\u4e00\u8def\u63a8\u5230\u6700\u5f8c\u7684\u7ba1\u5b50\u5c31\u884c\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quest 20: Dream in Triangles (2025\/11\/28)<\/h3>\n\n\n\n<p>\u9019\u984c\u5c31\u662f\u6a19\u6e96\u7684\u4e09\u89d2\u5ea7\u6a19\u984c\uff0c\u4e0d\u904e Part 3 \u5730\u5716\u9084\u6703\u8f49\u2026\u2026\u7136\u5f8c\u5c31\u5fd8\u8a18\u539f\u5730\u8df3\u4e5f\u662f\u4e00\u6b65\u3002orz<\/p>\n\n\n\n<p>\u6703\u8f49\u7684\u5730\u5716\u4e00\u822c\u4f86\u8aaa\u6709\u5169\u7a2e\u89e3\u6cd5\uff1a\u4e00\u7a2e\u662f\u771f\u7684\u628a\u5730\u5716\u8f49\u904e\u53bb\uff0c\u4e00\u7a2e\u662f\u5012\u904e\u4f86\u628a\u81ea\u5df1\u8f49\u53bb\u76ee\u6a19\u683c\u3002\u9019\u984c\u56e0\u70ba\u662f\u4e09\u89d2\u683c\u7684\u95dc\u4fc2\uff0c\u9700\u8981\u7684\u8a08\u7b97\u90fd\u4e0d\u662f\u5f88\u7c21\u55ae\uff0c\u90fd\u6703\u9700\u8981\u60f3\u4e00\u4e0b\u3002\u6211\u662f\u56e0\u70ba\u63a1\u7528\u4e86\u8f49\u5730\u5716\u7684\u65b9\u5f0f\u624d\u6703\u5fd8\u8a18\u539f\u5730\u8df3\u9019\u4e00\u6b65\uff1b\u5982\u679c\u662f\u81ea\u5df1\u8f49\u53bb\u76ee\u6a19\u683c\u7684\u8a71\u61c9\u8a72\u662f\u4e0d\u6703\u6f0f\u7684\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u4ee5\u4e0b  Advent of Codes \u7684\u9632\u96f7\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"998\" src=\"https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411-1024x998.jpg\" alt=\"\" class=\"wp-image-2305\" srcset=\"https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411-1024x998.jpg 1024w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411-300x292.jpg 300w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411-150x146.jpg 150w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411-768x749.jpg 768w, https:\/\/blog.cruciferslab.net\/wp-content\/uploads\/2025\/12\/1000001411.jpg 1394w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\u4e5f\u662f\u53bb\u5e74\u7684 Advent of Code \u5341\u9031\u5e74<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"aoc2025\">Advent of Codes 2025<\/h2>\n\n\n\n<p>\u5594\u5c0d\u4e86\uff0c<a href=\"https:\/\/github.com\/progheal\/adventofcode\">Git repo \u5728\u9019\u88e1<\/a>\u3002\u4eca\u5e74\u6211\u6c7a\u5b9a\u628a\u4e00\u4e9b\u6771\u897f\u5347\u7d1a\u6210 C++20 \u4e86\uff0c\u4f8b\u5982\u5c0b\u5f91\u51fd\u5f0f\u5eab\u7684 State \u985e\u5225\u689d\u4ef6\u7684 concept \u88dc\u4e86\u4e0a\u53bb\uff0c\u9019\u6a23\u6211\u8981\u5beb State \u6642\u653e\u500b <code>static_assert<\/code> \u5c31\u80fd\u8b93 clangd \u5e6b\u6211\u6aa2\u67e5\u662f\u4e0d\u662f\u8a72\u5be6\u4f5c\u7684\u90fd\u5beb\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Secret Entrance<\/h3>\n\n\n\n<p>\u71b1\u8eab\u984c\u5c31\u662f\u8981\u6709 off by one error \u624d\u80fd\u53eb\u71b1\u8eab XD \u5012\u662f\u610f\u5916\u5730\u548c Everybody 2025 \u7684 Quest 1 \u6709\u90e8\u4efd\u76f8\u540c\u7684\u5143\u7d20\u5728\u3002(\u662f\u4ec0\u9ebc\u5c31\u4e0d\u634f\u4ed6\u4e86) \u5728\u5beb Part 2 \u7684\u6642\u5019\u4e00\u76f4\u89ba\u5f97\u600e\u9ebc\u5de6\u53f3\u4e0d\u5c0d\u7a31\u5f88\u8a0e\u53ad\uff0c\u7136\u5f8c\u624d\u767c\u73fe\u5c0d\u554a\u5de6\u53f3\u672c\u4f86\u5c31\u4e0d\u5c0d\u7a31\uff1a\u53d6\u9918\u7684\u5206\u754c\u7dda\u662f\u5728 0 \u7684<strong>\u5de6\u908a<\/strong>\uff0c\u6240\u4ee5\u5f80\u53f3\u8f49\u6642\u8de8\u7dda\u662f\u5728\u8e29 0 \u4e4b\u524d\u81ea\u7136\u76f4\u63a5\u6c42\uff0c\u5f80\u5de6\u8f49\u6642\u8de8\u7dda\u662f\u5728\u8e29 0 \u4e4b\u5f8c\u6240\u4ee5\u624d\u6703\u5dee 1\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Gift Shop<\/h3>\n\n\n\n<p>\u679c\u7136\u9019\u7a2e\u554f\u984c\u5c31\u80fd\u770b\u5230\u5169\u7a2e\u601d\u8003\u65b9\u5f0f\uff1a\u4e00\u662f\u6383\u904e\u6240\u6709\u7bc4\u570d\u770b\u88e1\u9762\u6578\u5b57\u662f\u4e0d\u662f\u91cd\u8986\u5b57\u4e32\uff0c\u4e00\u662f\u7522\u751f\u6240\u6709\u91cd\u8986\u5b57\u4e32\u518d\u53bb\u770b\u5b83\u5011\u5728\u4e0d\u5728\u7bc4\u570d\u88e1\u3002\u8003\u616e\u5230\u9019\u984c\u7684\u6578\u5b57\u4e0d\u6703\u5927\u5230\u7206\u70b8\uff0c\u5728 9e15 \u4e0a\u9650\u4e4b\u4e0b\u91cd\u8986\u5169\u6b21\u7684\u6975\u9650\u662f\u4e03\u4f4d\u6578\uff0c\u4e5f\u5c31\u662f\u7522\u751f\u6240\u6709\u91cd\u8986\u5b57\u4e32\u9802\u591a\u5343\u842c\u51fa\u982d\u6b21\uff0c\u6211\u5c31\u76f4\u63a5\u5beb\u5f8c\u8005\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Lobby<\/h3>\n\n\n\n<p>\u7e3d\u4e4b\u662f\u627e\u6578\u5b57\u7684\u5b50\u5b57\u4e32\u4f7f\u7d50\u679c\u6700\u5927\u3002\u6211\u7684\u505a\u6cd5\u662f\u905e\u8ff4\uff0c\u6bcf\u6b21\u627e\u51fa\u6700\u5927\u7684\u6578\u5b57\u6700\u65e9\u51fa\u73fe\u5728\u54ea\u3002\u5982\u679c\u5b83\u542b\u5176\u5f8c\u7684\u6578\u5b57\u8db3\u5920\u53d6\u7684\u8a71\u5c31\u53d6\u5b83\u52a0\u905e\u8ff4\u53d6\u5f8c\u9762\uff0c\u5426\u5247\u905e\u8ff4\u53d6\u524d\u9762\u52a0\u4e0a\u5b83\u548c\u6240\u6709\u5f8c\u9762\u7684\u6578\u5b57\uff1b\u7406\u7531\u662f\u9019\u500b\u6700\u5927\u7684\u6578\u5b57\u51fa\u4f86\u4e00\u5b9a\u6700\u8cfa\uff0c\u8d8a\u65e9\u51fa\u73fe\u4e5f\u8d8a\u8cfa\uff0c\u6240\u4ee5\u6c42\u51fa\u5b83\u6700\u65e9\u53ef\u4ee5\u5728\u54ea\u88e1\uff0c\u5269\u4e0b\u7684\u5c31\u905e\u8ff4\u627e\u5373\u53ef\u3002<\/p>\n\n\n\n<p>\u7136\u5f8c\u770b\u5230\u53e6\u4e00\u500b\u4e0d\u592a\u78ba\u5b9a\u7b97\u4e0d\u7b97\u7b49\u50f9\u7684\u505a\u6cd5\uff1a\u81ea\u5de6\u800c\u53f3\uff0c\u53d6\u76ee\u524d\u5de6\u754c (\u81ea\u5b57\u4e32\u5de6\u754c\u958b\u59cb) \u81f3\u672b\u5c3e\u524d X \u4f4d\u4e2d\u7684\u6700\u5927\u503c\uff0c\u9019\u500b X \u4f4d\u8981\u7559\u5230\u4fdd\u8b49\u5f8c\u9762\u6709\u8db3\u5920\u7684\u4f4d\u6578\u53d6\u5269\u4e0b\u7684\u6578\u5b57\u3002\u4f8b\u5982 part 2 \u7684\u53d6 12 \u500b\uff0c\u5247\u7b2c\u4e00\u500b\u5b57\u662f\u5b57\u4e32\u958b\u982d\u81f3\u5012\u6578\u7b2c 12 \u500b\u4e2d\u7684\u6700\u65e9\u6700\u5927\u503c\uff0c\u7b2c\u4e8c\u500b\u5b57\u662f\u7b2c\u4e00\u500b\u5b57\u4e4b\u5f8c\u81f3\u5012\u6578\u7b2c 11 \u500b\u4e2d\u7684\u6700\u65e9\u6700\u5927\u503c\uff0c\u4f9d\u6b64\u985e\u63a8\u3002\u9019\u500b\u8caa\u5fc3\u505a\u6cd5\u7684\u7406\u7531\u662f\uff0c\u6bcf\u500b\u4f4d\u7f6e\u53ea\u80fd\u5728\u6f14\u7b97\u6cd5\u4e2d\u7d66\u7684\u7bc4\u570d\u5167\u53d6\u503c\uff0c\u6240\u4ee5\u76f4\u63a5\u53d6\u6700\u5927\u503c\u5373\u662f\u7b54\u6848\u3002\u6211\u4e0d\u592a\u78ba\u5b9a\u6211\u7684\u505a\u6cd5\u662f\u4e0d\u662f\u8ddf\u9019\u500b\u4e00\u6a23\u7684\u539f\u56e0\u662f\u8caa\u7684\u6771\u897f\u4e0d\u4e00\u6a23\uff1a\u6211\u8caa\u6700\u5927\u6578\u5b57\u7684\u6700\u65e9\u4f4d\u7f6e\uff0c\u9019\u500b\u505a\u6cd5\u8caa\u6bcf\u500b\u4f4d\u7f6e\u53ef\u80fd\u7bc4\u570d\u5167\u7684\u6700\u5927\u503c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Printing Department<\/h3>\n\n\n\n<p>\u9019\u5929\u662f\u65b9\u683c\u5b58\u53d6\u51fd\u5f0f\u5eab\u7684\u52dd\u5229\u3002\u76f4\u63a5\u628a\u8981\u7684\u908f\u8f2f\u5beb\u6210\u7a0b\u5f0f\u78bc\uff0c\u7d30\u7bc0\u8655\u7406 (\u4f8b\u5982\u516b\u9130\u57df\u6216\u9663\u5217\u5b58\u53d6\u51fa\u754c\u5224\u65b7) \u4ea4\u7d66\u904e\u53bb\u7684\u6211\u641e\u5b9a\u3002<\/p>\n\n\n\n<p>\u8aaa\u8d77\u4f86\u597d\u50cf part 2 \u7684\u522a\u9664\u662f\u5c11\u6578\u53ef\u4ee5\u908a\u67e5\u908a\u522a\u7684\u72c0\u6cc1\uff0c\u56e0\u70ba\u4e0d\u6703\u6709\u8a72\u78b0\u5f97\u5230\u7684\u56e0\u70ba\u522a\u6389\u5f8c\u8b8a\u6210\u78b0\u4e0d\u5230\u7684\u72c0\u6cc1\u3002\u4e0d\u904e\u6211\u9084\u662f\u51fa\u65bc\u7fd2\u6163\u628a\u5f85\u522a\u7684\u9ede\u5148\u6536\u96c6\u8d77\u4f86\u518d\u522a\u6389\u5c31\u662f\u4e86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Cafeteria<\/h3>\n\n\n\n<p>\u6c92\u4ec0\u9ebc\u597d\u8aaa\u7684\uff0c\u5c31\u662f\u6574\u6578\u5340\u9593\u7684\u64cd\u4f5c\u548c\u904b\u7b97\u3002\u662f\u4e0d\u662f\u8a72\u662f\u6642\u5019\u628a\u53bb\u5e74\u5beb\u4e00\u534a\u7684\u5340\u9593\u904b\u7b97\u985e\u5225\u7d66\u5efa\u8d77\u4f86\u4e86\u2026\u2026<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Trash Compactor<\/h3>\n\n\n\n<p>Part 1 \u770b\u8d77\u4f86\u662f\u500b\u5f88\u7121\u8f9c\u7684\u300c\u5b58\u4e0b\u6240\u6709\u6771\u897f\uff0c\u904b\u7b97\u5b50\u6700\u5f8c\u518d\u7d66\u4f60\u300d\u7684\u984c\u76ee\uff0c\u6240\u4ee5\u70ba\u4e86\u9019\u500b\u7c21\u55ae\u7df4\u7fd2\u4e86\u4e00\u4e0b C++ \u7528 <code>&lt;algorithm&gt;<\/code> \u8981\u600e\u9ebc\u515c\u51fa\u9019\u7a2e\u6771\u897f\u2014\u2014\u7d50\u8ad6\u662f\u9084\u662f\u5f88\u641e\u525b\uff0cC++ \u679c\u7136\u4e0d\u662f\u505a\u9019\u7a2e\u9ad8\u968e\u7a0b\u5f0f\u8a2d\u8a08\u7684\u8a9e\u8a00\u2014\u2014\u7136\u5f8c\u770b\u5230 Part 2 \u8aaa\u300c\u5662\u5176\u5be6\u6771\u897f\u662f\u50cf\u4e2d\u6587\u76f4\u66f8\u90a3\u6a23\u7531\u53f3\u5230\u5de6\u7531\u4e0a\u5230\u4e0b\uff0c\u8acb\u518d\u505a\u4e00\u6b21\u300d\u5dee\u9ede\u7f75\u51fa\u4f86\u2026\u2026<\/p>\n\n\n\n<p>\u7136\u5f8c\u64fa\u5728\u6211\u7684\u51fd\u5f0f\u5eab\u88e1\u7684\u4e00\u500b\u610f\u6599\u4e4b\u5916\u7684\u51fd\u5f0f\u6d3e\u4e0a\u7528\u5834\u4e86\uff1a\u4e0a\u9762 Everybody codes \u67d0\u984c\u63d0\u5230\u65cb\u8f49\u76e4\u9762\uff0c\u6211\u5176\u5be6\u65e9\u5c31\u6709\u5beb\u597d\u6b63\u65b9\u5f62\u7684\u65cb\u8f49\u51fd\u6578\u64fa\u8457\u4e86\uff0c<code>vector&lt;string&gt;<\/code> \u4e1f\u9032\u53bb\u5c31\u6703\u56de\u50b3\u53e6\u4e00\u500b <code>vector&lt;string&gt;<\/code> \u662f\u8f49\u597d\u7684\u7d50\u679c\uff0c\u6240\u4ee5\u6211\u5c31\u4e1f\u9032\u53bb\u5de6\u8f49\u7136\u5f8c\u5c31\u7c21\u55ae\u4e86 XD\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Laboratories<\/h3>\n\n\n\n<p>\u96e3\u5f97\u6709\u4e00\u984c\u662f\u65b9\u683c\u984c\u4f46\u4e0d\u7528\u62c9\u65b9\u683c\u51fd\u5f0f\u5eab\u51fa\u4f86\u7684\uff1a\u9019\u984c\u7684\u6027\u8cea\u76f4\u63a5\u4e00\u5217\u5217\u8655\u7406\u5c31\u597d\uff0c\u6211\u96d6\u7136\u61f6\u60f0\u7528\u4e86\u4e00\u500b <code>vector&lt;string&gt;<\/code> \u5148\u62c9\u8f38\u5165\u9032\u4f86\uff0c\u4f46\u5be6\u969b\u4e0a\u4e5f\u53ea\u6709 one-pass \u8655\u7406\u904e\u53bb\uff0c\u9019\u662f\u53ef\u4ee5\u908a\u8b80\u908a\u8655\u7406\u7684\u984c\u76ee\u3002<\/p>\n\n\n\n<p>\u7136\u5f8c\u679c\u7136 part 2 \u7684\u7d50\u679c\u611f\u89ba\u602a\u602a\u7684\uff0c\u52a0\u4e0a\u9019\u984c\u6bcf\u6b21\u62c6\u5c31\u662f\u5169\u500d\u986f\u7136\u6703\u6709\u72c0\u6cc1\uff0c\u6240\u4ee5\u539f\u672c\u9806\u624b\u5beb\u7684 32-bit \u8b8a\u6578\u9084\u662f\u6539\u4e86 64-bit\uff0c\u679c\u4e0d\u5176\u7136\u7b54\u6848\u662f\u6703\u7206\u6389\u7684\u2026\u2026<\/p>\n\n\n\n<p>\u8aaa\u8d77\u4f86\u9019\u5169\u984c\u5c31\u662f\u4eca\u5e74\u7684\u9031\u672b\u984c\u4e86\u3002\u770b\u4f86\u4eca\u5e74\u6574\u9ad4\u7684\u96e3\u5ea6\u504f\u7c21\u55ae\u7684\u6a23\u5b50\uff1f\uff08\u88dc\u8a18\uff1a\u7d50\u679c\u9b54\u738b\u4e0d\u662f\u5728\u9019\u88e1\u2026\u2026\uff09<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Playground<\/h3>\n\n\n\n<p><a href=\"https:\/\/zh.wikipedia.org\/wiki\/\u514b\u9c81\u65af\u514b\u5c14\u6f14\u7b97\u6cd5\">Kruskal \u6f14\u7b97\u6cd5<\/a>\u5be6\u4f5c\u984c\u3002\u7576\u7136\u5c31\u6703\u6709 <a href=\"https:\/\/zh.wikipedia.org\/wiki\/\u5e76\u67e5\u96c6\">disjoint set<\/a> \u7684\u5be6\u4f5c\u4e86\u3002(\u5c0d\uff0cdisjoint set \u4e0a\u9762 Everybody Codes \u9810\u7fd2\u904e\u4e86 XD Everybody Codes \u7684 DC \u7fa4\u88e1\u4e0d\u5c11\u4eba\u5728\u8aaa\u9084\u597d\u4eca\u5e74\u6709\u9810\u7fd2\u5230)<\/p>\n\n\n\n<p>\u7136\u5f8c\u597d\u50cf\u6211\u8981\u5148\u5beb\u8d77\u4f86\u7684\u8cc7\u6599\u7d50\u69cb\u53c8\u8b8a\u591a\u4e86\u2026\u2026<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9. Movie Theater<\/h3>\n\n\n\n<p>\u5148\u8b1b\u7d50\u8ad6\uff1a\u8c6a\u83ef\u5730\u7ffb\u8eca\u4e86\u3002<span style=\"font-size:70%; color:#7f7f7f;text-decoration:line-through\">\u5927\u6982\u56e0\u70ba\u6700\u8fd1\u5fd9\u8457\u7576\u3007\u4e4b\u6230\u58eb\u7684\u95dc\u4fc2\u3002<\/span><\/p>\n\n\n\n<p>\u7e3d\u4e4b\u662f\u500b\u507d\u88dd\u6210\u683c\u5b50\u5730\u5716\u7684\u8a08\u7b97\u5e7e\u4f55\u984c\uff1aPart 1 \u6c42\u4efb\u5169\u9ede\u70ba\u89d2\u843d\u5f62\u6210\u7684\u77e9\u5f62\u6700\u5927\u591a\u5927\uff0c\u9019\u53ef\u4ee5\u76f4\u63a5\u7b97\u904e\u53bb\u6240\u4ee5\u6c92\u4ec0\u9ebc\u554f\u984c\uff0c\u4f46 Part 2 \u544a\u8a34\u6211\u5011\u300c\u7d66\u4f60\u7684\u662f\u4e00\u500b\u683c\u9ede\u9802\u9ede\u4e14\u8ef8\u5c0d\u9f4a\u7684\u591a\u908a\u5f62\uff0c\u73fe\u5728\u91cd\u505a\u4e00\u6b21 Part 1 \u4f46\u77e9\u5f62\u9650\u5b9a\u8981\u5b8c\u5168\u5728\u9019\u591a\u908a\u5f62\u5167\u300d\u3002\u300c\u77e9\u5f62\u9650\u5b9a\u5b8c\u5168\u5728\u9019\u591a\u908a\u5f62\u5167\u300d\u5176\u5be6\u662f\u500b\u5f88\u8a0e\u53ad\u7684\u689d\u4ef6\uff0c\u9019\u8ddf\u984c\u76ee\u7684\u683c\u5b50\u5730\u5716\u507d\u88dd\u4e5f\u6709\u95dc\u4fc2\uff1a\u9996\u5148\uff0c\u6bcf\u500b\u5ea7\u6a19\u9ede\u4e0d\u662f\u4ee3\u8868\u9ede\u800c\u662f\u90a3\u4e00\u584a\u55ae\u4f4d\u65b9\u5f62\uff0c\u56e0\u6b64\u7406\u8ad6\u4e0a\u6703\u6709\u4e00\u4e9b\u908a\u754c\u72c0\u6cc1\u8981\u8655\u7406\uff0c\u4e0d\u904e\u770b\u8d77\u4f86\u9019\u984c\u7d66\u7684\u6578\u5b57\u5920\u300c\u5bec\u300d\u6240\u4ee5\u4e0d\u662f\u554f\u984c\uff0c\u7c21\u55ae\u7684\u689d\u4ef6\u4f8b\u5982\u77e9\u5f62\u5167\u6c92\u6709\u5176\u4ed6\u9ede\u548c\u77e9\u5f62\u908a\u90fd\u5728\u591a\u908a\u5f62\u5167\u9019\u6a23\u7d9c\u5408\u8d77\u4f86\u4e5f\u80fd\u904e\u3002<\/p>\n\n\n\n<p>\u53e6\u5916\u4e00\u500b\u554f\u984c\u5247\u662f\u300c\u591a\u908a\u5f62\u5167\u300d\u7684\u5224\u5b9a\uff1a\u56e0\u70ba\u9019\u662f\u8ef8\u5c0d\u9f4a\u7684\u591a\u908a\u5f62\uff0c\u5e7e\u4e4e\u4e00\u5b9a\u6703\u662f\u51f9\u7684\uff0c\u6240\u4ee5\u4e00\u4e9b\u51f8\u5f62\u624d\u80fd\u7528\u7684\u65b9\u5f0f (\u5982\u5224\u65b7\u9ede\u662f\u5426\u90fd\u5728\u908a\u7684\u540c\u4e00\u5074) \u5c31\u4e0d\u80fd\u7528\u3002\u6211\u5f8c\u4f86\u9078\u64c7\u7684\u662f<a href=\"https:\/\/zh.wikipedia.org\/zh-tw\/\u5377\u7ed5\u6570\">\u5377\u7e5e\u6578<\/a>\u6cd5\uff0c\u5c31\u662f\u5c0d\u6bcf\u689d\u908a\u53bb\u5224\u65b7\u6383\u904e\u53bb\u5c0d\u5377\u7e5e\u6578\u8ca2\u737b\u591a\u5c11\u6c42\u548c\u8d77\u4f86 (\u89d2\u5ea6\u7528\u5167\u7a4d\u7b97\uff0c\u65b9\u5411\u7528\u300c\u5916\u7a4d\u300d\u7684\u6b63\u8ca0\u865f\u6c7a\u5b9a)\uff0c\u5982\u679c\u4e0d\u662f\u96f6\u5c31\u662f\u5728\u88e1\u9762\u4e86\u3002\u7136\u5f8c\u6c42\u51fa\u4e86\u4e00\u500b\u904e\u5927\u7684\u7b54\u6848\u3002\u5be6\u969b\u5370\u51fa\u4f86\u9664\u932f\u624d\u767c\u73fe\u6211\u9023 (0,0) \u90fd\u6703\u5224\u65b7\u6210\u5728\u591a\u908a\u5f62\u88e1\uff0c\u90a3\u9019\u4e00\u5b9a\u54ea\u88e1\u6709\u554f\u984c\u2014\u2014\u6700\u5f8c\u7d42\u65bc\u67e5\u51fa\u554f\u984c\u78ba\u5be6\u5728\u9019\u88e1\u6c92\u932f\uff1a\u6211\u5728\u6c42\u5167\u7a4d\u8ddf\u5916\u7a4d\u6642\u6ea2\u4f4d\u4e86\u2026\u2026\u660e\u660e Part 1 \u6c42\u77e9\u5f62\u9762\u7a4d\u6642\u6709\u8a18\u5f97\u7528\u4e0a 64-bit \u8b8a\u6578\u7684\uff0c\u7d50\u679c\u9019\u88e1\u5fd8\u8a18\u4e86 Orz\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. Factory<\/h3>\n\n\n\n<p>\u7d42\u65bc\u7e7c 2018 Day 23 \u4e4b\u5f8c\u518d\u6b21\u5361\u984c\u4e86\u3002\u9019\u6b21\u548c\u4e0a\u6b21\u4e0d\u4e00\u6a23\uff0c\u4e0d\u662f\u627e\u4e0d\u5230\u505a\u6cd5\uff0c\u800c\u662f\u9019\u984c\u662f\u6574\u6578\u7dda\u6027\u898f\u5283\u6700\u4f73\u5316\u554f\u984c\uff0c\u8981\u5be6\u4f5c\u5df2\u6709\u7684\u6f14\u7b97\u6cd5\u6703\u82b1\u4e0d\u5c0f\u7684\u529f\u592b\u5c31\u662f\u3002<\/p>\n\n\n\n<p>Part 1 \u53ea\u662f\u57fa\u672c\u7684\u95dc\u71c8\u984c\uff0c\u7531\u65bc\u6bcf\u500b\u6309\u9215\u53ea\u6709\u6309\u8ddf\u4e0d\u6309\u5169\u7a2e\uff0c\u4e8c\u9032\u4f4d\u641c\u904e\u53bb\u5c31\u80fd\u6c42\u5f97\u7b54\u6848\uff1b\u4f46 Part 2 \u7d66\u5b9a\u7684\u662f\u6309\u5b8c\u5f8c\u6bcf\u500b\u6578\u5b57\u51fa\u73fe\u7684\u7e3d\u6b21\u6578\uff0c\u800c\u6309\u9215\u7684\u6578\u76ee\u8ddf\u6578\u5b57\u7684\u7e3d\u6578\u4e0d\u4e00\u5b9a\u4e00\u6a23\uff0c\u56e0\u6b64\u9019\u5c31\u6210\u4e86\u7dda\u6027\u898f\u5283\u554f\u984c\uff1a\u4ee5\u7b2c\u4e00\u500b\u7bc4\u4f8b\u70ba\u4f8b\uff0c\u82e5\u516d\u500b\u6309\u9215\u5206\u5225\u6309\u4e0b\\(a,b,c,d,e,f\\)\u6b21\uff0c\u5247\u9019\u76f8\u7576\u65bc\u4e0b\u5217\u7684\u6574\u6578\u7dda\u6027\u898f\u5283\u554f\u984c\uff1a<\/p>\n\n\n\n<div class=\"wp-block-math\"><math display=\"block\"><semantics><mtable columnalign=\"right left\"><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><mi>min<\/mi><mo>\u2061<\/mo><mspace width=\"0.1667em\"><\/mspace><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>a<\/mi><mo>+<\/mo><mi>b<\/mi><mo>+<\/mo><mi>c<\/mi><mo>+<\/mo><mi>d<\/mi><mo>+<\/mo><mi>e<\/mi><mo>+<\/mo><mi>f<\/mi><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mtext>s.t.<\/mtext><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>e<\/mi><mo>+<\/mo><mi>f<\/mi><mo>=<\/mo><mn>3<\/mn><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>b<\/mi><mo>+<\/mo><mi>f<\/mi><mo>=<\/mo><mn>5<\/mn><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>c<\/mi><mo>+<\/mo><mi>d<\/mi><mo>+<\/mo><mi>e<\/mi><mo>=<\/mo><mn>4<\/mn><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>a<\/mi><mo>+<\/mo><mi>b<\/mi><mo>+<\/mo><mi>d<\/mi><mo>=<\/mo><mn>7<\/mn><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>a<\/mi><mo separator=\"true\">,<\/mo><mi>b<\/mi><mo separator=\"true\">,<\/mo><mi>c<\/mi><mo separator=\"true\">,<\/mo><mi>d<\/mi><mo separator=\"true\">,<\/mo><mi>e<\/mi><mo separator=\"true\">,<\/mo><mi>f<\/mi><mo>\u2265<\/mo><mn>0<\/mn><\/mrow><\/mtd><\/mtr><mtr><mtd class=\"tml-right\" style=\"padding-left:0pt;padding-right:5.9776pt;\"><mrow><\/mrow><\/mtd><mtd class=\"tml-left\" style=\"padding-left:5.9776pt;padding-right:0pt;\"><mrow><mi>a<\/mi><mo separator=\"true\">,<\/mo><mi>b<\/mi><mo separator=\"true\">,<\/mo><mi>c<\/mi><mo separator=\"true\">,<\/mo><mi>d<\/mi><mo separator=\"true\">,<\/mo><mi>e<\/mi><mo separator=\"true\">,<\/mo><mi>f<\/mi><mo>\u2208<\/mo><mi>\u2124<\/mi><\/mrow><\/mtd><\/mtr><\/mtable><annotation encoding=\"application\/x-tex\">\\begin{array}{rl}\n\\min &amp; a+b+c+d+e+f\\\\\n\\text{s.t.} &amp; e+f=3\\\\\n&amp; b+f=5\\\\\n&amp; c+d+e=4\\\\\n&amp; a+b+d=7\\\\\n&amp; a,b,c,d,e,f\\geq0\\\\\n&amp; a,b,c,d,e,f\\in\\mathbb{Z}\n\\end{array}<\/annotation><\/semantics><\/math><\/div>\n\n\n\n<p>\u516d\u500b\u8b8a\u6578\u56db\u500b\u689d\u4ef6\uff0c\u96d6\u7136\u53ef\u4ee5\u5beb\u51fa\u300c\u901a\u89e3\u300d\u4f8b\u5982<\/p>\n\n\n\n<div class=\"wp-block-math\"><math display=\"block\"><semantics><mtable columnalign=\"center\"><mtr><mtd style=\"padding-left:0pt;padding-right:0pt;\"><mrow><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mi>a<\/mi><mo separator=\"true\">,<\/mo><mi>b<\/mi><mo separator=\"true\">,<\/mo><mi>c<\/mi><mo separator=\"true\">,<\/mo><mi>d<\/mi><mo separator=\"true\">,<\/mo><mi>e<\/mi><mo separator=\"true\">,<\/mo><mi>f<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mo>=<\/mo><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mn>2<\/mn><mo>\u2212<\/mo><mi>d<\/mi><mo>+<\/mo><mi>f<\/mi><mo separator=\"true\">,<\/mo><mn>5<\/mn><mo>\u2212<\/mo><mi>f<\/mi><mo separator=\"true\">,<\/mo><mn>1<\/mn><mo>\u2212<\/mo><mi>d<\/mi><mo>+<\/mo><mi>f<\/mi><mo separator=\"true\">,<\/mo><mi>d<\/mi><mo separator=\"true\">,<\/mo><mn>3<\/mn><mo>\u2212<\/mo><mi>f<\/mi><mo separator=\"true\">,<\/mo><mi>f<\/mi><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><\/mtd><\/mtr><mtr><mtd style=\"padding-left:0pt;padding-right:0pt;\"><mrow><mo>=<\/mo><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mn>2,5,1,0,3,0<\/mn><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mo>+<\/mo><mi>d<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mo form=\"prefix\" stretchy=\"false\">\u2212<\/mo><mn>1,0<\/mn><mo separator=\"true\">,<\/mo><mo form=\"prefix\" stretchy=\"false\">\u2212<\/mo><mn>1,1,0,0<\/mn><mo form=\"postfix\" stretchy=\"false\">)<\/mo><mo>+<\/mo><mi>f<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mn>1<\/mn><mo separator=\"true\">,<\/mo><mo form=\"prefix\" stretchy=\"false\">\u2212<\/mo><mn>1,1<\/mn><mo separator=\"true\">,<\/mo><mo form=\"prefix\" stretchy=\"false\">\u2212<\/mo><mn>1,0,1<\/mn><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><\/mtd><\/mtr><\/mtable><annotation encoding=\"application\/x-tex\">\\begin{array}{c}\n(a,b,c,d,e,f)=(2-d+f,5-f,1-d+f,d,3-f,f)\\\\=(2,5,1,0,3,0)+d(-1,0,-1,1,0,0)+f(1,-1,1,-1,0,1)\n\\end{array}<\/annotation><\/semantics><\/math><\/div>\n\n\n\n<p>\u4f46\u8981\u5f9e\u9019\u88e1\u5728\u4fdd\u6301\u8b8a\u6578\u975e\u8ca0\u7684\u524d\u63d0\u4e0b\u53bb\u6c42\u51fa\u76ee\u6a19\u7684\u6975\u5c0f\u503c\u5176\u5be6\u4ecd\u7136\u4e0d\u662f\u5f88\u5bb9\u6613\u3002(\u7bc4\u4f8b\u7d66\u7684 \\((a,b,c,d,e,f)=(1,3,0,3,1,2)\\) \u5c0d\u61c9\u65bc\u4e0a\u8ff0\u901a\u89e3\u4e2d\u4f7f \\(d=3,f=2\\))<\/p>\n\n\n\n<p>\u5176\u4ed6\u8f38\u5165\u7684\u6309\u9215\u6578\u76ee\u548c\u6578\u5b57\u7a2e\u985e\u6578\u6709\u591a\u6709\u5c11\uff0c\u7bc4\u4f8b\u7684\u4e09\u53f0\u6a5f\u5668\u5c31\u5404\u6709\u4e0d\u540c\uff1a\u7b2c\u4e00\u53f0\u516d\u8b8a\u6578\u56db\u689d\u4ef6\uff0c\u7b2c\u4e8c\u53f0\u4e94\u8b8a\u6578\u4e94\u689d\u4ef6\uff0c\u7b2c\u4e09\u53f0\u56db\u8b8a\u6578\u516d\u689d\u4ef6\uff1b\u800c\u7d66\u7684\u689d\u4ef6\u4e5f\u4e0d\u4e00\u5b9a\u662f\u7368\u7acb\u7684\uff0c\u4f8b\u5982\u7b2c\u4e8c\u53f0\u96d6\u7136\u4e94\u500b\u6309\u9215\uff0c\u4f46\u6309\u9215 (2,3) \u548c\u6309\u9215 (0,4) \u5404\u4e00\u6b21\u53ef\u4ee5\u88ab\u6309\u9215 (0,2,3,4) \u4e00\u6b21\u53d6\u4ee3\uff0c\u6240\u4ee5\u5be6\u8cea\u662f\u56db\u500b\u7368\u7acb\u689d\u4ef6\uff1b\u7b2c\u4e09\u53f0\u6578\u5b57 1 \u548c 2 \u7684\u689d\u4ef6\u53ca 0 \u548c 4 \u7684\u689d\u4ef6\u90fd\u5206\u5225\u662f\u91cd\u8986\u7684\uff0c\u800c\u6309\u9215 (0,1,2,3,4) = (0,3,4) + (1,2)\uff0c\u6240\u4ee5\u5be6\u8cea\u662f\u4e09\u500b\u7368\u7acb\u689d\u4ef6\u3002\u9019\u4e9b\u90fd\u589e\u52a0\u4e86\u300c\u6c42\u901a\u89e3\u518d\u53bb\u6700\u4f73\u5316\u300d\u7684\u8907\u96dc\u5ea6\u3002<\/p>\n\n\n\n<p>\u800c\u76f4\u63a5\u89e3\u7dda\u6027\u898f\u5283\u5462\uff1f\u6211\u9084\u9700\u8981\u4e00\u9ede\u6642\u9593\u4f86\u641e\u61c2 Simplex algorithm \u600e\u9ebc\u5beb\u2026\u2026<span style=\"font-size:70%; color:#7f7f7f;text-decoration:line-through\">\u7136\u5f8c\u5c31\u6c92\u6642\u9593\u7576\u3007\u4e4b\u6230\u58eb\u4e86 (\u88ab\u62d6\u8d70)<\/span><\/p>\n\n\n\n<p>\u88dc\u8a18\uff1a<a href=\"https:\/\/redd.it\/1pk87hl\">\u5728 reddit \u4e0a\u770b\u5230\u4e00\u7bc7\u6587\u7ae0\u7684\u505a\u6cd5<\/a>\u6c92\u53bb\u89e3\u7dda\u6027\u898f\u5283\uff0c\u800c\u662f\u5229\u7528\u4e86\u6bcf\u500b\u6309\u9215\u9802\u591a\u53ea\u6703\u52a0\u7d50\u679c\u52a0\u4e00\u6b21\u7684\u6027\u8cea (\u5373\u662f\u7dda\u6027\u898f\u5283\u689d\u4ef6\u7684\u4fc2\u6578\u90fd\u662f 0 \u6216 1) \u53bb\u505a\u62c6\u89e3\u3002\u6211\u539f\u672c\u4e0d\u662f\u5728\u9019\u88e1\u7b2c\u4e00\u6b21\u770b\u5230\u9019\u500b\u505a\u6cd5 (\u9019\u500b\u767c\u8868\u7684\u4eba\u6709\u5728\u90a3\u500b\u958b\u4e86 AoC \u8a0e\u8ad6\u4e32\u7684\u904a\u6232 DC \u7fa4\u88e1\u5148\u63d0\u904e\u4e00\u6b21)\uff0c\u4f46\u4ed6\u9019\u6a23\u7d30\u8b1b\u4e4b\u5f8c\u8aaa\u670d\u4e86\u6211\u9019\u662f\u500b\u53ef\u884c\u7684\u505a\u6cd5\u3002\u7406\u8ad6\u4e0a\u985e\u4f3c\u7684\u505a\u6cd5\u53ef\u80fd\u5c0d\u4fc2\u6578\u6709\u754c\u7684\u689d\u4ef6\u90fd\u80fd\u7528\uff0c\u4f46\u641c\u5c0b\u7684\u6df1\u5ea6\u5f88\u5feb\u5c31\u7206\u70b8\u4e86\uff1b\u7528\u5728\u53ea\u6709 0, 1 \u7684\u9019\u984c\u4e0a\u53ef\u80fd\u662f\u6700\u5bb9\u6613\u7406\u89e3\u7684\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">11. Reactor<\/h3>\n\n\n\n<p>\u5728\u641e\u4e8b\u7684\u4e00\u984c\u4e4b\u5f8c\u4f86\u4e86\u4e00\u500b\u76f8\u5c0d\u8f15\u9b06\u7684\u984c\u76ee\u3002\u9019\u984c\u662f\u6a19\u6e96\u7684\u5728 DAG \u4e0a DP \u7684\u984c\u76ee\uff0c\u4e5f\u5c31\u662f\u505a DP \u7684\u9806\u5e8f\u5373\u662f DAG \u7684\u62d3\u64b2\u6392\u5e8f\uff1bPart 1 \u7684 DP \u53ea\u6709\u4e00\u500b\u6578\u5b57\uff0c\u4f46 Part 2 \u5c31\u8981\u5206\u5225\u7d00\u9304\u8aaa\u6709\u6c92\u6709\u8d70\u904e\u6307\u5b9a\u7684\u5169\u500b\u9ede\uff0c\u6bcf\u500b\u9ede\u8981\u8a18\u56db\u500b\u6578\u5b57\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">12. Christmas Tree Farm<\/h3>\n\n\n\n<p>Eric \u4f60\u2026\u2026<details class=\"wp-block-inline-spoilers-block\"><summary>\u89e3\u6cd5<\/summary><details class=\"wp-block-inline-spoilers-block\"><summary>\u4f60\u771f\u7684\u8981\u770b\u55ce\uff1f<\/summary><details class=\"wp-block-inline-spoilers-block\"><summary>\u4f60\u771f\u7684\u771f\u7684\u8981\u770b\u55ce\uff1f<\/summary><details class=\"wp-block-inline-spoilers-block\"><summary>OK\uff0c\u4ee5\u4e0b\u662f\u89e3\u6cd5<\/summary>\u5148\u628a\u660e\u986f\u53ef\u4ee5\u505a\u7684\u505a\u4e00\u505a\u5427\u3002<details class=\"wp-block-inline-spoilers-block\"><summary>\u2026\u2026\uff1f<\/summary>\u505a\u4e86\u55ce\uff1f<details class=\"wp-block-inline-spoilers-block\"><summary>\u2026\u2026<\/summary>\u505a\u5c31\u5c0d\u4e86\u3002<details class=\"wp-block-inline-spoilers-block\"><summary>Eric \u4f60\u2026\u2026<\/summary>\u4f60\u770b\u770b\uff0cEric \u641e\u9019\u5957\u662f\u4e0d\u662f\u5f88\u8a87\u5f35\u2026\u2026<\/details><\/details><\/details><\/details><\/details><\/details><\/details><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7e3d\u611f\u60f3<\/h2>\n\n\n\n<p>\u7d42\u65bc\u53c8\u4e00\u5e74\u904e\u53bb\u4e86\u3002\u96d6\u7136 Advent of Code \u7e2e\u6c34\u4e86\uff0c\u4f46\u4ecd\u7136\u4e0d\u6e1b\u5b83\u505a\u70ba\u6bcf\u5e74\u51ac\u5929\u7684\u4f8b\u884c\u4e8b\u9805\u7684\u6a02\u8da3\uff1b\u4e0d\u904e\u766e\u7684\u5247\u9084\u6709\u5176\u4ed6\u985e\u4f3c\u7684\u6d3b\u52d5\u53ef\u4ee5\u53c3\u52a0\u3002<\/p>\n\n\n\n<p>\u4eca\u5e74 AoC (\u7279\u5225\u662f\u5f8c\u534a) \u6709\u4e00\u500b\u5927\u4e3b\u984c\u8df3\u4e86\u51fa\u4f86\uff1a\u300c\u4e0d\u8981\u5c07\u554f\u984c\u8907\u96dc\u5316\u300d\u3002\u6700\u5f8c\u9019\u56db\u984c\u90fd\u6709\u4e00\u500b\u7279\u6027\uff1a\u5982\u679c\u5c0d\u554f\u984c\u60f3\u592a\u591a\uff0c\u6703\u628a\u4e8b\u60c5\u8907\u96dc\u5316\u5230\u7121\u5f9e\u4e0b\u624b\uff1b\u4f46\u5982\u679c\u771f\u7684\u8a8d\u771f\u7814\u7a76\u7684\u8a71\uff0c\u5c31\u6703\u767c\u73fe\u984c\u76ee\u5176\u5be6\u6709\u4e00\u4e9b\u6c92\u6709\u660e\u8b1b\u7684\u6027\u8cea\u53ef\u4ee5\u5229\u7528\uff0c\u9032\u800c\u7c21\u5316\u554f\u984c\u3002\u6211\u60f3\u9019\u500b\u5fc3\u614b\u7528\u5230\u5176\u4ed6\u6311\u6230\u4e0a\u4e5f\u662f\u4e00\u6a23\u5427\u3002<\/p>\n\n\n\n<p>\u90a3\u9ebc\u9019\u662f\u500b\u65e9\u4e86\u9ede\u7684\u8056\u8a95\u5feb\u6a02\uff0c\u6211\u5011\u660e\u5e74\u898b\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b2c\u56db\u5e74\u5728\u9019\u88e1\u8cbc Advent of Code \u5fc3\u5f97\u4e86\u3002\u4eca\u5e74\u958b\u59cb Eric \u6c7a\u5b9a\u8981\u6e1b\u8f15\u4e00\u9ede\u4ed6\u81ea\u5df1\u7684\u8ca0\u64d4\uff0c\u6240\u4ee5\u984c\u76ee [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,4],"tags":[31,50],"class_list":["post-2281","post","type-post","status-publish","format-standard","hentry","category-aoclike","category-programming","tag-advent-of-code","tag-everybody-codes"],"_links":{"self":[{"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/posts\/2281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2281"}],"version-history":[{"count":61,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/posts\/2281\/revisions"}],"predecessor-version":[{"id":2371,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=\/wp\/v2\/posts\/2281\/revisions\/2371"}],"wp:attachment":[{"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.cruciferslab.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}