{"id":289,"date":"2010-06-26T16:49:00","date_gmt":"2010-06-26T08:49:00","guid":{"rendered":"http:\/\/localhost\/?p=289"},"modified":"2010-06-26T16:49:00","modified_gmt":"2010-06-26T08:49:00","slug":"board_game","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/wjmzbmr\/?p=289","title":{"rendered":"\u68cb\u76d8\u6e38\u620f"},"content":{"rendered":"\n<p>\u68cb\u76d8\u6e38\u620f<\/p>\n<p>Time Limit:5000MS Memory Limit:65536K<br \/>Total Submit:21 Accepted:8 <br \/>Case Time Limit:500MS<\/p>\n<p><strong>Description <\/strong><\/p>\n<p>\u6709\u4e00\u4e2a100 * 100\u7684\u68cb\u76d8\uff0c\u5176\u4e2d\u5de6\u4e0b\u89d2\u7684\u7f16\u53f7\u4e3a(0, 0), \u53f3\u4e0a\u89d2\u7f16\u53f7\u4e3a(99, 99)\u3002\u68cb\u76d8\u4e0a\u6709N\u4e2aQueen\uff0c\u6700\u5f00\u59cb\u7b2ci\u4e2aQueen\u7684\u4f4d\u7f6e\u4e3a(Xi, Yi)\u3002\u73b0\u5728\u6709\u4e24\u4e2a\u73a9\u5bb6\u4f9d\u6b21\u6765\u64cd\u4f5c\uff0c\u6bcf\u4e00\u6b21\u4e00\u4e2a\u73a9\u5bb6\u53ef\u4ee5\u9009\u62e9\u5176\u4e2d\u4e00\u4e2aQueen\uff0c\u5c06\u5b83\u8df3\u5230(Xi &ndash; k, Yi)\u6216(Xi, Yi &#8211; k)\u6216(Xi &ndash; k, Yi &#8211; k), \u5176\u4e2dk &gt; 0\u3002\u6ce8\u610f\u5728\u6e38\u620f\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e00\u4e2a\u683c\u5b50\u91cc\u9762\u53ef\u80fd\u51fa\u73b0\u591a\u4e2aQueen\u3002\u5982\u679c\u8c01\u5148\u5c06\u4efb\u610f\u4e00\u4e2aQueen\u79fb\u52a8\u5230(0, 0), \u8c01\u5c31\u83b7\u80dc\u3002\u95ee\u5148\u624b\u5fc5\u80dc\u8fd8\u662f\u540e\u624b\u5fc5\u80dc? <\/p>\n<p><strong>Input <\/strong><\/p>\n<p>\u6ce8\u610f\u672c\u9898\u662f\u591a\u7ec4\u6570\u636e\u3002 <br \/>\u7b2c\u4e00\u884c\u6709\u4e00\u4e2a\u6570T, \u8868\u793a\u6570\u636e\u7ec4\u6570\u3002 <br \/>\u63a5\u4e0b\u6765\u6709T\u7ec4\u6570\u636e\uff0c\u6bcf\u7ec4\u6570\u636e\u7684\u7b2c\u4e00\u884c\u4e00\u4e2a\u6b63\u6574\u6570N\u8868\u793aQueen\u7684\u4e2a\u6570\u3002\u63a5\u4e0b\u6765N\u884c\u6bcf\u884c\u4e24\u4e2a\u6570\u8868\u793a\u7b2ci\u4e2aQueen\u7684\u521d\u59cb\u4f4d\u7f6eXi, Yi(0 &lt;= Xi &lt;= 99, 0 &lt;= Yi &lt;= 99)\u3002 <\/p>\n<p><strong>Output <\/strong><\/p>\n<p>\u5bf9\u4e8e\u6bcf\u4e00\u7ec4\u6570\u636e\uff0c\u4f60\u9700\u8981\u8f93\u51fa\u662f\u5148\u624b\u5fc5\u80dc\u8fd8\u662f\u540e\u624b\u5fc5\u80dc\u3002 <br \/>\u5982\u679c\u662f\u5148\u624b\u5fc5\u80dc\uff0c\u8f93\u51fa&ldquo;^o^&ldquo;, \u5982\u679c\u662f\u540e\u624b\u5fc5\u80dc\uff0c\u8f93\u51fa&rdquo;T_T&rdquo;\u3002 <\/p>\n<p><strong>Sample Input <\/strong><\/p>\n<\/p>\n<p><strong>Sample Output <\/strong><\/p>\n<\/p>\n<p><strong>Source <br \/>\u56e7\u3002\u9a6c\u4e0a\u8981\u671f\u672b\u8003\u4e86\u3002\u3002\u9893\u5e9f\u4e86\u534a\u5929\u3002\u505a\u9053\u9898\u653e\u677e\u4e00\u4e0b\u3002\u3002<br \/>\u3002\u8fd9\u9898\u8ba9\u6211\u66f4\u52a0\u6df1\u5165\u7684\u9886\u4f1a\u4e86Game Theory<br \/>\u9996\u5148\u770b\u770b\u6709\u6ca1\u6709\u68cb\u5b50\u53ef\u4ee5\u4e00\u6b65\u5230\u8fbe\uff080\uff0c0\uff09\u7684\u3002\u3002\u6709\u7684\u8bdd\u5c31\u5148\u884c\u8005\u80dc\u3002\u3002<br \/>\u7136\u540e\u628a\u6240\u6709\uff080,x\uff09,(x,0),(x,x)\u90fd\u770b\u6210\u5fc5\u8d25\u6001\u3002\u3002\u8ba9\u5176SG\u503c\u4e3a0.\u3002\u63a5\u7740\u7b97\u51fa\u6240\u6709\u5176\u5b83\u70b9\u7684SG\u503c<br \/>Xor\u4e00\u4e0b\u5c31OK\u4e86\u3002\u3002<br \/>\u4e0a\u6b21\u5fd8\u53d1\u4ee3\u7801\u4e86\u60b2\u5267\u56e7\u3002\u3002\u8865\u4e00\u4e0b\u3002\u3002<br \/>Code\uff1a<br \/>#include &lt;vector&gt;<\/strong><br \/>#include &lt;algorithm&gt;<br \/>#include &lt;utility&gt;<br \/>#include &lt;iostream&gt;<br \/>#include &lt;cstdio&gt;<br \/>#include &lt;cmath&gt;<br \/>#include &lt;cstdlib&gt;<br \/>#include &lt;cstring&gt;<br \/>#define rep(i,n) for(int i=0;i&lt;n;i++)<br \/>#define pb push_back<br \/><strong>#define Debug(x) cout&lt;&lt;#x&lt;&lt;<\/strong>&quot;=&quot;&lt;&lt;x&lt;&lt;endl;<br \/>#define For(i,l,r) for(int i=l;i&lt;=r;i++)<br \/>const int inf=~0U&gt;&gt;1,maxn=100;<br \/>using namespace std;<br \/>int Dp[maxn][maxn];<br \/>bool Set[maxn*3];<br \/>void Insert(int a,int b)<br \/>{<br \/>&nbsp;&nbsp;&nbsp;  if(a&gt;0&amp;&amp;b&gt;0&amp;&amp;a!=b)Set[Dp[a][b]]=true;<br \/>}<br \/>void PreDo()<br \/>{<br \/>&nbsp;&nbsp;&nbsp;  for(int i=1;i&lt;maxn;i++)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for(int j=1;j&lt;maxn;j++)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  memset(Set,0,sizeof Set);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if(i!=j)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  for(int k=1;k&lt;maxn;k++)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Insert(i-k,j);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Insert(i,j-k);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Insert(i-k,j-k);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  int&amp;t=Dp[i][j]=0;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  while(Set[t])t++;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br \/>}<br \/>void Solve()<br \/>{<br \/>&nbsp;&nbsp;&nbsp;  int n,x,y,s=0;bool win=false;<br \/><strong>&nbsp;&nbsp;&nbsp;  scanf(<\/strong>&quot;%d&quot;,&amp;n);<br \/>&nbsp;&nbsp;&nbsp;  rep(i,n)<br \/>&nbsp;&nbsp;&nbsp;  {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  scanf(&quot;%d%d&quot;,&amp;x,&amp;y);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if(x==0||y==0||x==y)win=true;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  else s^=Dp[x][y];<br \/>&nbsp;&nbsp;&nbsp;  }<br \/>&nbsp;&nbsp;&nbsp;  if(win||s)puts(&quot;^o^&quot;);<br \/>&nbsp;&nbsp;&nbsp;  else puts(&quot;T_T&quot;);<br \/>}<br \/>int main()<br \/>{<br \/>&nbsp;&nbsp;&nbsp;  \/\/freopen(&quot;in&quot;,&quot;r&quot;,stdin);<br \/>&nbsp;&nbsp;&nbsp;  PreDo();<br \/>&nbsp;&nbsp;&nbsp;  int t;cin&gt;&gt;t;rep(i,t)Solve();<br \/>}<\/p>\n<\/p>\n<p>^o^T_T\u6570\u636e\u8303\u56f4T &lt;= 10, N &lt;= 1000<\/p>\n<p>223 43 533 24 23 1 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u68cb\u76d8\u6e38\u620f Time Limit:5000MS Memory Limit:65536KTotal Submit:21 Accepted:8 Case Time Limit:500MS Description \u6709\u4e00\u4e2a100 * 100\u7684\u68cb\u76d8\uff0c\u5176\u4e2d\u5de6\u4e0b\u89d2\u7684\u7f16\u53f7\u4e3a(0, 0), \u53f3\u4e0a\u89d2\u7f16\u53f7\u4e3a(99, 99)\u3002\u68cb\u76d8\u4e0a\u6709N\u4e2aQueen\uff0c\u6700\u5f00\u59cb\u7b2ci\u4e2aQueen\u7684\u4f4d\u7f6e\u4e3a(Xi, Yi)\u3002\u73b0\u5728\u6709\u4e24\u4e2a\u73a9\u5bb6\u4f9d\u6b21\u6765\u64cd\u4f5c\uff0c\u6bcf\u4e00\u6b21\u4e00\u4e2a\u73a9\u5bb6\u53ef\u4ee5\u9009\u62e9\u5176\u4e2d\u4e00\u4e2aQueen\uff0c\u5c06\u5b83\u8df3\u5230(Xi &ndash; k, Yi)\u6216(Xi, Yi &#8211; k)\u6216(Xi &ndash; k, Yi &#8211; k), \u5176\u4e2dk &gt; 0\u3002\u6ce8\u610f\u5728\u6e38\u620f\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e00\u4e2a\u683c\u5b50\u91cc\u9762\u53ef\u80fd\u51fa\u73b0\u591a\u4e2aQueen\u3002\u5982\u679c\u8c01\u5148\u5c06\u4efb\u610f\u4e00\u4e2aQueen\u79fb\u52a8\u5230(0, 0), \u8c01\u5c31\u83b7\u80dc\u3002\u95ee\u5148\u624b\u5fc5\u80dc\u8fd8\u662f\u540e\u624b\u5fc5\u80dc? Input \u6ce8\u610f\u672c\u9898\u662f\u591a\u7ec4\u6570\u636e\u3002 \u7b2c\u4e00\u884c\u6709\u4e00\u4e2a\u6570T, \u8868\u793a\u6570\u636e\u7ec4\u6570\u3002 \u63a5\u4e0b\u6765\u6709T\u7ec4\u6570\u636e\uff0c\u6bcf\u7ec4\u6570\u636e\u7684\u7b2c\u4e00\u884c\u4e00\u4e2a\u6b63\u6574\u6570N\u8868\u793aQueen\u7684\u4e2a\u6570\u3002\u63a5\u4e0b\u6765N\u884c\u6bcf\u884c\u4e24\u4e2a\u6570\u8868\u793a\u7b2ci\u4e2aQueen\u7684\u521d\u59cb\u4f4d\u7f6eXi, Yi(0 &lt;= Xi &lt;= 99, 0 &lt;= Yi &lt;= 99)\u3002 Output \u5bf9\u4e8e\u6bcf\u4e00\u7ec4\u6570\u636e\uff0c\u4f60\u9700\u8981\u8f93\u51fa\u662f\u5148\u624b\u5fc5\u80dc\u8fd8\u662f\u540e\u624b\u5fc5\u80dc\u3002 \u5982\u679c\u662f\u5148\u624b\u5fc5\u80dc\uff0c\u8f93\u51fa&ldquo;^o^&ldquo;, \u5982\u679c\u662f\u540e\u624b\u5fc5\u80dc\uff0c\u8f93\u51fa&rdquo;T_T&rdquo;\u3002 Sample Input [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/289"}],"collection":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=289"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=\/wp\/v2\/posts\/289\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/wjmzbmr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}