{"id":360,"date":"2024-04-28T20:27:57","date_gmt":"2024-04-28T12:27:57","guid":{"rendered":"https:\/\/seanxd.com\/?p=360"},"modified":"2024-04-28T20:27:59","modified_gmt":"2024-04-28T12:27:59","slug":"zerojudge-a584","status":"publish","type":"post","link":"https:\/\/seanxd.com\/en\/zerojudge-a584\/","title":{"rendered":"ZeroJudge A584: Relative Relations"},"content":{"rendered":"\n\n\n<p class=\"\">\u793e\u6703\u8001\u5e2b\u5728\u5c0f\u660e\u7684\u73ed\u4e0a\u8acb\u540c\u5b78\u5011\u8a0e\u8ad6\u6cd5\u5f8b\u4e0a\u7684\u4e00\u7b49\u89aa\u4e8c\u7b49\u89aa\u4e09\u7b49\u89aa\u5982\u4f55\u5340\u5206\u8207\u8a08\u7b97\uff0c\u4e26\u65bc\u4e0b\u4e00\u5802\u8ab2\u9032\u884c\u5831\u544a\u3002\u5c0f\u660e\u5728\u7db2\u8def\u4e0a\u627e\u5230\u4e00\u500b\u8a08\u7b97\u89aa\u7b49\u7684\u5efa\u8b70\u65b9\u5f0f&#8211;\u756b\u6a39\u72c0\u5716\uff0c\u5716\u4e2d\u6bcf\u4e00\u500b\u7bc0\u9ede\u4ee3\u8868\u4e00\u500b\u4eba\u540d\uff0c\u8a72\u7bc0\u9ede\u7684\u7236\u7bc0\u9ede\u5247\u5b58\u653e\u4ed6\u7236\u89aa\u7684\u540d\u5b57\uff0c\u800c\u8a72\u7bc0\u9ede\u7684\u5b50\u7bc0\u9ede\u5247\u5b58\u653e\u4ed6\u7684\u5c0f\u5b69\u7684\u540d\u5b57\u3002\u5728\u6a39\u72c0\u5716\u4e2d\u4e8c\u500b\u89aa\u5c6c\u4e4b\u9593\u9700\u7d93\u5e7e\u689d\u7684\u9023\u7d50 (Link) \u624d\u80fd\u9023\u63a5\u5c31\u662f\u5e7e\u7b49\u89aa\u3002\u4f8b\u5982\u4e0b\u5716\u4e2d\uff0cLIZ \u548c\u4ed6\u7684\u7236\u89aa BOB \u4e4b\u9593\u53ea\u9700\u7d93\u904e\u4e00\u689d\u9023\u7d50\uff0c\u6240\u4ee5\u662f\u4e00\u7b49\u89aa\uff0c\u800c LIZ \u548c\u4ed6\u7684\u723a\u723a PAM \u5c31\u9700\u7d93\u904e\u4e8c\u689d\u9023\u7d50\uff0c\u662f\u4e8c\u7b49\u89aa\u3002\u53e6\u5916\uff0cLIZ \u9700\u7d93\u904e\u56db\u689d\u9023\u7d50\u624d\u80fd\u8207\u548c JIM \u76f8\u9023\uff0c\u6240\u4ee5\u5c31\u662f\u56db\u7b49\u89aa\u4e86\u3002\u4f60\u80fd\u5beb\u4e00\u500b\u7a0b\u5f0f\u81ea\u52d5\u5224\u65b7\u4e8c\u500b\u4eba\u4e4b\u9593\u7684\u89aa\u7b49\u95dc\u4fc2\u55ce?<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"442\" height=\"199\" loading=\"lazy\" src=\"https:\/\/seanxd.com\/wp-content\/uploads\/2024\/04\/ShowImage-from-ZeroJudge-1.png\" alt=\"ZeroJudge A584\n\u984c\u76ee\u89e3\u8aaa\u7528\u5716\" class=\"wp-image-361\" srcset=\"https:\/\/seanxd.com\/wp-content\/uploads\/2024\/04\/ShowImage-from-ZeroJudge-1.png 442w, https:\/\/seanxd.com\/wp-content\/uploads\/2024\/04\/ShowImage-from-ZeroJudge-1-300x135.png 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/figure>\n\n\n\n<p class=\"\">\u70ba\u4e86\u7c21\u5316\u554f\u984c\uff0c\u6211\u5011\u505a\u4e86\u4ee5\u4e0b\u9650\u5236\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\">\u6211\u5011\u4ee5\u7236\u89aa\u7684\u540d\u5b57\u4f86\u4ee3\u8868\u7236\u6bcd\u89aa\u96d9\u65b9\uff0c\u4e14\u4ee5\u7956\u7236\u7684\u540d\u5b57\u4f86\u4ee3\u8868\u7956\u7236\u6bcd\u96d9\u65b9\u3002<\/li>\n\n\n\n<li class=\"\">\u6bcf\u4e00\u500b\u7bc0\u9ede\u6703\u6709\u591a\u5c11\u500b\u5b50\u7bc0\u9ede\u8996\u5b58\u5165\u8a72\u7bc0\u9ede\u7684\u4eba\u540d\u6709\u591a\u5c11\u500b\u89aa\u751f\u5b50\u5973\u800c\u5b9a\uff0c\u4f46\u6700\u591a\u4e0d\u6703\u8d85\u904e\u5341\u500b\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u7bc4\u4f8b\u6e2c\u8cc7<\/h2>\n\n\n\n<figure class=\"wp-block-table nfd-wb-animate nfd-wb-fade-in-bottom-short\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7bc4\u4f8b\u8f38\u5165<\/th><th>\u7bc4\u4f8b\u8f38\u51fa<\/th><\/tr><\/thead><tbody><tr><td>\u8f38\u5165\u5305\u542b\u4e86 N+2 \u884c (1 \u2264 N \u2264 50)\uff0c\u7b2c\u4e00\u884c\u8f38\u5165\u53ea\u6709\u4e00\u500b N \u503c\uff0c\u8868\u793a\u5171\u6709 N \u7b46\u8cc7\u6599\u4ee5\u4f9b\u5efa\u7acb\u6a39\u72c0\u5716\u3002\u7b2c 2 \u884c\u81f3\u7b2c N+1 \u884c\u5247\u5206\u5225\u8f38\u5165 N  \u7b46\u8cc7\u6599\uff0c\u6bcf\u7b46\u8cc7\u6599\u4e2d\uff0c\u7b2c\u4e00\u500b\u82f1\u6587\u540d\u5b57\u70ba\u67d0\u4e00\u7bc0\u9ede\u7684\u540d\u5b57\uff0c\u5176\u5f8c\u7684\u82f1\u6587\u540d\u5b57\u70ba\u8a72\u7bc0\u9ede\u4e4b\u5b50\u7bc0\u9ede\u7684\u540d\u5b57\uff0c\u6bcf\u500b\u540d\u5b57\u4e4b\u9593\u4ee5\u7a7a\u767d\u9694\u958b\uff0c\u5404\u7b46\u8cc7\u6599\u4e4b\u9593\u6c92\u6709\u524d\u5f8c\u9806\u5e8f\u95dc\u4fc2\uff0c\u4f46\u4e00\u5b9a\u53ef\u4ee5\u5efa\u51fa\u4e00\u6a39\u72c0\u5716\u3002\u6700\u5f8c\u4e00\u884c\u8f38\u5165\u5247\u662f\u8981\u5224\u65b7\u89aa\u7b49\u95dc\u4fc2\u7684\u4e8c\u500b\u4e0d\u540c\u4eba\u7684\u540d\u5b57 (\u8a72\u540d\u5b57\u4e00\u5b9a\u6703\u51fa\u73fe\u5728\u8f38\u5165\u4e4b\u8cc7\u6599\u4e2d)\uff0c\u540d\u5b57\u4e4b\u9593\u4ea6\u4ee5\u7a7a\u767d\u9694\u958b\u3002\u5728\u8f38\u5165\u8cc7\u6599\u4e2d\uff0c\u6240\u6709\u7684\u82f1\u6587\u540d\u5b57\u90fd\u4ee5 3 \u500b\u5927\u5beb\u82f1\u6587\u5b57\u6bcd\u547d\u540d\u3002<\/td><td>\u8acb\u8f38\u51fa\u4e00\u500b\u6578\u5b57\uff0c\u4ee3\u8868\u8a72\u4e8c\u4eba\u9593\u7684\u89aa\u7b49\u95dc\u4fc2\u3002<\/td><\/tr><tr><td>3<br>PAM  BOB  TOM  PAT<br>BOB  LIZ  ANN<br>PAT  JIM<br>LIZ  TOM<\/td><td>3<\/td><\/tr><tr><td>2<br>BOB  LIZ  ANN<br>PAM  BOB  TOM<br>LIZ  ANN<\/td><td>2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u89e3\u984c\u601d\u8def<\/h2>\n\n\n\n<p class=\"\">\u4f7f\u7528<strong> Map \u4f86\u5b58\u6bcf\u500b\u4eba\u4ed6\u8ddf\u8ab0\u6709\u95dc\u4fc2<\/strong>\uff0c\u4f7f\u7528 <strong>StringStream \u4f86\u5207\u5272\u5b57\u4e32<\/strong>\uff0c\u4e26\u4e14\u4f7f\u7528 <strong>BFS \u4f86\u627e\u6bcf\u4e00\u6b21\u5c0b\u627e\u4eba\u7684\u8d77\u9ede<\/strong>\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7bc4\u4f8b\u7a0b\u5f0f\u78bc\uff0d<a href=\"https:\/\/zerojudge.tw\/ShowProblem?problemid=a584\" target=\"_blank\" rel=\"noreferrer noopener\">ZeroJudge A584: \u89aa\u7b49\u95dc\u4fc2<\/a><\/h3>\n\n\n\n<div class=\"hcb_wrap nfd-wb-animate nfd-wb-reveal-right nfd-delay-50\"><pre class=\"prism line-numbers lang-cpp\" data-lang=\"C++\"><code>#include &lt;iostream&gt;\n#include &lt;sstream&gt;\n#include &lt;map&gt;\n#include &lt;vector&gt;\nusing namespace std;\n\nmap&lt;string, vector&lt;string&gt;&gt;MAP;\nmap&lt;string, int&gt;walk;\nint counts = 0;\n\nvoid BFS(vector&lt;string&gt;start, string target)\n{\n    if (start.size() == 0) return;\n    vector&lt;string&gt;newStart;\n    for (int i = 0; i&lt;start.size(); i++)\n    {\n        if (start[i] == target) return;\n        vector&lt;string&gt;v = MAP[start[i]];\n        walk[start[i]] = 1;\n        for (int j = 0; j&lt;v.size(); j++)\n        {\n            if (walk[v[j]] == 0) newStart.push_back(v[j]);\n        }\n    }\n    counts++;\n    BFS(newStart, target);\n}\n\nint main() {\n    cin.sync_with_stdio(0);\n    cin.tie(0);\n    int N;\n    cin &gt;&gt; N;\n    string tmp;\n    getline(cin, tmp);\n    for (int i = 0; i&lt;N; i++)\n    {\n        string str;\n        getline(cin, str);\n        stringstream ss;\n        ss.clear();\n        ss&lt;&lt;str;\n        bool first = true;\n        string start;\n        while (true)\n        {\n            string s;\n            ss&gt;&gt;s;\n            if (ss.fail()) break;\n            if (first)\n            {\n                start = s;\n                first = false;\n            }\n            else\n            {\n                MAP[start].push_back(s);\n                MAP[s].push_back(start);\n            }\n        }\n    }\n    string a, b;\n    cin &gt;&gt; a &gt;&gt; b;\n    vector&lt;string&gt;v;\n    v.push_back(a);\n    BFS(v, b);\n    cout &lt;&lt; counts &lt;&lt; &quot;\\n&quot;;\n}\n\n\/\/ZeroJudge A584\n\/\/Dr. SeanXD<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u793e\u6703\u8001\u5e2b\u5728\u5c0f\u660e\u7684\u73ed\u4e0a\u8acb\u540c\u5b78\u5011\u8a0e\u8ad6\u6cd5\u5f8b\u4e0a\u7684\u4e00\u7b49\u89aa\u4e8c\u7b49\u89aa\u4e09\u7b49\u89aa\u5982\u4f55\u5340\u5206\u8207\u8a08\u7b97\uff0c\u4e26\u65bc\u4e0b\u4e00\u5802\u8ab2\u9032\u884c\u5831\u544a\u3002\u5c0f\u660e\u5728\u7db2\u8def\u4e0a\u627e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[29],"tags":[30,20,8,11,9],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-zerojudge-","tag-bfs","tag-20","tag-8","tag-11","tag-9"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":1,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":362,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/360\/revisions\/362"}],"wp:attachment":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}