﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-雪黛依梦-随笔分类-博弈</title><link>http://www.cppblog.com/wing/category/14751.html</link><description>幸福的飞翔——简单世界</description><language>zh-cn</language><lastBuildDate>Fri, 27 Aug 2010 16:24:10 GMT</lastBuildDate><pubDate>Fri, 27 Aug 2010 16:24:10 GMT</pubDate><ttl>60</ttl><item><title>HDU  2188</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124976.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 14:19:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124976.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124976.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124976.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124976.html</trackback:ping><description><![CDATA[把谁先捐满 n&nbsp; 元，看作共有 n&nbsp; 元每次可取 1——m元，谁最后取光————巴什博弈<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;()<br><img id=Codehighlighter1_72_307_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_307_Open_Text.style.display='none'; Codehighlighter1_72_307_Closed_Image.style.display='inline'; Codehighlighter1_72_307_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_307_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_307_Closed_Text.style.display='none'; Codehighlighter1_72_307_Open_Image.style.display='inline'; Codehighlighter1_72_307_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_72_307_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_72_307_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t,&nbsp;n&nbsp;,&nbsp;m;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">t);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;t&nbsp;</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_137_264_Open_Image onclick="this.style.display='none'; Codehighlighter1_137_264_Open_Text.style.display='none'; Codehighlighter1_137_264_Closed_Image.style.display='inline'; Codehighlighter1_137_264_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_137_264_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_137_264_Closed_Text.style.display='none'; Codehighlighter1_137_264_Open_Image.style.display='inline'; Codehighlighter1_137_264_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_137_264_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_137_264_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">m);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;(&nbsp;m&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Rabbit\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;:&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Grass\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;system&nbsp;("pause");</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/wing/aggbug/124976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 22:19 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HDU    1847</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124973.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 13:18:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124973.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124973.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124973.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124973.html</trackback:ping><description><![CDATA[//开始的时候没把题目看清,所以分析 N P 状态点的时候没有找出关系，是从 1&nbsp; 开始取牌 <br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;()<br><img id=Codehighlighter1_72_241_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_241_Open_Text.style.display='none'; Codehighlighter1_72_241_Closed_Image.style.display='inline'; Codehighlighter1_72_241_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_241_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_241_Closed_Text.style.display='none'; Codehighlighter1_72_241_Open_Image.style.display='inline'; Codehighlighter1_72_241_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_72_241_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_72_241_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n&nbsp;)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;EOF&nbsp;)<br><img id=Codehighlighter1_128_198_Open_Image onclick="this.style.display='none'; Codehighlighter1_128_198_Open_Text.style.display='none'; Codehighlighter1_128_198_Closed_Image.style.display='inline'; Codehighlighter1_128_198_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_128_198_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_128_198_Closed_Text.style.display='none'; Codehighlighter1_128_198_Open_Image.style.display='inline'; Codehighlighter1_128_198_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_128_198_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_128_198_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Cici\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&nbsp;:&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Kiki\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;system&nbsp;("pause");</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/wing/aggbug/124973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 21:18 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HDU  1849</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124943.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 07:12:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124943.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124943.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124943.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124943.html</trackback:ping><description><![CDATA[<p class=p0 style="MARGIN-TOP: 0pt; FONT-SIZE: 18pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 18pt">Nim游戏模型：<br>有三堆石子，分别含有x1，x2和x3颗石子。两人轮流取石子，每次可以选择一堆，从这堆里取走任意多颗石子，但不能不取。取走最后一颗石子的人获胜。<br>定理1：Nim游戏的一个状态(x1,&nbsp;x2,&nbsp;x3)&nbsp;是P状态，当且仅当x1+x2+x3=0。<br>&#8220;Nim和&#8221;就是两个数二进制表示的不进位加法，就是两个整数转化成二进制之后进行异或^运算，相同取 0&nbsp; 不同取1&nbsp; <br>定义：两个数(xm&#8230;x0)2和(ym&#8230;y0)2，是(zm&#8230;z0)2，其中zi=(xi+yi)&nbsp;mod&nbsp;2，0&lt;=i&lt;=m。<br>例如，22和51的Nim和是37&nbsp;&nbsp; 即：10110&nbsp; 和 110011&nbsp; 进行^运算，得到&nbsp; 100101&nbsp; <br>所以如果异或运算之后所有和都是 0 则为 p 状态<br><br>那么对应此题是不是就是：共有m个棋子就是有m堆石子，把每个位置的标号等价于该堆石子的数目，取走最后一颗石子的人获胜，就是最后一个回到 0 位置的人获胜，是不是就是nim 博弈问题呢？开始的时候我真的是一点头脑也摸不着，觉得好抽象啊！看了别人的解题报告之后才明白的。<br></span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;()<br><img id=Codehighlighter1_72_596_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_596_Open_Text.style.display='none'; Codehighlighter1_72_596_Closed_Image.style.display='inline'; Codehighlighter1_72_596_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_596_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_596_Closed_Text.style.display='none'; Codehighlighter1_72_596_Open_Image.style.display='inline'; Codehighlighter1_72_596_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_72_596_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_72_596_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;m;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;nim[</span><span style="COLOR: #000000">1001</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;ki;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">m)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;EOF&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;m&nbsp;)<br><img id=Codehighlighter1_163_554_Open_Image onclick="this.style.display='none'; Codehighlighter1_163_554_Open_Text.style.display='none'; Codehighlighter1_163_554_Closed_Image.style.display='inline'; Codehighlighter1_163_554_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_163_554_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_163_554_Closed_Text.style.display='none'; Codehighlighter1_163_554_Open_Image.style.display='inline'; Codehighlighter1_163_554_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_163_554_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: #ff0000">&nbsp;&nbsp;int&nbsp;res&nbsp;=&nbsp;0;</span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;m;&nbsp;i&nbsp;++&nbsp;)<br><img id=Codehighlighter1_239_371_Open_Image onclick="this.style.display='none'; Codehighlighter1_239_371_Open_Text.style.display='none'; Codehighlighter1_239_371_Closed_Image.style.display='inline'; Codehighlighter1_239_371_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_239_371_Closed_Image onclick="this.style.display='none'; Codehighlighter1_239_371_Closed_Text.style.display='none'; Codehighlighter1_239_371_Open_Image.style.display='inline'; Codehighlighter1_239_371_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/Images/dot.gif">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(&nbsp;"%d",&nbsp;&amp;ki&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nim[ki]&nbsp;=&nbsp;ki;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="COLOR: #ff0000">&nbsp;res&nbsp;^=&nbsp;ki;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//怎样对两个数进行位运算&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//进行位运算后相加和为&nbsp;0&nbsp;的话就是就是&nbsp;p&nbsp;状态&nbsp;<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;res&nbsp;==&nbsp;0&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//先走的人面对的状态，所以走最后一步的人是后走的人，后走的人赢&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(&nbsp;"Grass&nbsp;Win!\n&nbsp;"&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;("Rabbit&nbsp;Win!\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;system&nbsp;("pause");</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p class=p0 style="MARGIN-TOP: 0pt; FONT-SIZE: 18pt; MARGIN-BOTTOM: 0pt"><br></p>
<!--endfragment-->
<img src ="http://www.cppblog.com/wing/aggbug/124943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 15:12 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HDU  2897</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124924.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 03:20:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124924.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124924.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124924.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124924.html</trackback:ping><description><![CDATA[//做博弈题的关键是通过找出的 P 状态点的值来些出和已知值之间的关系 <br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;()<br><img id=Codehighlighter1_72_327_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_327_Open_Text.style.display='none'; Codehighlighter1_72_327_Closed_Image.style.display='inline'; Codehighlighter1_72_327_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_327_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_327_Closed_Text.style.display='none'; Codehighlighter1_72_327_Open_Image.style.display='inline'; Codehighlighter1_72_327_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_72_327_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_72_327_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n,&nbsp;p,&nbsp;q;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n&nbsp;,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">q)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;EOF&nbsp;)<br><img id=Codehighlighter1_148_284_Open_Image onclick="this.style.display='none'; Codehighlighter1_148_284_Open_Text.style.display='none'; Codehighlighter1_148_284_Closed_Image.style.display='inline'; Codehighlighter1_148_284_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_148_284_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_148_284_Closed_Text.style.display='none'; Codehighlighter1_148_284_Open_Image.style.display='inline'; Codehighlighter1_148_284_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_148_284_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_148_284_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;(&nbsp;p&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;q)&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;p&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;(&nbsp;p&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;q)&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">LOST\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">WIN\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;system&nbsp;("pause");</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/wing/aggbug/124924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 11:20 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hdu  1846</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124919.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 02:30:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124919.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124919.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124919.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124919.html</trackback:ping><description><![CDATA[理解了博弈中的巴什博弈就很简单，没理解的话就。。。。<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;()<br><img id=Codehighlighter1_72_344_Open_Image onclick="this.style.display='none'; Codehighlighter1_72_344_Open_Text.style.display='none'; Codehighlighter1_72_344_Closed_Image.style.display='inline'; Codehighlighter1_72_344_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_344_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_72_344_Closed_Text.style.display='none'; Codehighlighter1_72_344_Open_Image.style.display='inline'; Codehighlighter1_72_344_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_72_344_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_72_344_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t,&nbsp;n,&nbsp;m;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">t);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;t&nbsp;</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_137_289_Open_Image onclick="this.style.display='none'; Codehighlighter1_137_289_Open_Text.style.display='none'; Codehighlighter1_137_289_Closed_Image.style.display='inline'; Codehighlighter1_137_289_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_137_289_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_137_289_Closed_Text.style.display='none'; Codehighlighter1_137_289_Open_Image.style.display='inline'; Codehighlighter1_137_289_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_137_289_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_137_289_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d&nbsp;%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n&nbsp;,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">m);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;(m&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;p&nbsp;状态&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">second\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">first\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;system&nbsp;("pause");</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/wing/aggbug/124919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 10:30 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基本概念和方法</title><link>http://www.cppblog.com/wing/archive/2010/08/27/124911.html</link><dc:creator>雪黛依梦</dc:creator><author>雪黛依梦</author><pubDate>Fri, 27 Aug 2010 01:16:00 GMT</pubDate><guid>http://www.cppblog.com/wing/archive/2010/08/27/124911.html</guid><wfw:comment>http://www.cppblog.com/wing/comments/124911.html</wfw:comment><comments>http://www.cppblog.com/wing/archive/2010/08/27/124911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/wing/comments/commentRss/124911.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/wing/services/trackbacks/124911.html</trackback:ping><description><![CDATA[博弈论是二人在平等的对局中各自利用对方的策略变换自己的对抗策略，达到取胜的意义。<br>博弈问题的关键在于如何根据题目的要求找到 p&nbsp; n 点，步骤如下<br>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">步骤一&nbsp;将所有终止状态设为<font face=Verdana>P</font><font face=宋体>状态。</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'"> </span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">步骤二&nbsp;将所有</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">一步之内可以到达一个<font face=Verdana>P</font><font face=宋体>状态的状态设为</font><font face=Verdana>N</font><font face=宋体>状态。</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">步骤三&nbsp;如果一个状态，不管怎么走都只能走到<font face=Verdana>N</font><font face=宋体>状态，那么就将这个状态设为</font><font face=Verdana>P</font><font face=宋体>状态。</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">步骤四&nbsp;返回步骤二。</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">&nbsp;&nbsp;</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">（</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">&nbsp;</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">所以只要找出了</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">&nbsp;p&nbsp;&nbsp;n&nbsp;&nbsp;p&nbsp;<font face=宋体>就可以找到下面的状态&nbsp;</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">）</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">如果能够走到<font face=Verdana>P</font><font face=宋体>状态，就能获胜。因为安照上面的定义，对手不管如何选择，只可能走到</font><font face=Verdana>N</font><font face=宋体>状态。接下来总存在一个</font><font face=Verdana>P</font><font face=宋体>状态你可以走到。这样一直走到终止状态，你获胜。当然这里所说得都是</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">指对于最后走步的人</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">（最后走步的人有石子取就设为</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">&nbsp;n&nbsp;&nbsp;</span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: '宋体'; mso-spacerun: 'yes'">）</span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">获胜的游戏。</span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">我们严格的来定义<font face=Verdana>P</font><font face=宋体>状态和</font><font face=Verdana>N</font><font face=宋体>状态</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">l&nbsp;&nbsp;&nbsp;&nbsp;<font face=宋体>所有的终止状态都是</font><font face=Verdana>P</font><font face=宋体>状态；</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">l&nbsp;&nbsp;&nbsp;&nbsp;<font face=宋体>对于任何的</font><font face=Verdana>N</font><font face=宋体>状态，肯定存在一种方式可以一步转到一个</font><font face=Verdana>P</font><font face=宋体>状态；</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">l&nbsp;&nbsp;&nbsp;&nbsp;<font face=宋体>对于任何的</font><font face=Verdana>P</font><font face=宋体>状态，不管怎么走步，都只能转到</font><font face=Verdana>N</font><font face=宋体>状态。</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">而对于最后走步的人失败的游戏，只要将所有终止状态改成<font face=Verdana>N</font><font face=宋体>状态，然后开始倒推就可以了。当然，必胜状态是</font><font face=Verdana>N</font><font face=宋体>状态。也就是说，如果想胜利，就希望面对</font><font face=Verdana>N</font><font face=宋体>状态，转移到</font><font face=Verdana>P</font><font face=宋体>状态。<br></font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br>定好 P&nbsp; N 点之后找出对应的数字规律即可<br><br>二：<br>Nim-Sum：</p>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">Nim<font face=宋体>游戏的一个状态</font><font face=Verdana>(x1,&nbsp;x2,&nbsp;x3)&nbsp;</font><font face=宋体>是</font><font face=Verdana>P</font><font face=宋体>状态，当且仅当</font><font face=Verdana>x1+x2+x3=0</font><font face=宋体>。</p>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">如果有<font face=Verdana>n</font><font face=宋体>堆石子，状态</font><font face=Verdana>(x1,&nbsp;x2,&nbsp;&#8230;,&nbsp;xn)</font><font face=宋体>是</font><font face=Verdana>P</font><font face=宋体>状态的充要条件是</font><font face=Verdana>x1+x2+&#8230;+xn=0</font><font face=宋体>。</font></span></p>
<!--endfragment-->
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">&#8220;Nim<font face=宋体>和</font><font face=Verdana>&#8221;</font><font face=宋体>就是两个数二进制表示的不进位加法，也就是两个整数进行</font><font face=Verdana>xor</font><font face=宋体>位运算。</font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">定义：两个数<font face=Verdana>(xm&#8230;x0)2</font><font face=宋体>和</font><font face=Verdana>(ym&#8230;y0)2</font><font face=宋体>，是</font><font face=Verdana>(zm&#8230;z0)2</font><font face=宋体>，其中</font><font face=Verdana>zi=(xi+yi)&nbsp;mod&nbsp;2</font><font face=宋体>，</font><font face=Verdana>0&lt;=i&lt;=m</font><font face=宋体>。</p>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'">例如，<font face=Verdana>22</font><font face=宋体>和</font><font face=Verdana>51</font><font face=宋体>的</font><font face=Verdana>Nim</font><font face=宋体>和是</font><font face=Verdana>37。注意：计算时没有进位</font></span></p>
<!--endfragment--></font></span>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><!--endfragment--></font></span><span style="FONT-SIZE: 10pt; COLOR: rgb(255,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span></p>
<p class=p0 style="MARGIN-TOP: 0pt; MARGIN-BOTTOM: 0pt"><!--endfragment--><br></span><span style="FONT-SIZE: 10pt; COLOR: rgb(0,0,0); FONT-FAMILY: 'Verdana'; mso-spacerun: 'yes'"><br></span></p>
<!--endfragment-->
<img src ="http://www.cppblog.com/wing/aggbug/124911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/wing/" target="_blank">雪黛依梦</a> 2010-08-27 09:16 <a href="http://www.cppblog.com/wing/archive/2010/08/27/124911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>