{"id":192,"date":"2012-04-24T04:38:00","date_gmt":"2012-04-23T20:38:00","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=192"},"modified":"2012-04-24T17:04:32","modified_gmt":"2012-04-24T09:04:32","slug":"srm-481","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/srm-481\/","title":{"rendered":"SRM 481"},"content":{"rendered":"<h3>Brief description: <\/h3>\n<p>DIV 1 1000 XorLife\uff1a<br \/>\n\u7fa4\u4f17\u559c\u95fb\u4e50\u89c1\u7684\u751f\u547d\u6e38\u620f\uff0c\u5982\u6807\u9898\u5b57\u9762\u4e0a\u7684\u610f\u601d\uff0c\u6bcf\u4e00\u4e2a Live \u683c\u5b50\u4e0b\u4e00\u79d2\u5c06\u6539\u53d8\u5176\u81ea\u8eab\u548c\u5468\u56f4\u5171 5 \u4e2a\u683c\u5b50\u7684\u72b6\u6001\u3002<br \/>\n\uff08\u3002\u3002\u65e0\u9650\u5e73\u9762\uff0c\u521d\u59cb\u57f9\u517b\u76bf\u5927\u5c0f 50 \u00d7 50 &#8230; \u65f6\u95f4 K \u2264 1,000,000,000 ..\uff09<\/p>\n<p><!--more--><\/p>\n<h3>Analysis: <\/h3>\n<pre class=\"brush: cpp; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\n\/* &amp;*#()&amp;*#)&amp;E*F&amp; *\/\r\n\r\n#include &lt;iostream&gt;\r\n#include &lt;cstdio&gt;\r\n#include &lt;cstring&gt;\r\n#include &lt;ctime&gt;\r\n#include &lt;cmath&gt;\r\n#include &lt;algorithm&gt;\r\n#include &lt;sstream&gt;\r\n#include &lt;string&gt;\r\n#include &lt;vector&gt;\r\n#include &lt;map&gt;\r\n\r\nusing namespace std;\r\n\r\n#define REP(i, n) for (int i=0;i&lt;int(n);++i)\r\n#define FOR(i, a, b) for (int i=int(a);i&lt;int(b);++i)\r\n#define DWN(i, b, a) for (int i=int(b-1);i&gt;=int(a);--i)\r\n#define REP_1(i, n) for (int i=1;i&lt;=int(n);++i)\r\n#define FOR_1(i, a, b) for (int i=int(a);i&lt;=int(b);++i)\r\n#define DWN_1(i, b, a) for (int i=int(b);i&gt;=int(a);--i)\r\n#define REP_C(i, n) for (int n____=int(n),i=0;i&lt;n____;++i)\r\n#define FOR_C(i, a, b) for (int b____=int(b),i=a;i&lt;b____;++i)\r\n#define DWN_C(i, b, a) for (int a____=int(a),i=b-1;i&gt;=a____;--i)\r\n#define REP_N(i, n) for (i=0;i&lt;int(n);++i)\r\n#define FOR_N(i, a, b) for (i=int(a);i&lt;int(b);++i)\r\n#define DWN_N(i, b, a) for (i=int(b-1);i&gt;=int(a);--i)\r\n#define REP_1_C(i, n) for (int n____=int(n),i=1;i&lt;=n____;++i)\r\n#define FOR_1_C(i, a, b) for (int b____=int(b),i=a;i&lt;=b____;++i)\r\n#define DWN_1_C(i, b, a) for (int a____=int(a),i=b;i&gt;=a____;--i)\r\n#define REP_1_N(i, n) for (i=1;i&lt;=int(n);++i)\r\n#define FOR_1_N(i, a, b) for (i=int(a);i&lt;=int(b);++i)\r\n#define DWN_1_N(i, b, a) for (i=int(b);i&gt;=int(a);--i)\r\n#define REP_C_N(i, n) for (n____=int(n),i=0;i&lt;n____;++i)\r\n#define FOR_C_N(i, a, b) for (b____=int(b),i=a;i&lt;b____;++i)\r\n#define DWN_C_N(i, b, a) for (a____=int(a),i=b-1;i&gt;=a____;--i)\r\n#define REP_1_C_N(i, n) for (n____=int(n),i=1;i&lt;=n____;++i)\r\n#define FOR_1_C_N(i, a, b) for (b____=int(b),i=a;i&lt;=b____;++i)\r\n#define DWN_1_C_N(i, b, a) for (a____=int(a),i=b;i&gt;=a____;--i)\r\n\r\n#define ECH(it, A) for (typeof(A.begin()) it=A.begin(); it != A.end(); ++it)\r\n#define DO(n) while(n--)\r\n#define DO_C(n) int n____ = n; while(n____--)\r\n#define TO(i, a, b) int s_=a&lt;b?1:-1,b_=b+s_;for(int i=a;i!=b_;i+=s_)\r\n#define TO_1(i, a, b) int s_=a&lt;b?1:-1,b_=b;for(int i=a;i!=b_;i+=s_)\r\n#define SQZ(i, j, a, b) for (int i=int(a),j=int(b)-1;i&lt;j;++i,--j)\r\n#define SQZ_1(i, j, a, b) for (int i=int(a),j=int(b);i&lt;=j;++i,--j)\r\n#define REP_2(i, j, n, m) REP(i, n) REP(j, m)\r\n#define REP_2_1(i, j, n, m) REP_1(i, n) REP_1(j, m)\r\n\r\n#define ALL(A) A.begin(), A.end()\r\n#define CLR(A) A.clear()\r\n#define CPY(A, B) memcpy(A, B, sizeof(A))\r\n#define INS(A, P, B) A.insert(A.begin() + P, B)\r\n#define ERS(A, P) A.erase(A.begin() + P)\r\n#define SRT(A) sort(ALL(A))\r\n#define SZ(A) int(A.size())\r\n#define PB push_back\r\n#define MP(A, B) make_pair(A, B)\r\n\r\ntypedef long long LL;\r\ntypedef double DB;\r\n\r\ntemplate&lt;class T&gt; inline void RST(T &amp;A){memset(A, 0, sizeof(A));}\r\ntemplate&lt;class T&gt; inline void FLC(T &amp;A, int x){memset(A, x, sizeof(A));}\r\n\r\n\/\/ &lt;&lt;= ` 0. Daily Use .,\r\n\r\ntemplate&lt;class T&gt; inline void checkMin(T &amp;a,const T b){if (b&lt;a) a=b;}\r\ntemplate&lt;class T&gt; inline void checkMax(T &amp;a,const T b){if (b&gt;a) a=b;}\r\ntemplate &lt;class T, class C&gt; inline void checkMin(T&amp; a, const T b, C c){if (c(b,a)) a = b;}\r\ntemplate &lt;class T, class C&gt; inline void checkMax(T&amp; a, const T b, C c){if (c(a,b)) a = b;}\r\ntemplate&lt;class T&gt; inline T min(T a, T b, T c){return min(min(a, b), c);}\r\ntemplate&lt;class T&gt; inline T max(T a, T b, T c){return max(max(a, b), c);}\r\ntemplate&lt;class T&gt; inline T min(T a, T b, T c, T d){return min(min(a, b), min(c, d));}\r\ntemplate&lt;class T&gt; inline T sqr(T a){return a*a;}\r\ntemplate&lt;class T&gt; inline T cub(T a){return a*a*a;}\r\nint Ceil(int x, int y){return (x - 1) \/ y + 1;}\r\n\r\n\/\/ &lt;&lt;= ` 1. Bitwise Operation .,\r\n\r\ninline bool _1(int x, int i){return x &amp; 1&lt;&lt;i;}\r\ninline int _1(int i){return 1&lt;&lt;i;}\r\ninline int _U(int i){return _1(i) - 1;};\r\n\r\ninline int count_bits(int x){\r\n    x = (x &amp; 0x55555555) + ((x &amp; 0xaaaaaaaa) &gt;&gt; 1);\r\n    x = (x &amp; 0x33333333) + ((x &amp; 0xcccccccc) &gt;&gt; 2);\r\n    x = (x &amp; 0x0f0f0f0f) + ((x &amp; 0xf0f0f0f0) &gt;&gt; 4);\r\n    x = (x &amp; 0x00ff00ff) + ((x &amp; 0xff00ff00) &gt;&gt; 8);\r\n    x = (x &amp; 0x0000ffff) + ((x &amp; 0xffff0000) &gt;&gt; 16);\r\n    return x;\r\n}\r\n\r\ntemplate&lt;class T&gt; inline T low_bit(T x) {\r\n    return x &amp; -x;\r\n}\r\n\r\ntemplate&lt;class T&gt; inline T high_bit(T x) {\r\n    T p = low_bit(x);\r\n    while (p != x) x -= p, p = low_bit(x);\r\n    return p;\r\n}\r\n\r\n\r\n\r\n\/* -&amp;$&amp;#*( &amp;#*@)^$@&amp;*)*\/\r\n\r\nconst int MOD = 1000000007;\r\nconst int INF = 0x7fffffff;\r\n\r\nconst int N = 50;\r\n\r\nint dx&#x5B;] = {0, 0, 0, 1, -1};\r\nint dy&#x5B;] = {0, 1, -1, 0, 0};\r\n\r\nmap&lt;pair&lt;int, int&gt;, int&gt; P, Q, _Q;\r\n\r\nmap&lt;pair&lt;int, int&gt;, int&gt; dir&#x5B;39], tmp;\r\n\r\nvoid Collision(map&lt;pair&lt;int, int&gt;, int&gt;&amp; A){\r\n    for (map&lt;pair&lt;int, int&gt;, int&gt;::iterator it=A.begin(); it!=A.end();){\r\n        if (!(it-&gt;second &amp;1)){\r\n            map&lt;pair&lt;int, int&gt;, int&gt;::iterator jt = it; ++jt;\r\n            A.erase(it); it = jt;\r\n        }\r\n        else {\r\n            ++it;\r\n        }\r\n    }\r\n}\r\n\r\n\r\nclass XorLife {\r\npublic:\r\n\tlong long countAliveCells(vector &lt;string&gt; field, int K) {\r\n\r\n        int n = SZ(field), m = SZ(field&#x5B;0]); REP(i, 32) CLR(dir&#x5B;i]);\r\n        dir&#x5B;0]&#x5B;MP(0, 0)] = 1, dir&#x5B;0]&#x5B;MP(1, 0)] = 1, dir&#x5B;0]&#x5B;MP(-1, 0)] = 1;\r\n        dir&#x5B;0]&#x5B;MP(0, 1)] = 1, dir&#x5B;0]&#x5B;MP(0, -1)] = 1;\r\n\r\n        FOR(i, 1, 32){\r\n            tmp = dir&#x5B;i-1]; ECH(it, tmp){\r\n                int x = it-&gt;first.first, y = it-&gt;first.second;\r\n                ECH(jt, dir&#x5B;i-1]){\r\n                    int xx = x + jt-&gt;first.first, yy = y + jt-&gt;first.second;\r\n                    ++dir&#x5B;i]&#x5B;MP(xx, yy)];\r\n                }\r\n            }\r\n\r\n            ECH(it, dir&#x5B;i]) if (!(it-&gt;second&amp;1)) dir&#x5B;i].erase(it);\r\n        }\r\n\r\n\r\n        CLR(Q); REP(i, n) REP(j, m) if (field&#x5B;i]&#x5B;j] == 'o'){\r\n            ++Q&#x5B;MP(i, j)];\r\n        }\r\n\r\n        if (Q.empty()) return 0;\r\n\r\n        int i; FOR_N(i, 0, 32) if (_1(K, i)){\r\n\r\n            cout &lt;&lt; i &lt;&lt; endl;\r\n\r\n            CLR(P); ECH(it, Q){\r\n                int x = it-&gt;first.first, y = it-&gt;first.second;\r\n                ECH(jt, dir&#x5B;i]){\r\n                    int xx = x + jt-&gt;first.first, yy = y + jt-&gt;first.second;\r\n                    ++P&#x5B;MP(xx, yy)];\r\n                }\r\n            }\r\n\r\n            Collision(P), Q = P;\r\n        }\r\n        else {\r\n            if (i &gt; 8) break;\r\n        }\r\n\r\n        LL res = SZ(Q); CLR(Q); ++Q&#x5B;MP(0, 0)];\r\n        FOR_N(i, i+1, 32) if (_1(K, i)){\r\n           CLR(P); ECH(it, Q){\r\n                int x = it-&gt;first.first, y = it-&gt;first.second;\r\n                ECH(jt, dir&#x5B;i]){\r\n                    int xx = x + jt-&gt;first.first, yy = y + jt-&gt;first.second;\r\n                    ++P&#x5B;MP(xx, yy)];\r\n                }\r\n            }\r\n\r\n            Collision(P), Q = P;\r\n        }\r\n        else {\r\n            res *= SZ(Q);\r\n            CLR(Q); ++Q&#x5B;MP(0, 0)];\r\n        }\r\n\r\n        return res;\r\n\t}\r\n};\r\n\r\n\r\n\/\/ BEGIN CUT HERE\r\nnamespace moj_harness {\r\n\tint run_test_case(int);\r\n\tvoid run_test(int casenum = -1, bool quiet = false) {\r\n\t\tif (casenum != -1) {\r\n\t\t\tif (run_test_case(casenum) == -1 &amp;&amp; !quiet) {\r\n\t\t\t\tcerr &lt;&lt; &quot;Illegal input! Test case &quot; &lt;&lt; casenum &lt;&lt; &quot; does not exist.&quot; &lt;&lt; endl;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tint correct = 0, total = 0;\r\n\t\tfor (int i=0;; ++i) {\r\n\t\t\tint x = run_test_case(i);\r\n\t\t\tif (x == -1) {\r\n\t\t\t\tif (i &gt;= 100) break;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tcorrect += x;\r\n\t\t\t++total;\r\n\t\t}\r\n\r\n\t\tif (total == 0) {\r\n\t\t\tcerr &lt;&lt; &quot;No test cases run.&quot; &lt;&lt; endl;\r\n\t\t} else if (correct &lt; total) {\r\n\t\t\tcerr &lt;&lt; &quot;Some cases FAILED (passed &quot; &lt;&lt; correct &lt;&lt; &quot; of &quot; &lt;&lt; total &lt;&lt; &quot;).&quot; &lt;&lt; endl;\r\n\t\t} else {\r\n\t\t\tcerr &lt;&lt; &quot;All &quot; &lt;&lt; total &lt;&lt; &quot; tests passed!&quot; &lt;&lt; endl;\r\n\t\t}\r\n\t}\r\n\r\n\tint verify_case(int casenum, const long long &amp;expected, const long long &amp;received, clock_t elapsed) {\r\n\t\tcerr &lt;&lt; &quot;Example &quot; &lt;&lt; casenum &lt;&lt; &quot;... &quot;;\r\n\r\n\t\tstring verdict;\r\n\t\tvector&lt;string&gt; info;\r\n\t\tchar buf&#x5B;100];\r\n\r\n\t\tif (elapsed &gt; CLOCKS_PER_SEC \/ 200) {\r\n\t\t\tsprintf(buf, &quot;time %.2fs&quot;, elapsed * (1.0\/CLOCKS_PER_SEC));\r\n\t\t\tinfo.push_back(buf);\r\n\t\t}\r\n\r\n\t\tif (expected == received) {\r\n\t\t\tverdict = &quot;PASSED&quot;;\r\n\t\t} else {\r\n\t\t\tverdict = &quot;FAILED&quot;;\r\n\t\t}\r\n\r\n\t\tcerr &lt;&lt; verdict;\r\n\t\tif (!info.empty()) {\r\n\t\t\tcerr &lt;&lt; &quot; (&quot;;\r\n\t\t\tfor (int i=0; i&lt;(int)info.size(); ++i) {\r\n\t\t\t\tif (i &gt; 0) cerr &lt;&lt; &quot;, &quot;;\r\n\t\t\t\tcerr &lt;&lt; info&#x5B;i];\r\n\t\t\t}\r\n\t\t\tcerr &lt;&lt; &quot;)&quot;;\r\n\t\t}\r\n\t\tcerr &lt;&lt; endl;\r\n\r\n\t\tif (verdict == &quot;FAILED&quot;) {\r\n\t\t\tcerr &lt;&lt; &quot;    Expected: &quot; &lt;&lt; expected &lt;&lt; endl;\r\n\t\t\tcerr &lt;&lt; &quot;    Received: &quot; &lt;&lt; received &lt;&lt; endl;\r\n\t\t}\r\n\r\n\t\treturn verdict == &quot;PASSED&quot;;\r\n\t}\r\n\r\n\tint run_test_case(int casenum) {\r\n\t\tswitch (casenum) {\r\n\t\tcase 0: {\r\n\t\t\tstring field&#x5B;]            = {&quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;.&quot;, &quot;o&quot;, &quot;.&quot;};\r\n\t\t\tint K                     = 8095;\r\n\t\t\tlong long expected__      = 6199756;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}\r\n\t\tcase 1: {\r\n\t\t\tstring field&#x5B;]            = {&quot;..&quot;\r\n,&quot;..&quot;};\r\n\t\t\tint K                     = 23;\r\n\t\t\tlong long expected__      = 0;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}\r\n\t\tcase 2: {\r\n\t\t\tstring field&#x5B;]            = {&quot;o&quot;};\r\n\t\t\tint K                     = 1234567;\r\n\t\t\tlong long expected__      = 11018125;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}\r\n\t\tcase 3: {\r\n\t\t\tstring field&#x5B;]            = {&quot;o.oo.ooo&quot;\r\n,&quot;o.o.o.oo&quot;\r\n,&quot;ooo.oooo&quot;\r\n,&quot;o.o..o.o&quot;\r\n,&quot;o.o..o.o&quot;\r\n,&quot;o..oooo.&quot;\r\n,&quot;..o.o.oo&quot;\r\n,&quot;oo.ooo.o&quot;};\r\n\t\t\tint K                     = (1&lt;&lt;31)-1;\r\n\t\t\tlong long expected__      = 447104494375LL;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}\r\n\r\n\t\t\/\/ custom cases\r\n\r\n\/*      case 4: {\r\n\t\t\tstring field&#x5B;]            = ;\r\n\t\t\tint K                     = ;\r\n\t\t\tlong long expected__      = ;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}*\/\r\n\/*      case 5: {\r\n\t\t\tstring field&#x5B;]            = ;\r\n\t\t\tint K                     = ;\r\n\t\t\tlong long expected__      = ;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}*\/\r\n\/*      case 6: {\r\n\t\t\tstring field&#x5B;]            = ;\r\n\t\t\tint K                     = ;\r\n\t\t\tlong long expected__      = ;\r\n\r\n\t\t\tclock_t start__           = clock();\r\n\t\t\tlong long received__      = XorLife().countAliveCells(vector &lt;string&gt;(field, field + (sizeof field \/ sizeof field&#x5B;0])), K);\r\n\t\t\treturn verify_case(casenum, expected__, received__, clock()-start__);\r\n\t\t}*\/\r\n\t\tdefault:\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nint main(int argc, char *argv&#x5B;]) {\r\n\tif (argc == 1) {\r\n\t\tmoj_harness::run_test();\r\n\t} else {\r\n\t\tfor (int i=1; i&lt;argc; ++i)\r\n\t\t\tmoj_harness::run_test(atoi(argv&#x5B;i]));\r\n\t}\r\n}\r\n\/\/ END CUT HERE\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Brief description: DIV 1 1000 XorLife\uff1a \u7fa4\u4f17\u559c\u95fb\u4e50\u89c1\u7684\u751f\u547d\u6e38\u620f\uff0c\u5982\u6807\u9898\u5b57\u9762\u4e0a\u7684\u610f\u601d\uff0c\u6bcf\u4e00\u4e2a Live \u683c\u5b50\u4e0b\u4e00\u79d2\u5c06\u6539\u53d8\u5176\u81ea\u8eab\u548c\u5468\u56f4\u5171 5 \u4e2a\u683c\u5b50\u7684\u72b6\u6001\u3002 \uff08\u3002\u3002\u65e0\u9650\u5e73\u9762\uff0c\u521d\u59cb\u57f9\u517b\u76bf\u5927\u5c0f 50 \u00d7 50 &#8230; \u65f6\u95f4 K \u2264 1,000,000,000 ..\uff09<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"class_list":["post-192","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-36","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/192\/revisions"}],"predecessor-version":[{"id":193,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/192\/revisions\/193"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}