{"id":81,"date":"2011-03-15T07:55:16","date_gmt":"2011-03-14T23:55:16","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=81"},"modified":"2012-03-03T07:55:36","modified_gmt":"2012-03-02T23:55:36","slug":"ural-1519-formula-1","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/ural-1519-formula-1\/","title":{"rendered":"URAL 1519. Formula 1"},"content":{"rendered":"<h3>Brief description :<\/h3>\n<p>\u4e00\u6761\u56de\u8def\u95ee\u9898\uff0c\u7ed9\u5b9a\u4e00\u4e2a n \u00d7 m \u7684\u6709\u969c\u788d\u5730\u56fe\uff0c\u6c42\u7528\u4e00\u6761\u56de\u8def\u904d\u5386\u6240\u6709\u683c\u5b50\u7684\u65b9\u6848\u6570\u3002<br \/>\n\uff081 <= n, m <= 12 ...\uff09\n<!--more--><\/p>\n<h3>Analyse :<\/h3>\n<p>\u5ef6\u7eed<a href=\"https:\/\/www.shuizilong.com\/house\/archives\/2166\">\u4e4b\u524d<\/a>\u7684\u601d\u8def\uff0c\u53d1\u73b0\u4e0d\u884c\u3002\u4f8b\u5982\u4e0b\u56fe\uff1a<\/p>\n<p><a href=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2011\/03\/\u5c4f\u5e55\u5feb\u7167-2011-03-15-\u4e0b\u534807.03.33.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2011\/03\/\u5c4f\u5e55\u5feb\u7167-2011-03-15-\u4e0b\u534807.03.33.png\" alt=\"\" title=\"\u5c4f\u5e55\u5feb\u7167 2011-03-15 \u4e0b\u534807.03.33\" width=\"491\" height=\"248\" class=\"aligncenter size-full wp-image-2182\" \/><\/a><\/p>\n<p>\u8fd9\u4e24\u79cd\u72b6\u6001\u73b0\u5728\u5fc5\u987b\u8981\u533a\u522b\u5bf9\u5f85\uff0c\u9700\u8981\u8bb0\u5f55\u63d2\u5934\u4e4b\u95f4\u7684\u5339\u914d\u60c5\u51b5\uff0c\u53d1\u73b0\u7b26\u5408\u62ec\u53f7\u7ed3\u6784\u3002<br \/>\n\u8fd9\u91cc\u4ecd\u7136\u7528\u4e00\u4e2a\u6574\u5f62 int \u53d8\u91cf\uff0c\u7528\u4f4e\u4f4d\u8868\u793a\u63d2\u5934\u7684\u5b58\u5728\u6027\uff0c\u9ad8\u4f4d\u8bf4\u660e\u63d2\u5934\u7684\u7c7b\u578b\uff0c\u3002<\/p>\n<p>\u7ee7\u7eed\u63a8\u3002\u3002<\/p>\n<p>\u4f9d\u7136\u662f\u5206\u524d\u9762\u7684\u4e09\u79cd\u60c5\u51b5\u8ba8\u8bba\uff0c\u5176\u4e2d\u63d2\u5934\u7684\u5de6\u79fb\u53f3\u79fb\u4e0d\u52a8\uff08\u63d2\u5934\u7684\u7c7b\u578b\u4fdd\u6301\u4e0d\u53d8\uff09\u8fd8\u6709\u751f\u6210\u4e00\u7ec4\u65b0\u63d2\u5934\uff08\u53ef\u4ee5\u786e\u5b9a\u662f\u8fd9\u6837: &#8216;( )&#8217;\uff09\u4e24\u79cd\u5dee\u522b\u5e76\u4e0d\u5927\uff0c\u60c5\u51b5\u53d1\u751f\u5927\u53d8\u5316\u7684\u662f\u5408\u5e76\u3002<\/p>\n<p>\u9996\u5148\uff0c'( )&#8217; \u8fd9\u79cd\u60c5\u51b5\u662f\u4e0d\u518d\u53ef\u4ee5\u968f\u610f\u5408\u5e76\u7684\u3002\uff08\u4f1a\u5f62\u6210\u4e00\u4e2a\u56de\u8def\uff0c\u662f\u9650\u5361\uff0c\u53ea\u5728\u6700\u540e\u7684\u4e00\u884c\uff08\u5982\u679c\u6700\u540e\u4e00\u884c\u4e0d\u662f\u5168\u662f\u77f3\u5934\u7684\u8bdd\uff09\u7684\u65f6\u4faf\u53ef\u4ee5\u53d1\u52a8\u4e00\u6b21\u3002\uff09\uff0c\u63a5\u7740 &#8216;) (&#8216; \u60c5\u51b5\u53ef\u4ee5\u76f4\u63a5\u5408\u5e76\uff0c\u4e0d\u4f1a\u51fa\u751a\u4e48\u5927\u7684\u4e71\u5b50\u3002<\/p>\n<p>\u90a3\u4e48\u5bf9\u4e8e\u5269\u4e0b\u7684\u4e24\u79cd &#8216;( (&#8216; \u8fd8\u6709 &#8216;) )\u2019 \u5462\uff1f&#8230; \u8bf7\u8bb0\u4f4f\u4e0b\u9762\u7684\u53e3\u8bc0\uff1a<\/p>\n<ul>\n<li>\u5de6\u63d2\u5934\u5403\u5de6\u63d2\u5934\u4f1a\u628a\u53f3\u8fb9\u7684\u63d2\u5934\u6240\u5bf9\u5e94\u7684\u90a3\u4e2a\u53f3\u63d2\u5934\u53d8\u6210\u5de6\u63d2\u5934 ..#>.\n<\/li>\n<li>\u53f3\u63d2\u5934\u5403\u53f3\u63d2\u5934\u4f1a\u628a\u5de6\u8fb9\u7684\u63d2\u5934\u6240\u5bf9\u5e94\u7684\u90a3\u4e2a\u5de6\u63d2\u5934\u53d8\u6210\u53f3\u63d2\u5934 &#8230;&#8230;.<\/li>\n<\/ul>\n<p>.<br \/>\n&#8230;.<br \/>\n\u8bf7\u5427\u3002<\/p>\n<pre lang=\"cpp\" file=\"A.cpp\">\r\n#include <iostream>\r\n#include <cstdio>\r\n#include <cstring>\r\n#include <map>\r\nusing namespace std;   \/\/15511 ...\r\nconst int hh = 12, ww = 12, _W = 16, ll = 15511;\r\n\r\nlong long f[2][ll], d; map<int, int> H;\r\nint L[ll], O[hh], h, w, up, l;\r\nint s, o, n, m, p, q; int i; \r\n\r\n\r\n#define _Pl (s & (1 << l))\r\n#define _Pr (s &#038; (1 << r))\r\n#define _Pi (s &#038; (1 << i))\r\n\/\/ Check Plug.\r\n\r\n#define _Ol (o &#038; (1 << l))\r\n#define _Or (o &#038; (1 << r))\r\n\/\/ Check Obstacle...\r\n\r\n#define _Tl (s &#038; (1 << l + _W))\r\n#define _Tr (s &#038; (1 << r + _W))\r\n#define _Ti (s &#038; (1 << i + _W))\r\n\/\/ Return Plug Type ..\r\n\r\n\r\n#define _Sl s ^= 1 << l\r\n#define _Sr s ^= 1 << r\r\n\/\/ Reset Plug ..\r\n\r\n#define _Cl s ^= 1 << (l + _W)\r\n#define _Cr s ^= 1 << (r + _W)\r\n#define _Ci s ^= 1 << (i + _W)\r\n\/\/ Change Brace Structure\r\n\r\n\r\ninline int countBits(int x){\r\n    x = (x &#038; 0x00005555) + ((x &#038; 0x0000aaaa) >> 1);\r\n    x = (x & 0x00003333) + ((x & 0x0000cccc) >> 2);\r\n    x = (x & 0x00000f0f) + ((x & 0x0000f0f0) >> 4);\r\n    x = (x & 0x000000ff) + ((x & 0x0000ff00) >> 8);\r\n    return x;\r\n}\r\n\r\nvoid eatLeft(int i){\r\n\tint An = 0;\r\n\tfor (i--;;i--){\r\n\t\tif (!_Pi) continue;\r\n\t\tif (_Ti) An++;\r\n\t\telse {if (An==0){_Ci; return;} An--;}\r\n\t}\r\n}\r\nvoid eatRight(int i){\r\n\tint An = 0;\r\n\tfor (i++;;i++){\r\n\t\tif (!_Pi) continue;\r\n\t\tif (!_Ti) An++;\r\n\t\telse {if (An==0){_Ci; return;} An--;}\r\n\t}\r\n}\r\n\r\n\r\n\r\nvoid dfs(int l){\r\n\tif (l == m){\r\n\t\tf[p][H[s]] += d;\r\n\t}\r\n\telse {\r\n\t\tint r = l + 1;\r\n\t\t\r\n\t\tif (_Ol){\r\n\t\t\tdfs(r);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tint c = s;\r\n\t\t\r\n\t\tif (_Pl){\r\n\t\t\t\/\/ 0: Stable ..\r\n\t\t\tdfs(r);\r\n\t\t\t\r\n\t\t\tif (_Tl){  \r\n\t\t\t\t\/\/ 2: Move_Right with ')' . ..\r\n\t\t\t\twhile (!_Pr && !_Or){ \r\n\t\t\t\t\t_Sl; _Cl; _Sr; _Cr; dfs(++r); s = c;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\/\/ 4: Merge with '))'\r\n\t\t\t\tif (_Pr){\r\n\t\t\t\t\tif (_Tr){\r\n\t\t\t\t\t\teatLeft(l); _Sl; _Cl; _Sr; _Cr; dfs(r+1); s = c;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\/\/ 4: Merge with ')('\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t_Sl; _Cl; _Sr; dfs(r+1); s = c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t\/\/ 2: Move_Right with '(' . ..\r\n\t\t\t\twhile (!_Pr && !_Or){\r\n\t\t\t\t\t_Sl; _Sr; dfs(++r); s = c;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\/\/ 4: Merge with '(('\r\n\t\t\t\tif (!_Or){\r\n\t\t\t\t\tif (!_Tr){\r\n\t\t\t\t\t\teatRight(r); _Sl; _Sr; dfs(r+1); s = c;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\/\/ 4 Merge with '()'\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t\/\/!..#>..#>.f\r\n\t\t\t\t\t\tif (i + 1 == h && r + 1 == m && countBits(s)==2){\r\n\t\t\t\t\t\t\tf[p][0] += d; \r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\telse {\r\n\t\t\t\/\/ 3: Bown a pair of new plug . ...\r\n\t\t\twhile (!_Pr && !_Or){\r\n\t\t\t\t_Sl; _Sr; _Cr; dfs(++r); s = c;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\/\/ 1 Move_Left\r\n\t\t\tif (!_Or){\r\n\t\t\t\tif (_Tr) {_Sl; _Cl; _Sr; _Cr; dfs(r+1); s = c;}\r\n\t\t\t\telse {_Sl; _Sr; dfs(r+1); s = c;}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid scan(int i, int ln, int rn){\r\n\twhile (!_Pi) i++;\r\n\t\r\n\tif (i==w) {\r\n\t\tH[s ^ up] = l;\r\n\t\tL[l++] = s ^ up;\r\n\t}\r\n\telse {\r\n\t\tif (ln < n) scan(i+1, ln+1, rn);\r\n\t\tif (rn < ln) {_Ci; scan(i+1, ln, rn+1); _Ci;}\r\n\t}\r\n}\r\n\r\nvoid init(){\r\n    scanf(\"%d%d\", &#038;h, &#038;w); \r\n    \r\n\tl = 0, up = 1 << w, H.clear();\r\n\tfor (int i = 0; i < up; i++){\r\n\t\tn = countBits(i);\r\n\t\tif ((n&#038;1)==0){s = i | up, n >>= 1, scan(0, 0, 0);}\r\n\t}\r\n\t\r\n\tchar t;\r\n\tfor (int i = 0; i < h; i++){\r\n\t\tO[i] = 1;\r\n\t\tfor (int j = 0; j < w; j++){\r\n\t\t\tscanf(\" %c\", &#038;t); O[i] <<= 1;\r\n\t\t\tif (t!='.') O[i] += 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\twhile (O[h-1] == 2 * up - 1) h--;\t\r\n\tmemset(f, 0, sizeof(f));\r\n}\r\n\r\n\r\n\r\nvoid solve(){\r\n\ti = 0;\r\n\twhile (O[i] == 2 * up - 1) i++;\r\n\tf[q = 0][s = 0] = d = 1; p = 1, m = w, o = O[i]; \r\n\twhile (o &#038; (1 << (m - 1))) m--;\r\n\tdfs(0);\r\n\t\r\n\t\r\n\tfor (i ++; i < h; i ++){\r\n\t\tq = p, p = 1 - p, m = w, o = O[i];\r\n\t\tmemset(f[p], 0, sizeof(f[p]));\r\n\t\twhile (o &#038; (1 << (m - 1))) m--;\r\n\t\tfor (int ii = 0; ii < l; ii ++){\r\n\t\t\tif (f[q][ii] &#038;&#038; !(L[ii] &#038; o))\r\n\t\t\t\td = f[q][ii], s = L[ii], dfs(0);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nint main(){        \r\n    \/\/freopen(\"in.txt\", \"r\", stdin);\r\n\tinit();  solve(); \/\/patch();\r\n\tcout << f[p][0] << endl;\r\n}\r\n<\/pre>\n<pre lang=\"cpp\" file=\"B.cpp\">\r\n#include <iostream>\r\n#include <cstdio>\r\n#include <cstring>\r\nusing namespace std;\r\nconst int hh = 12, ww = 12, _W = 16, MaxH = 15511;\r\nbool O[hh+1][ww+1]; bool A, B, X, Y; int h, w, l, s;\r\nlong long ans, d;\r\n\r\nstruct hashTable {\r\n\tint state[MaxH], head[MaxH], next[MaxH], sz;\r\n\tlong long key[MaxH];\r\n\t\r\n\tinline void clear() {\r\n\t\tsz = 0;\r\n\t\tmemset(head, -1, sizeof(head));\r\n\t}\r\n\tinline void insert(int s) {\r\n\t\tint x = s % MaxH;\r\n\t\tfor ( int it = head[x] ; it != -1 ; it = next[it] ) {\r\n\t\t\tif ( state[it] == s ) {\r\n\t\t\t\tkey[it] += d;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\tstate[sz] = s, key[sz] = d;\r\n\t\tnext[sz] = head[x];\r\n\t\thead[x] = sz++;\r\n\t}\r\n} H[2] , *src , *des;\r\n\r\n\r\n\r\ninline int countBits(int x){\r\n    x = (x & 0x00005555) + ((x & 0x0000aaaa) >> 1);\r\n    x = (x & 0x00003333) + ((x & 0x0000cccc) >> 2);\r\n    x = (x & 0x00000f0f) + ((x & 0x0000f0f0) >> 4);\r\n    x = (x & 0x000000ff) + ((x & 0x0000ff00) >> 8);\r\n    return x;\r\n}\r\n\r\n\r\nint eatLeft(int s, int i){\r\n\tint An = 0;\r\n\tfor (i--;;i--){\r\n\t\tif (!(s & (1 << i))) continue;\r\n\t\tif (s &#038; (1 << _W + i)) An++;\r\n\t\telse {if (An==0){s ^= 1 << (_W + i); return s;} An--;}\r\n\t}\r\n}\r\nint eatRight(int s, int i){\r\n\tint An = 0;\r\n\tfor (i++;;i++){\r\n\t\tif (!(s &#038; (1 << i))) continue;\r\n\t\tif (!(s &#038; (1 << _W + i))) An++;\r\n\t\telse {if (An==0){s ^= 1 << (_W + i); return s;} An--;}\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\nbool _O(){\r\n\tfor (int i=0;i<w;i++)\r\n\t\tif (!O[h-1][i]) return false;\r\n\treturn true;\r\n}\r\n\r\n\r\n\r\nvoid init(){\r\n    scanf(\"%d%d\", &#038;h, &#038;w); \r\n\r\n\t\t\r\n\tchar t;\r\n\tfor (int i=0;i<h;i++)\r\n\t\tfor (int j=0;j<w;j++)\r\n\t\t\tscanf(\" %c\", &#038;t), O[i][j] = (t == '*');\r\n\r\n\r\n\twhile (_O()) h--;\r\n\t\t\t \r\n\tfor (int i=0;i<h;i++)\r\n\t\tO[h][i] = O[i][w] = true;\r\n\t\r\n}\r\n\r\n\r\n\r\nvoid solve(){\r\n\t\r\n\tsrc = H, des = src + 1, d = 1;\r\n\tdes->clear(), des->insert(0);\r\n\tans = 0;\r\n\t\r\n\tint _w = w;\r\n\t\r\n\tfor (int i = 0; i < h; i ++){\r\n\t\t\r\n\t\tfor (int j = 0; j < src->sz; j ++)\r\n\t\t\tdes->state[j] <<= 1;\r\n\t\t\r\n\t\tw = _w;\r\n\t\t\r\n\t\twhile (O[i][w-1]) w--;\r\n\t\t\r\n\t\t\r\n\t\tfor (int j = 0; j < w; j ++){\r\n\t\t\t\r\n\t\t\tif (O[i][j]) continue;\r\n\t\t\t\r\n\t\t\tswap(src, des), des->clear();\t\t\t\r\n\t\t\t\r\n\t\t\tfor (int k = 0; k < src->sz; k ++){\r\n\t\t\t\ts = src->state[k], d = src->key[k];\r\n\t\t\t\tA = s & (1 << j), B = s &#038; (1 << (j+1));\t\t\t\t\r\n\r\n\t\t\t\tif (!A &#038;&#038; !B){\r\n\t\t\t\t\tif (!O[i+1][j] &#038;&#038; !O[i][j+1]) des->insert(s ^ (3 << j | 1 <<( _W + j + 1)));\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t\r\n\t\t\t\t\tX = s &#038; (1 << (_W + j)), Y = s &#038; (1 << (_W + j + 1));\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (A &#038;&#038; B){\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tif (X){\r\n\t\t\t\t\t\t\tif (Y){ \/\/'))'\r\n\t\t\t\t\t\t\t\tdes->insert(eatLeft(s, j) ^ (3 << j | 3 << _W + j));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse { \/\/')('\r\n\t\t\t\t\t\t\t\tdes->insert(s ^ (3 << j | 1 << _W + j));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (Y){ \/\/'()'\r\n\t\t\t\t\t\t\t\tif (i + 1 == h &#038;&#038; j + 1 == w &#038;&#038; countBits(s)==2)\r\n\t\t\t\t\t\t\t\t\tans += d;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse { \/\/'(('\r\n\t\t\t\t\t\t\t\tdes->insert(eatRight(s, j+1) ^ (3 << j));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (A){\r\n\t\t\t\t\t\t\tif (!O[i+1][j]) des->insert(s);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tif (!O[i][j+1]) {\r\n\t\t\t\t\t\t\t\tif (X) des->insert(s ^ (3 << j | 3 << (_W + j)));\r\n\t\t\t\t\t\t\t\telse des->insert(s ^ (3 << j));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (!O[i][j+1]) des->insert(s);\r\n\t\t\t\t\t\t\tif (!O[i+1][j]) {\r\n\t\t\t\t\t\t\t\tif (Y) des->insert(s ^ (3 << j | 3 << (_W + j)));\r\n\t\t\t\t\t\t\t\telse des->insert(s ^ (3 << j));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nint main(){        \r\n    \/\/freopen(\"in.txt\", \"r\", stdin);\r\n\tinit();  solve();\r\n\tcout << ans << endl;\r\n}\r\n\r\n\r\n\r\n\/*\r\n \r\n 12 12\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n ............\r\n \r\n 1076226888605605706\r\n \r\n *\/\r\n<\/pre>\n<p><bk><bk><bk><bk><br \/>\n<bk><bk><bk><bk><\/p>\n<h3>Further discussion :<\/h3>\n<p>\u8bf7\u6ce8\u610f\u6570\u636e\u5305\u542b\u4e86\u4e00\u4e9b\u8981\u5ffd\u7565\u7684\u7a7a\u683c\uff0c\u5e76\u5c0f\u5fc3\u5916\u9762\u56f4\u4e86\u51e0\u5708\u5168\u662f\u77f3\u5934\u7684\u60c5\u51b5\u3002<\/p>\n<h3>External link :<\/h3>\n<p><a href=\"http:\/\/acm.timus.ru\/problem.aspx?space=1&#038;num=1519\">http:\/\/acm.timus.ru\/problem.aspx?space=1&num=1519<\/a><br \/>\n<a href=\"http:\/\/blog.sina.com.cn\/s\/blog_51cea4040100gmky.html\">http:\/\/blog.sina.com.cn\/s\/blog_51cea4040100gmky.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Brief description : \u4e00\u6761\u56de\u8def\u95ee\u9898\uff0c\u7ed9\u5b9a\u4e00\u4e2a n \u00d7 m \u7684\u6709\u969c\u788d\u5730\u56fe\uff0c\u6c42\u7528\u4e00\u6761\u56de\u8def\u904d\u5386\u6240\u6709\u683c\u5b50\u7684\u65b9\u6848\u6570\u3002 \uff081<\/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-81","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-1j","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/81","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=81"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}