{"id":9,"date":"2019-02-21T22:46:32","date_gmt":"2019-02-21T14:46:32","guid":{"rendered":"https:\/\/blog.kaaass.net\/acm\/?p=9"},"modified":"2019-02-22T16:21:09","modified_gmt":"2019-02-22T08:21:09","slug":"uva-10391-compound-words","status":"publish","type":"post","link":"https:\/\/blog.kaaass.net\/acm\/2019\/02\/uva-10391-compound-words\/","title":{"rendered":"UVA 10391 Compound Words"},"content":{"rendered":"<p>\u56e0\u4e3a\u8f93\u5165\u662f\u5b57\u5178\u5e8f\uff0c\u6240\u4ee5\u62ff\u7740\u524d\u4e00\u4e2a\u8bcd\u53bb\u5339\u914d\u4e0b\u4e00\u4e2a\u8bcd\u7684\u5f00\u5934\uff0c\u5982\u679c\u5f00\u5934\u4e00\u6837\u5c31\u53bb\u627e\u7ed3\u5c3e\u5355\u8bcd\u662f\u5426\u5b58\u5728\u3002\u7528\u4e86 unordered_set\u4ee5\u52a0\u5feb\u67e5\u627e\uff0c\u4e0d\u8fc7\u5176\u5b9e\u8fd8\u6709\u4f18\u5316\u7684\u7a7a\u95f4\u3002<\/p>\r\n<p><!--more--><\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-title=\"\">#include &lt;iostream&gt;\r\n#include &lt;cstring&gt;\r\n#include &lt;vector&gt;\r\n#include &lt;set&gt;\r\n#include &lt;unordered_set&gt;\r\n\r\nusing namespace std;\r\n\r\nvector&lt;string&gt; dict;\r\nunordered_set&lt;string&gt; q_dict;\r\nset&lt;string&gt; result;\r\n\r\nint main() {\r\n    string word, cur;\r\n    while (cin &gt;&gt; word) {\r\n        dict.push_back(word);\r\n        q_dict.insert(word);\r\n    }\r\n    for (int i = 0; i &lt; dict.size() - 1; i++) {\r\n        word = dict[i];\r\n        for (int j = i + 1; j &lt; dict.size(); j++) {\r\n            cur = dict[j];\r\n            if (strncmp(word.c_str(), cur.c_str(), word.size()) != 0)\r\n                break;\r\n            string temp = cur.substr(word.size(), cur.size()-word.size());\r\n            if (q_dict.count(temp) &gt; 0)\r\n                result.insert(cur);\r\n        }\r\n    }\r\n    for (string s: result) {\r\n        cout &lt;&lt; s &lt;&lt; endl;\r\n    }\r\n    return 0;\r\n}<\/pre>\r\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>\u56e0\u4e3a\u8f93\u5165\u662f\u5b57\u5178\u5e8f\uff0c\u6240\u4ee5\u62ff\u7740\u524d\u4e00\u4e2a\u8bcd\u53bb\u5339\u914d\u4e0b\u4e00\u4e2a\u8bcd\u7684\u5f00\u5934\uff0c\u5982\u679c\u5f00\u5934\u4e00\u6837\u5c31\u53bb\u627e\u7ed3\u5c3e\u5355\u8bcd\u662f\u5426\u5b58\u5728\u3002\u7528\u4e86 unorde &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.kaaass.net\/acm\/2019\/02\/uva-10391-compound-words\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201cUVA 10391 Compound Words\u201d<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-3","entry"],"_links":{"self":[{"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":0,"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kaaass.net\/acm\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}