﻿<?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++博客-美妙的acm</title><link>http://www.cppblog.com/qiangwei/</link><description>记录acm历程</description><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:07:59 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:07:59 GMT</pubDate><ttl>60</ttl><item><title>命运(经典DP--hdu2571)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/21/120941.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Wed, 21 Jul 2010 03:16:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/21/120941.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120941.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/21/120941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120941.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120941.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 24pt">
<h1 align=left><span style="FONT-SIZE: 14pt">题目来源：<a href="http://acm.hdu.edu.cn/showproblem.php?pid=2571">http://acm.hdu.edu.cn/showproblem.php?pid=2571</a></span><br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命运</span></h1>
<p align=center>Time Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 32768/32768 K (Java/Others)<br>Total Submission(s): 998&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 336<br><br><br></p>
<div align=left>Problem Description</div>
<div>穿过幽谷意味着离大魔王lemon已经无限接近了！<br>可谁能想到，yifenfei在斩杀了一些虾兵蟹将后，却再次面临命运大迷宫的考验，这是魔王lemon设下的又一个机关。要知道，不论何人，若在迷宫中被困1小时以上，则必死无疑！<br>可怜的yifenfei为了去救MM，义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧！<br>命运大迷宫可以看成是一个两维的方格阵列，如下图所示：<br><img src="http://acm.hdu.edu.cn/data/images/C164-1005-1.jpg"> <br>yifenfei一开始在左上角，目的当然是到达右下角的大魔王所在地。迷宫的每一个格子都受到幸运女神眷恋或者痛苦魔王的诅咒，所以每个格子都对应一个值，走到那里便自动得到了对应的值。<br>现在规定yifenfei只能向右或者向下走，向下一次只能走一格。但是如果向右走，则每次可以走一格或者走到该行的列数是当前所在列数倍数的格子，即：如果当前格子是（x,y），下一步可以是（x+1,y），(x,y+1)或者(x,y*k) 其中k&gt;1。 <br>为了能够最大把握的消灭魔王lemon，yifenfei希望能够在这个命运大迷宫中得到最大的幸运值。<br><img src="http://acm.hdu.edu.cn/data/images/C164-1005-2.jpg"><br></div>
<div>&nbsp;</div>
<br>
<div align=left>Input</div>
<div>输入数据首先是一个整数C，表示测试数据的组数。<br>每组测试数据的第一行是两个整数n,m，分别表示行数和列数(1&lt;=n&lt;=20,10&lt;=m&lt;=1000)；<br>接着是n行数据，每行包含m个整数，表示n行m列的格子对应的幸运值K ( |k|&lt;100 )。<br></div>
<div>&nbsp;</div>
<br>
<div align=left>Output</div>
<div>请对应每组测试数据输出一个整数，表示yifenfei可以得到的最大幸运值。</div>
<div>&nbsp;</div>
<br>
<div align=left>Sample Input</div>
<div>
<pre>
<div>1
3 8
9 10 10 10 10 -10 10 10
10 -11 -1 0 2 11 10 -20
-11 -11 10 11 2 10 -10 -10</div>
</pre>
</div>
<div>&nbsp;</div>
<br>
<div align=left>Sample Output</div>
<div>
<pre>
<div>52</div>
</pre>
</div>
<div>&nbsp;</div>
<br>
<div align=left>Author</div>
<div>yifenfei</div>
<div>&nbsp;</div>
<br>
<div align=left>Source</div>
<div><a href="http://acm.hdu.edu.cn/search.php?field=problem&amp;key=ACM程序设计期末考试081230&amp;source=1&amp;searchmode=source">ACM程序设计期末考试081230 </a></div>
<div>&nbsp;</div>
<br>
<div align=left>Recommend</div>
<div>yifenfei</div>
<div>&nbsp;</div>
<br>
<div align=left><a href="http://acm.hdu.edu.cn/statistic.php?pid=2571">Statistic</a>&nbsp;|&nbsp;<a href="http://acm.hdu.edu.cn/submit.php?pid=2571">Submit</a>&nbsp;|&nbsp;<a href="http://acm.hdu.edu.cn/discuss/problem/list.php?problemid=2571">Discuss</a><a href="http://acm.hdu.edu.cn/listproblem.php?vol=16"> | Back</a><br><br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Code_Closed_Image_111839 onclick="this.style.display='none'; Code_Closed_Text_111839.style.display='none'; Code_Open_Image_111839.style.display='inline'; Code_Open_Text_111839.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 height=16><img style="DISPLAY: none" id=Code_Open_Image_111839 onclick="this.style.display='none'; Code_Open_Text_111839.style.display='none'; Code_Closed_Image_111839.style.display='inline'; Code_Closed_Text_111839.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 height=16><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Code_Closed_Text_111839>DP</span><span style="DISPLAY: none" id=Code_Open_Text_111839><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080">&nbsp;1</span><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></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></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;inf</span><span style="COLOR: #000000">=~</span><span style="COLOR: #000000">0U</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">取向无穷</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n,m;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1001</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;data[</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1001</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">记录每一个点的最大幸运值</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;max(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b)<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_170_191_Open_Image onclick="this.style.display='none'; Codehighlighter1_170_191_Open_Text.style.display='none'; Codehighlighter1_170_191_Closed_Image.style.display='inline'; Codehighlighter1_170_191_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_170_191_Closed_Image onclick="this.style.display='none'; Codehighlighter1_170_191_Closed_Text.style.display='none'; Codehighlighter1_170_191_Open_Image.style.display='inline'; Codehighlighter1_170_191_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_170_191_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_170_191_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(a</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">a:b);<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;dp()<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img id=Codehighlighter1_204_830_Open_Image onclick="this.style.display='none'; Codehighlighter1_204_830_Open_Text.style.display='none'; Codehighlighter1_204_830_Closed_Image.style.display='inline'; Codehighlighter1_204_830_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_204_830_Closed_Image onclick="this.style.display='none'; Codehighlighter1_204_830_Closed_Text.style.display='none'; Codehighlighter1_204_830_Open_Image.style.display='inline'; Codehighlighter1_204_830_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_204_830_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_204_830_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,u,k;&nbsp;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从一个点可以到达哪些点开始从上到下的遍历</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">寻找每一个点</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">19</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_294_799_Open_Image onclick="this.style.display='none'; Codehighlighter1_294_799_Open_Text.style.display='none'; Codehighlighter1_294_799_Closed_Image.style.display='inline'; Codehighlighter1_294_799_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_294_799_Closed_Image onclick="this.style.display='none'; Codehighlighter1_294_799_Closed_Text.style.display='none'; Codehighlighter1_294_799_Open_Image.style.display='inline'; Codehighlighter1_294_799_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_294_799_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_294_799_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">有两种情况：一个是直接一步向下,还有一个是横向y*k&lt;m</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">22</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(u</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;u</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;u</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">u代表的是横向走几步，0还是1</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #008000"><img id=Codehighlighter1_371_795_Open_Image onclick="this.style.display='none'; Codehighlighter1_371_795_Open_Text.style.display='none'; Codehighlighter1_371_795_Closed_Image.style.display='inline'; Codehighlighter1_371_795_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_371_795_Closed_Image onclick="this.style.display='none'; Codehighlighter1_371_795_Closed_Text.style.display='none'; Codehighlighter1_371_795_Open_Image.style.display='inline'; Codehighlighter1_371_795_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_371_795_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_371_795_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((u</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n))</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">直接向下走一步,而且不超出范围</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">25</span><span style="COLOR: #008000"><img id=Codehighlighter1_429_494_Open_Image onclick="this.style.display='none'; Codehighlighter1_429_494_Open_Text.style.display='none'; Codehighlighter1_429_494_Closed_Image.style.display='inline'; Codehighlighter1_429_494_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_429_494_Closed_Image onclick="this.style.display='none'; Codehighlighter1_429_494_Closed_Text.style.display='none'; Codehighlighter1_429_494_Open_Image.style.display='inline'; Codehighlighter1_429_494_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_429_494_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_429_494_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">max(data[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u][j],data[i][j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u][j]);&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">向右前进</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">29</span><span style="COLOR: #008000"><img id=Codehighlighter1_515_790_Open_Image onclick="this.style.display='none'; Codehighlighter1_515_790_Open_Text.style.display='none'; Codehighlighter1_515_790_Closed_Image.style.display='inline'; Codehighlighter1_515_790_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_515_790_Closed_Image onclick="this.style.display='none'; Codehighlighter1_515_790_Closed_Text.style.display='none'; Codehighlighter1_515_790_Open_Image.style.display='inline'; Codehighlighter1_515_790_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_515_790_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_515_790_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">在范围以内</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">31</span><span style="COLOR: #008000"><img id=Codehighlighter1_553_619_Open_Image onclick="this.style.display='none'; Codehighlighter1_553_619_Open_Text.style.display='none'; Codehighlighter1_553_619_Closed_Image.style.display='inline'; Codehighlighter1_553_619_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_553_619_Closed_Image onclick="this.style.display='none'; Codehighlighter1_553_619_Closed_Text.style.display='none'; Codehighlighter1_553_619_Open_Image.style.display='inline'; Codehighlighter1_553_619_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_553_619_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_553_619_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i][j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">max(data[i][j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">],data[i][j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i][j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]);<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当u=0的时候k代表的是倍数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #008000"><img id=Codehighlighter1_668_784_Open_Image onclick="this.style.display='none'; Codehighlighter1_668_784_Open_Text.style.display='none'; Codehighlighter1_668_784_Closed_Image.style.display='inline'; Codehighlighter1_668_784_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_668_784_Closed_Image onclick="this.style.display='none'; Codehighlighter1_668_784_Closed_Text.style.display='none'; Codehighlighter1_668_784_Open_Image.style.display='inline'; Codehighlighter1_668_784_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_668_784_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_668_784_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">j</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">j</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">不超出范围&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">37</span><span style="COLOR: #008000"><img id=Codehighlighter1_709_777_Open_Image onclick="this.style.display='none'; Codehighlighter1_709_777_Open_Text.style.display='none'; Codehighlighter1_709_777_Closed_Image.style.display='inline'; Codehighlighter1_709_777_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_709_777_Closed_Image onclick="this.style.display='none'; Codehighlighter1_709_777_Closed_Text.style.display='none'; Codehighlighter1_709_777_Open_Image.style.display='inline'; Codehighlighter1_709_777_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_709_777_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_709_777_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&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;data[i][j</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">k]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">max(data[i][j</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">k],data[i][j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i][j</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">k]);<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">data[n][m]</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img id=Codehighlighter1_843_1159_Open_Image onclick="this.style.display='none'; Codehighlighter1_843_1159_Open_Text.style.display='none'; Codehighlighter1_843_1159_Closed_Image.style.display='inline'; Codehighlighter1_843_1159_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_843_1159_Closed_Image onclick="this.style.display='none'; Codehighlighter1_843_1159_Closed_Text.style.display='none'; Codehighlighter1_843_1159_Open_Image.style.display='inline'; Codehighlighter1_843_1159_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_843_1159_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_843_1159_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;c,i,j,k;<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">c)<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img id=Codehighlighter1_875_1146_Open_Image onclick="this.style.display='none'; Codehighlighter1_875_1146_Open_Text.style.display='none'; Codehighlighter1_875_1146_Closed_Image.style.display='inline'; Codehighlighter1_875_1146_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_875_1146_Closed_Image onclick="this.style.display='none'; Codehighlighter1_875_1146_Closed_Text.style.display='none'; Codehighlighter1_875_1146_Open_Image.style.display='inline'; Codehighlighter1_875_1146_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_875_1146_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_875_1146_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">c;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img id=Codehighlighter1_899_1143_Open_Image onclick="this.style.display='none'; Codehighlighter1_899_1143_Open_Text.style.display='none'; Codehighlighter1_899_1143_Closed_Image.style.display='inline'; Codehighlighter1_899_1143_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_899_1143_Closed_Image onclick="this.style.display='none'; Codehighlighter1_899_1143_Closed_Text.style.display='none'; Codehighlighter1_899_1143_Open_Image.style.display='inline'; Codehighlighter1_899_1143_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_899_1143_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_899_1143_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">m;<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(a,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(a));</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">57</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(data,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(data));<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">输入处理</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">60</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img id=Codehighlighter1_1039_1100_Open_Image onclick="this.style.display='none'; Codehighlighter1_1039_1100_Open_Text.style.display='none'; Codehighlighter1_1039_1100_Closed_Image.style.display='inline'; Codehighlighter1_1039_1100_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1039_1100_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1039_1100_Closed_Text.style.display='none'; Codehighlighter1_1039_1100_Open_Image.style.display='inline'; Codehighlighter1_1039_1100_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1039_1100_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1039_1100_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">a[j][k];<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j][k]</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">inf;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">对data数据的再次赋值</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">64</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp();<br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&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></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></span></div>
<br><br><br></div>
<br>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-21 11:16 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/21/120941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How many ways(DP题目---hdu1978)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/20/120897.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Tue, 20 Jul 2010 11:37:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/20/120897.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120897.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/20/120897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120897.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120897.html</trackback:ping><description><![CDATA[<h1 style="COLOR: #1a5cc8" align=left>题目的来源：<a href="http://acm.hdu.edu.cn/showproblem.php?pid=1978">http://acm.hdu.edu.cn/showproblem.php?pid=1978</a>.</h1>
<h1 style="COLOR: #1a5cc8" align=center>How many ways</h1>
<p align=center><font size=+0><strong><span style="FONT-FAMILY: Arial; COLOR: green; FONT-SIZE: 12px; FONT-WEIGHT: bold">Time Limit: 3000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 32768/32768 K (Java/Others)<br>Total Submission(s): 446&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 304<br></span></strong></font><br><br></p>
<div class=panel_title align=left>Problem Description</div>
<div class=panel_content>这是一个简单的生存游戏，你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m)。游戏的规则描述如下：<br>1.机器人一开始在棋盘的起始点并有起始点所标有的能量。<br>2.机器人只能向右或者向下走，并且每走一步消耗一单位能量。<br>3.机器人不能在原地停留。<br>4.当机器人选择了一条可行路径后，当他走到这条路径的终点时，他将只有终点所标记的能量。<br>
<center><img src="http://acm.hdu.edu.cn/data/images/C113-1003-1.gif"> </center><br>如上图，机器人一开始在(1,1)点，并拥有4单位能量，蓝色方块表示他所能到达的点，如果他在这次路径选择中选择的终点是(2,4)<br><br>点，当他到达(2,4)点时将拥有1单位的能量，并开始下一次路径选择，直到到达(6,6)点。<br>我们的问题是机器人有多少种方式从起点走到终点。这可能是一个很大的数，输出的结果对10000取模。</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Input</div>
<div class=panel_content>第一行输入一个整数T,表示数据的组数。<br>对于每一组数据第一行输入两个整数n,m(1 &lt;= n,m &lt;= 100)。表示棋盘的大小。接下来输入n行,每行m个整数e(0 &lt;= e &lt; 20)。</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Output</div>
<div class=panel_content>对于每一组数据输出方式总数对10000取模的结果.</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Sample Input</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">1
6 6
4 5 6 6 4 3
2 2 3 1 7 2
1 1 4 6 2 7
5 8 4 3 9 5
7 6 6 2 1 5
3 1 1 3 7 2</div>
</pre>
</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Sample Output</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">3948</div>
</pre>
</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Author</div>
<div class=panel_content>xhd</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Source</div>
<div class=panel_content><a href="http://acm.hdu.edu.cn/search.php?field=problem&amp;key=2008杭电集训队选拔赛&amp;source=1&amp;searchmode=source"><u><font color=#0066cc>2008杭电集训队选拔赛 </font></u></a><br><br>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Code_Closed_Image_193643 onclick="this.style.display='none'; Code_Closed_Text_193643.style.display='none'; Code_Open_Image_193643.style.display='inline'; Code_Open_Text_193643.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 height=16><img style="DISPLAY: none" id=Code_Open_Image_193643 onclick="this.style.display='none'; Code_Open_Text_193643.style.display='none'; Code_Closed_Image_193643.style.display='inline'; Code_Closed_Text_193643.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 height=16><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Code_Closed_Text_193643>DP</span><span style="DISPLAY: none" id=Code_Open_Text_193643><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080">&nbsp;1</span><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img id=Codehighlighter1_1_167_Open_Image onclick="this.style.display='none'; Codehighlighter1_1_167_Open_Text.style.display='none'; Codehighlighter1_1_167_Closed_Image.style.display='inline'; Codehighlighter1_1_167_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_1_167_Closed_Image onclick="this.style.display='none'; Codehighlighter1_1_167_Closed_Text.style.display='none'; Codehighlighter1_1_167_Open_Image.style.display='inline'; Codehighlighter1_1_167_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_1_167_Closed_Text>/**/</span><span id=Codehighlighter1_1_167_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">两种D法,一是对于当前的点,那些点可达;二是当前点可达那些点;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">明显第二种方法高,因为第一种方法有一些没必要的尝试;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">Dp[i][j]+=Dp[ii][jj];&nbsp;(map[ii][jj]&gt;=两点的曼哈顿距离)<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">//用到data[i+k][j+u]=(data[i+k][j+u]+data[i][j])%10000;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif"></span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></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></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;m,n;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;data[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;dp()</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">动归的函数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">17</span><span style="COLOR: #008000"><img id=Codehighlighter1_294_669_Open_Image onclick="this.style.display='none'; Codehighlighter1_294_669_Open_Text.style.display='none'; Codehighlighter1_294_669_Closed_Image.style.display='inline'; Codehighlighter1_294_669_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_294_669_Closed_Image onclick="this.style.display='none'; Codehighlighter1_294_669_Closed_Text.style.display='none'; Codehighlighter1_294_669_Open_Image.style.display='inline'; Codehighlighter1_294_669_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_294_669_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_294_669_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,k,u;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;data[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">每一个点的遍历展开</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img id=Codehighlighter1_381_635_Open_Image onclick="this.style.display='none'; Codehighlighter1_381_635_Open_Text.style.display='none'; Codehighlighter1_381_635_Closed_Image.style.display='inline'; Codehighlighter1_381_635_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_381_635_Closed_Image onclick="this.style.display='none'; Codehighlighter1_381_635_Closed_Text.style.display='none'; Codehighlighter1_381_635_Open_Image.style.display='inline'; Codehighlighter1_381_635_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_381_635_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_381_635_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">a[i][j];k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">行向</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(u</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;u</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">a[i][j];u</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">纵向</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #008000"><img id=Codehighlighter1_452_630_Open_Image onclick="this.style.display='none'; Codehighlighter1_452_630_Open_Text.style.display='none'; Codehighlighter1_452_630_Closed_Image.style.display='inline'; Codehighlighter1_452_630_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_452_630_Closed_Image onclick="this.style.display='none'; Codehighlighter1_452_630_Closed_Text.style.display='none'; Codehighlighter1_452_630_Open_Image.style.display='inline'; Codehighlighter1_452_630_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_452_630_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_452_630_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">保障在范围之内---(k+u)!=0这个条件很重要</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">29</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k)</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k)</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u)</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u)</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u)</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img id=Codehighlighter1_550_624_Open_Image onclick="this.style.display='none'; Codehighlighter1_550_624_Open_Text.style.display='none'; Codehighlighter1_550_624_Closed_Image.style.display='inline'; Codehighlighter1_550_624_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_550_624_Closed_Image onclick="this.style.display='none'; Codehighlighter1_550_624_Closed_Text.style.display='none'; Codehighlighter1_550_624_Open_Image.style.display='inline'; Codehighlighter1_550_624_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_550_624_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_550_624_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k][j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(data[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">k][j</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">u]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">data[i][j])</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">10000</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">中间状态转换方程&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">32</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">data[n][m]</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img id=Codehighlighter1_683_920_Open_Image onclick="this.style.display='none'; Codehighlighter1_683_920_Open_Text.style.display='none'; Codehighlighter1_683_920_Closed_Image.style.display='inline'; Codehighlighter1_683_920_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_683_920_Closed_Image onclick="this.style.display='none'; Codehighlighter1_683_920_Closed_Text.style.display='none'; Codehighlighter1_683_920_Open_Image.style.display='inline'; Codehighlighter1_683_920_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_683_920_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_683_920_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t,i,j,k;<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">t)<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img id=Codehighlighter1_715_907_Open_Image onclick="this.style.display='none'; Codehighlighter1_715_907_Open_Text.style.display='none'; Codehighlighter1_715_907_Closed_Image.style.display='inline'; Codehighlighter1_715_907_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_715_907_Closed_Image onclick="this.style.display='none'; Codehighlighter1_715_907_Closed_Text.style.display='none'; Codehighlighter1_715_907_Open_Image.style.display='inline'; Codehighlighter1_715_907_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_715_907_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_715_907_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">t;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img id=Codehighlighter1_739_904_Open_Image onclick="this.style.display='none'; Codehighlighter1_739_904_Open_Text.style.display='none'; Codehighlighter1_739_904_Closed_Image.style.display='inline'; Codehighlighter1_739_904_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_739_904_Closed_Image onclick="this.style.display='none'; Codehighlighter1_739_904_Closed_Text.style.display='none'; Codehighlighter1_739_904_Open_Image.style.display='inline'; Codehighlighter1_739_904_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_739_904_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_739_904_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">m;<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(a,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(a));</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">49</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(data,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(data));<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">输入处理</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">52</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">a[i][j];<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&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></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></span></div>
<br></div>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-20 19:37 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/20/120897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Super Jumping! Jumping! Jumping!（dp经典题目hdu 1087）</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/20/120893.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Tue, 20 Jul 2010 10:32:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/20/120893.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120893.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/20/120893.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120893.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120893.html</trackback:ping><description><![CDATA[<p>题目来源：<a href="http://acm.hdu.edu.cn/showproblem.php?pid=1087">http://acm.hdu.edu.cn/showproblem.php?pid=1087</a><br></p>
<h1 style="COLOR: #1a5cc8" align=center>Super Jumping! Jumping! Jumping!</h1>
<p align=center><font size=+0><strong><span style="FONT-FAMILY: Arial; COLOR: green; FONT-SIZE: 12px; FONT-WEIGHT: bold">Time Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 65536/32768 K (Java/Others)<br>Total Submission(s): 6529&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 2569<br></span></strong></font><br><br></p>
<div class=panel_title align=left>Problem Description</div>
<div class=panel_content>Nowadays, a kind of chess game called &#8220;Super Jumping! Jumping! Jumping!&#8221; is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.<br><br>
<center><img src="http://acm.hdu.edu.cn/data/images/1087-1.jpg"></center><br><br>The game can be played by two or more than two players. It consists of a chessboard（棋盘）and some chessmen（棋子）, and all chessmen are marked by a positive integer or &#8220;start&#8221; or &#8220;end&#8221;. The player starts from start-point and must jumps into end-point finally. In the course of jumping, the player will visit the chessmen in the path, but everyone must jumps from one chessman to another absolutely bigger (you can assume start-point is a minimum and end-point is a maximum.). And all players cannot go backwards. One jumping can go from a chessman to next, also can go across many chessmen, and even you can straightly get to end-point from start-point. Of course you get zero point in this situation. A player is a winner if and only if he can get a bigger score according to his jumping solution. Note that your score comes from the sum of value on the chessmen in you jumping path.<br>Your task is to output the maximum value according to the given chessmen list.<br></div>
<div class=panel_bottom>&nbsp;</div>
<p><br>&nbsp;</p>
<div class=panel_title align=left>Input</div>
<div class=panel_content>Input contains multiple test cases. Each test case is described in a line as follow:<br>N value_1 value_2 &#8230;value_N <br>It is guarantied that N is not more than 1000 and all value_i are in the range of 32-int.<br>A test case starting with 0 terminates the input and this test case is not to be processed.<br></div>
<div class=panel_bottom>&nbsp;</div>
<p><br>&nbsp;</p>
<div class=panel_title align=left>Output</div>
<div class=panel_content>For each case, print the maximum according to rules, and one line one case.<br></div>
<div class=panel_bottom>&nbsp;</div>
<p><br>&nbsp;</p>
<div class=panel_title align=left>Sample Input</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">3 1 3 2
4 1 2 3 4
4 3 3 2 1
0</div>
</pre>
</div>
<div class=panel_bottom>&nbsp;</div>
<p><br>&nbsp;</p>
<div class=panel_title align=left>Sample Output</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">4
10
3</div>
</pre>
</div>
<div class=panel_bottom><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;最大递增子段和,状态方程:sum[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">max{sum[i]}</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[j];&nbsp;其中,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">j,a[i]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">a[j]&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Code_Closed_Image_183118 onclick="this.style.display='none'; Code_Closed_Text_183118.style.display='none'; Code_Open_Image_183118.style.display='inline'; Code_Open_Text_183118.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 height=16><img style="DISPLAY: none" id=Code_Open_Image_183118 onclick="this.style.display='none'; Code_Open_Text_183118.style.display='none'; Code_Closed_Image_183118.style.display='inline'; Code_Closed_Text_183118.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 height=16><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Code_Closed_Text_183118>hdu1087</span><span style="DISPLAY: none" id=Code_Open_Text_183118><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080">&nbsp;1</span><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></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></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">2001</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">__int64&nbsp;sum[</span><span style="COLOR: #000000">2001</span><span style="COLOR: #000000">],Max;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">注意范围</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;dp()<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_121_371_Open_Image onclick="this.style.display='none'; Codehighlighter1_121_371_Open_Text.style.display='none'; Codehighlighter1_121_371_Closed_Image.style.display='inline'; Codehighlighter1_121_371_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_121_371_Closed_Image onclick="this.style.display='none'; Codehighlighter1_121_371_Closed_Text.style.display='none'; Codehighlighter1_121_371_Open_Image.style.display='inline'; Codehighlighter1_121_371_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_121_371_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_121_371_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;Max</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img id=Codehighlighter1_168_341_Open_Image onclick="this.style.display='none'; Codehighlighter1_168_341_Open_Text.style.display='none'; Codehighlighter1_168_341_Closed_Image.style.display='inline'; Codehighlighter1_168_341_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_168_341_Closed_Image onclick="this.style.display='none'; Codehighlighter1_168_341_Closed_Text.style.display='none'; Codehighlighter1_168_341_Open_Image.style.display='inline'; Codehighlighter1_168_341_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_168_341_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_168_341_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img id=Codehighlighter1_191_338_Open_Image onclick="this.style.display='none'; Codehighlighter1_191_338_Open_Text.style.display='none'; Codehighlighter1_191_338_Closed_Image.style.display='inline'; Codehighlighter1_191_338_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_191_338_Closed_Image onclick="this.style.display='none'; Codehighlighter1_191_338_Closed_Text.style.display='none'; Codehighlighter1_191_338_Open_Image.style.display='inline'; Codehighlighter1_191_338_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_191_338_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_191_338_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sum[i]=max(sum[j])+a[i];原理图</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">19</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((a[j]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">a[i])</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(sum[i]</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">sum[j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i]))<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_271_300_Open_Image onclick="this.style.display='none'; Codehighlighter1_271_300_Open_Text.style.display='none'; Codehighlighter1_271_300_Closed_Image.style.display='inline'; Codehighlighter1_271_300_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_271_300_Closed_Image onclick="this.style.display='none'; Codehighlighter1_271_300_Closed_Text.style.display='none'; Codehighlighter1_271_300_Open_Image.style.display='inline'; Codehighlighter1_271_300_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_271_300_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_271_300_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum[j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i];<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Max</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">sum[i])<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sum[i];<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%I64d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,Max);&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img id=Codehighlighter1_384_580_Open_Image onclick="this.style.display='none'; Codehighlighter1_384_580_Open_Text.style.display='none'; Codehighlighter1_384_580_Closed_Image.style.display='inline'; Codehighlighter1_384_580_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_384_580_Closed_Image onclick="this.style.display='none'; Codehighlighter1_384_580_Closed_Text.style.display='none'; Codehighlighter1_384_580_Open_Image.style.display='inline'; Codehighlighter1_384_580_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_384_580_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_384_580_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">n)<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img id=Codehighlighter1_413_567_Open_Image onclick="this.style.display='none'; Codehighlighter1_413_567_Open_Text.style.display='none'; Codehighlighter1_413_567_Closed_Image.style.display='inline'; Codehighlighter1_413_567_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_413_567_Closed_Image onclick="this.style.display='none'; Codehighlighter1_413_567_Closed_Text.style.display='none'; Codehighlighter1_413_567_Open_Image.style.display='inline'; Codehighlighter1_413_567_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_413_567_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_413_567_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(a,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(a));</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(sum,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(sum));<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img id=Codehighlighter1_499_548_Open_Image onclick="this.style.display='none'; Codehighlighter1_499_548_Open_Text.style.display='none'; Codehighlighter1_499_548_Closed_Image.style.display='inline'; Codehighlighter1_499_548_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_499_548_Closed_Image onclick="this.style.display='none'; Codehighlighter1_499_548_Closed_Text.style.display='none'; Codehighlighter1_499_548_Open_Image.style.display='inline'; Codehighlighter1_499_548_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_499_548_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_499_548_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">a[i];<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[i];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">先每一个sum数组的初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">42</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">调用DP函数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">44</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&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></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></span></div>
</div>
<p><br><br>&nbsp;</p>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-20 18:32 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/20/120893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数塔(经典的dp hdu 2084)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/20/120889.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Tue, 20 Jul 2010 09:09:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/20/120889.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120889.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/20/120889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120889.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120889.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 题目来源：<a href="http://acm.hdu.edu.cn/showproblem.php?pid=2084">http://acm.hdu.edu.cn/showproblem.php?pid=2084</a><br>
<h1 style="COLOR: #1a5cc8" align=center>数塔</h1>
<p align=center><font size=+0><strong><span style="FONT-FAMILY: Arial; COLOR: green; FONT-SIZE: 12px; FONT-WEIGHT: bold">Time Limit: 1000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 32768/32768 K (Java/Others)<br>Total Submission(s): 4634&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 2744<br></span></strong></font><br><br></p>
<div class=panel_title align=left>Problem Description</div>
<div class=panel_content>在讲述DP算法的时候，一个经典的例子就是数塔问题，它是这样描述的：<br><br>有如下所示的数塔，要求从顶层走到底层，若每一步只能走到相邻的结点，则经过的结点的数字之和最大是多少？<br><img src="http://acm.hdu.edu.cn/data/images/C44-1004-1.bmp"><br>已经告诉你了，这是个DP的题目，你能AC吗?</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Input</div>
<div class=panel_content>输入数据首先包括一个整数C,表示测试实例的个数，每个测试实例的第一行是一个整数N(1 &lt;= N &lt;= 100)，表示数塔的高度，接下来用N行数字表示数塔，其中第i行有个i个整数，且所有的整数均在区间[0,99]内。<br></div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Output</div>
<div class=panel_content>对于每个测试实例，输出可能得到的最大和，每个实例的输出占一行。<br></div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Sample Input</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">1
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5</div>
</pre>
</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Sample Output</div>
<div class=panel_content>
<pre>
<div style="FONT-FAMILY: Courier New,Courier,monospace">30</div>
</pre>
</div>
<div class=panel_bottom>&nbsp;</div>
<br>
<div class=panel_title align=left>Source</div>
<div class=panel_content><a href="http://acm.hdu.edu.cn/search.php?field=problem&amp;key=2006/1/15 ACM程序设计期末考试&amp;source=1&amp;searchmode=source"><u><font color=#0066cc>2006/1/15 ACM程序设计期末考试 </font></u></a></div>
<div class=panel_bottom>&nbsp;
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img id=Code_Closed_Image_171113 onclick="this.style.display='none'; Code_Closed_Text_171113.style.display='none'; Code_Open_Image_171113.style.display='inline'; Code_Open_Text_171113.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 height=16><img style="DISPLAY: none" id=Code_Open_Image_171113 onclick="this.style.display='none'; Code_Open_Text_171113.style.display='none'; Code_Closed_Image_171113.style.display='inline'; Code_Closed_Text_171113.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 height=16><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Code_Closed_Text_171113>数塔</span><span style="DISPLAY: none" id=Code_Open_Text_171113><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080">&nbsp;1</span><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></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></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;data[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">保存到节点的路径最大值</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">用一维数组保存节点</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">层数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;max(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;b)<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_155_176_Open_Image onclick="this.style.display='none'; Codehighlighter1_155_176_Open_Text.style.display='none'; Codehighlighter1_155_176_Closed_Image.style.display='inline'; Codehighlighter1_155_176_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_155_176_Closed_Image onclick="this.style.display='none'; Codehighlighter1_155_176_Closed_Text.style.display='none'; Codehighlighter1_155_176_Open_Image.style.display='inline'; Codehighlighter1_155_176_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_155_176_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_155_176_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(a</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">a:b);<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;dp()</span><span style="COLOR: #008000">//<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #008000"><img id=Codehighlighter1_191_348_Open_Image onclick="this.style.display='none'; Codehighlighter1_191_348_Open_Text.style.display='none'; Codehighlighter1_191_348_Closed_Image.style.display='inline'; Codehighlighter1_191_348_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_191_348_Closed_Image onclick="this.style.display='none'; Codehighlighter1_191_348_Closed_Text.style.display='none'; Codehighlighter1_191_348_Open_Image.style.display='inline'; Codehighlighter1_191_348_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_191_348_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_191_348_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;data[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">第一个节点直接是自己</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_277_345_Open_Image onclick="this.style.display='none'; Codehighlighter1_277_345_Open_Text.style.display='none'; Codehighlighter1_277_345_Closed_Image.style.display='inline'; Codehighlighter1_277_345_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_277_345_Closed_Image onclick="this.style.display='none'; Codehighlighter1_277_345_Closed_Text.style.display='none'; Codehighlighter1_277_345_Open_Image.style.display='inline'; Codehighlighter1_277_345_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_277_345_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_277_345_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">max(data[i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">],data[i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j])</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a[i][j];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">主要DP代码</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">22</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img id=Codehighlighter1_361_785_Open_Image onclick="this.style.display='none'; Codehighlighter1_361_785_Open_Text.style.display='none'; Codehighlighter1_361_785_Closed_Image.style.display='inline'; Codehighlighter1_361_785_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_361_785_Closed_Image onclick="this.style.display='none'; Codehighlighter1_361_785_Closed_Text.style.display='none'; Codehighlighter1_361_785_Open_Image.style.display='inline'; Codehighlighter1_361_785_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_361_785_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_361_785_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t,i,j,k;<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">t)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">几组数据</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">29</span><span style="COLOR: #008000"><img id=Codehighlighter1_399_772_Open_Image onclick="this.style.display='none'; Codehighlighter1_399_772_Open_Text.style.display='none'; Codehighlighter1_399_772_Closed_Image.style.display='inline'; Codehighlighter1_399_772_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_399_772_Closed_Image onclick="this.style.display='none'; Codehighlighter1_399_772_Closed_Text.style.display='none'; Codehighlighter1_399_772_Open_Image.style.display='inline'; Codehighlighter1_399_772_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_399_772_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_399_772_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">t;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img id=Codehighlighter1_423_769_Open_Image onclick="this.style.display='none'; Codehighlighter1_423_769_Open_Text.style.display='none'; Codehighlighter1_423_769_Closed_Image.style.display='inline'; Codehighlighter1_423_769_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_423_769_Closed_Image onclick="this.style.display='none'; Codehighlighter1_423_769_Closed_Text.style.display='none'; Codehighlighter1_423_769_Open_Image.style.display='inline'; Codehighlighter1_423_769_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_423_769_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_423_769_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(data,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(data));</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">初始化</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(a,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(a));<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">n行数据<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">sum=((1+n)*n)/2;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">节点的总个数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">37</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">输入节点的数据</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #008000"><img id=Codehighlighter1_575_628_Open_Image onclick="this.style.display='none'; Codehighlighter1_575_628_Open_Text.style.display='none'; Codehighlighter1_575_628_Closed_Image.style.display='inline'; Codehighlighter1_575_628_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_575_628_Closed_Image onclick="this.style.display='none'; Codehighlighter1_575_628_Closed_Text.style.display='none'; Codehighlighter1_575_628_Open_Image.style.display='inline'; Codehighlighter1_575_628_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_575_628_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_575_628_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">j;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">a[j][k];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">用一维数组</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">42</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp();</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">调用&nbsp;dp函数</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">44</span><span style="COLOR: #008000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;max</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">data[n][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img id=Codehighlighter1_695_744_Open_Image onclick="this.style.display='none'; Codehighlighter1_695_744_Open_Text.style.display='none'; Codehighlighter1_695_744_Closed_Image.style.display='inline'; Codehighlighter1_695_744_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_695_744_Closed_Image onclick="this.style.display='none'; Codehighlighter1_695_744_Closed_Text.style.display='none'; Codehighlighter1_695_744_Open_Image.style.display='inline'; Codehighlighter1_695_744_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_695_744_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_695_744_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(max</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">data[n][j])<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">data[n][j];<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">max</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&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></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></span></div>
</div>
<br>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-20 17:09 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/20/120889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DFS(交的时候有点问题)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/18/120744.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sun, 18 Jul 2010 15:59:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/18/120744.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120744.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/18/120744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120744.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120744.html</trackback:ping><description><![CDATA[
		<br />
		<h1 style="COLOR: #1a5cc8" align="center">DFS</h1>
		<p align="center">
				<font size="+0">
						<b>
								<span style="FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: green; FONT-FAMILY: Arial">Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 1228    Accepted Submission(s): 724<br /></span>
						</b>
				</font>
				<br />
				<br />
		</p>
		<div class="panel_title" align="left">Problem Description</div>
		<div class="panel_content">A DFS(digital factorial sum) number is found by summing the factorial of every digit of a positive integer. <br /><br />For example ,consider the positive integer 145 = 1!+4!+5!, so it's a DFS number.<br /><br />Now you should find out all the DFS numbers in the range of int( [1, 2147483647] ).<br /><br />There is no input for this problem. Output all the DFS numbers in increasing order. The first 2 lines of the output are shown below.</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Input</div>
		<div class="panel_content">no input</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Output</div>
		<div class="panel_content">Output all the DFS number in increasing order. </div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Output</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">1
2
......</div>
				</pre>
		</div>
		<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">
				<span style="COLOR: #008080"> 1</span>
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">打表的代码，就是将范围之内的全部举出来即可以</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #008000">
						<img id="Codehighlighter1_25_218_Open_Image" onclick="this.style.display='none'; Codehighlighter1_25_218_Open_Text.style.display='none'; Codehighlighter1_25_218_Closed_Image.style.display='inline'; Codehighlighter1_25_218_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_25_218_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_25_218_Closed_Text.style.display='none'; Codehighlighter1_25_218_Open_Image.style.display='inline'; Codehighlighter1_25_218_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_25_218_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">/**/</span>
				<span id="Codehighlighter1_25_218_Open_Text">
						<span style="COLOR: #008000">/*</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 3</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />#include&lt;iostream&gt;<br /></span>
						<span style="COLOR: #008080"> 4</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />#define MAX 5<br /></span>
						<span style="COLOR: #008080"> 5</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />using namespace std;<br /></span>
						<span style="COLOR: #008080"> 6</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />int data[MAX];<br /></span>
						<span style="COLOR: #008080"> 7</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />int main()<br /></span>
						<span style="COLOR: #008080"> 8</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />{<br /></span>
						<span style="COLOR: #008080"> 9</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />data[0]=1;<br /></span>
						<span style="COLOR: #008080">10</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />data[1]=2;<br /></span>
						<span style="COLOR: #008080">11</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />data[2]=145;<br /></span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />data[3]=40585;<br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />int i;<br /></span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />for(i=0;i&lt;=3;i++)<br /></span>
						<span style="COLOR: #008080">15</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />cout&lt;&lt;data[i]&lt;&lt;endl;<br /></span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />return 0;<br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
						<span style="COLOR: #008000">*/</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">18</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">19</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include</span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">iostream</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">20</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">using</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> std;<br /></span>
				<span style="COLOR: #008080">21</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> f[</span>
				<span style="COLOR: #000000">11</span>
				<span style="COLOR: #000000">];<br /></span>
				<span style="COLOR: #008080">22</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> dfs(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> n)</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">深搜,判断n是否是DFS数</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080">23</span>
				<span style="COLOR: #008000">
						<img id="Codehighlighter1_303_472_Open_Image" onclick="this.style.display='none'; Codehighlighter1_303_472_Open_Text.style.display='none'; Codehighlighter1_303_472_Closed_Image.style.display='inline'; Codehighlighter1_303_472_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_303_472_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_303_472_Closed_Text.style.display='none'; Codehighlighter1_303_472_Open_Image.style.display='inline'; Codehighlighter1_303_472_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_303_472_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_303_472_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080">24</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">拿到一个数将要把它的每一位得到,从个位开始</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">25</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> sum</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">,x</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">n;</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">要保留住n</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">26</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(x)<br /></span>
						<span style="COLOR: #008080">27</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_364_405_Open_Image" onclick="this.style.display='none'; Codehighlighter1_364_405_Open_Text.style.display='none'; Codehighlighter1_364_405_Closed_Image.style.display='inline'; Codehighlighter1_364_405_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_364_405_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_364_405_Closed_Text.style.display='none'; Codehighlighter1_364_405_Open_Image.style.display='inline'; Codehighlighter1_364_405_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_364_405_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_364_405_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">28</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        sum</span>
								<span style="COLOR: #000000">+=</span>
								<span style="COLOR: #000000">f[x</span>
								<span style="COLOR: #000000">%</span>
								<span style="COLOR: #000000">10</span>
								<span style="COLOR: #000000">];</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">得到每一位直接求得阶层</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">29</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        x</span>
								<span style="COLOR: #000000">/=</span>
								<span style="COLOR: #000000">10</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">31</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(sum</span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000">n)</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">如果每一位的阶层之和和n相同则return true;</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">32</span>
						<span style="COLOR: #008000">
								<img id="Codehighlighter1_449_469_Open_Image" onclick="this.style.display='none'; Codehighlighter1_449_469_Open_Text.style.display='none'; Codehighlighter1_449_469_Closed_Image.style.display='inline'; Codehighlighter1_449_469_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_449_469_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_449_469_Closed_Text.style.display='none'; Codehighlighter1_449_469_Open_Image.style.display='inline'; Codehighlighter1_449_469_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span id="Codehighlighter1_449_469_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_449_469_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">33</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cout</span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000">n</span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000">endl;<br /></span>
								<span style="COLOR: #008080">34</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">    <br /></span>
						<span style="COLOR: #008080">35</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">36</span>
				<span style="COLOR: #000000">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main()<br /></span>
				<span style="COLOR: #008080">37</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_485_629_Open_Image" onclick="this.style.display='none'; Codehighlighter1_485_629_Open_Text.style.display='none'; Codehighlighter1_485_629_Closed_Image.style.display='inline'; Codehighlighter1_485_629_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_485_629_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_485_629_Closed_Text.style.display='none'; Codehighlighter1_485_629_Open_Image.style.display='inline'; Codehighlighter1_485_629_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_485_629_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_485_629_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080">38</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memset(f,</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #0000ff">sizeof</span>
						<span style="COLOR: #000000">(f));</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">初始化</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">39</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i;<br /></span>
						<span style="COLOR: #008080">40</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    f[</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;<br /></span>
						<span style="COLOR: #008080">41</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000">(i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">&lt;=</span>
						<span style="COLOR: #000000">10</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">得到个位的阶层</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080">42</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">        f[i]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">i</span>
						<span style="COLOR: #000000">*</span>
						<span style="COLOR: #000000">f[i</span>
						<span style="COLOR: #000000">-</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">];<br /></span>
						<span style="COLOR: #008080">43</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000">(i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">&lt;=</span>
						<span style="COLOR: #000000">2147483647</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)<br /></span>
						<span style="COLOR: #008080">44</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        dfs(i);    <br /></span>
						<span style="COLOR: #008080">45</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /></span>
						<span style="COLOR: #008080">46</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-18 23:59 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/18/120744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>H__恶魔猎手会飞了(2009年院赛题目（有关搜索题目------bfs广搜试手）)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/18/120721.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sun, 18 Jul 2010 12:08:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/18/120721.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120721.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/18/120721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120721.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120721.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: H__恶魔猎手会飞了				Time Limit:3000MS  Memory Limit:65536KTotal Submit:60 Accepted:15 												Description												恶魔猎手成功拿到了古尔丹之颅，吸收了古尔丹之颅的力量后，恶魔猎手全身变的一片漆黑，后背上也长出了一对翅膀，也就是说：他会飞了！！ 兴奋...&nbsp;&nbsp;<a href='http://www.cppblog.com/qiangwei/archive/2010/07/18/120721.html'>阅读全文</a><img src ="http://www.cppblog.com/qiangwei/aggbug/120721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-18 20:08 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/18/120721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Prime Ring Problem(经典的搜索题目)</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/18/120693.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sun, 18 Jul 2010 06:13:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/18/120693.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120693.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/18/120693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120693.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120693.html</trackback:ping><description><![CDATA[
		<h1 style="COLOR: #1a5cc8">Prime Ring Problem</h1>
		<font size="+0">
				<b>
						<span style="FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: green; FONT-FAMILY: Arial">Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 5409    Accepted Submission(s): 2402<br /></span>
				</b>
		</font>
		<br />
		<br />
		<div class="panel_title" align="left">Problem Description</div>
		<div class="panel_content">A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.<br /><br />Note: the number of first circle should always be 1.<br /><br /><img src="http://acm.hdu.edu.cn/data/images/1016-1.gif" /><br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Input</div>
		<div class="panel_content">n (0 &lt; n &lt; 20).<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Output</div>
		<div class="panel_content">The output format is shown as sample below. Each row represents a series of circle numbers in the ring beginning from 1 clockwisely and anticlockwisely. The order of numbers must satisfy the above requirements. Print solutions in lexicographical order.<br /><br />You are to write a program that completes above process.<br /><br />Print a blank line after each case.<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Input</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">6
8</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Output</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">Case 1:
1 4 3 2 5 6
1 6 5 2 3 4

Case 2:
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Source</div>
		<div class="panel_content">
				<a href="http://acm.hdu.edu.cn/search.php?field=problem&amp;key=Asia 1996, Shanghai (Mainland China)&amp;source=1&amp;searchmode=source">Asia 1996, Shanghai (Mainland China) </a>
		</div>
		<div class="panel_bottom"> </div>
		<div class="panel_title" align="left">
				<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 id="Code_Closed_Image_145747" onclick="this.style.display='none'; Code_Closed_Text_145747.style.display='none'; Code_Open_Image_145747.style.display='inline'; Code_Open_Text_145747.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />
						<img id="Code_Open_Image_145747" style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_145747.style.display='none'; Code_Closed_Image_145747.style.display='inline'; Code_Closed_Text_145747.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" />
						<span id="Code_Closed_Text_145747" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">搜索</span>
						<span id="Code_Open_Text_145747" style="DISPLAY: none">
								<br />
								<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
								<span style="COLOR: #008080"> 1</span>
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								<span style="COLOR: #000000">#include</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">iostream</span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080"> 2</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">using</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">namespace</span>
								<span style="COLOR: #000000"> std;<br /></span>
								<span style="COLOR: #008080"> 3</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">在50以内的素数堆</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 4</span>
								<span style="COLOR: #008000">
										<img id="Codehighlighter1_65_153_Open_Image" onclick="this.style.display='none'; Codehighlighter1_65_153_Open_Text.style.display='none'; Codehighlighter1_65_153_Closed_Image.style.display='inline'; Codehighlighter1_65_153_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
										<img id="Codehighlighter1_65_153_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_65_153_Closed_Text.style.display='none'; Codehighlighter1_65_153_Open_Image.style.display='inline'; Codehighlighter1_65_153_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> prim[</span>
								<span style="COLOR: #000000">50</span>
								<span style="COLOR: #000000">]</span>
								<span style="COLOR: #000000">=</span>
								<span id="Codehighlighter1_65_153_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_65_153_Open_Text">
										<span style="COLOR: #000000">{</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">2</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">3</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">5</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">7</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">11</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">13</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">17</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">19</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">23</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">29</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">31</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">37</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">}</span>
								</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">由于范围是在n (0 &lt; n &lt; 20).所以最大的是19+20=39</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 5</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> n,t;<br /></span>
								<span style="COLOR: #008080"> 6</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> pre_num[</span>
								<span style="COLOR: #000000">21</span>
								<span style="COLOR: #000000">];</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">用来保存要输出的数组</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 7</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">bool</span>
								<span style="COLOR: #000000"> used[</span>
								<span style="COLOR: #000000">21</span>
								<span style="COLOR: #000000">];</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">记录是否这个用到数字</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 8</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080"> 9</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">void</span>
								<span style="COLOR: #000000"> dfs(</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> v,</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> num)</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">num记录的map数组的满足条件的个数,V是当前的一点</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">10</span>
								<span style="COLOR: #008000">
										<img id="Codehighlighter1_312_815_Open_Image" onclick="this.style.display='none'; Codehighlighter1_312_815_Open_Text.style.display='none'; Codehighlighter1_312_815_Closed_Image.style.display='inline'; Codehighlighter1_312_815_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
										<img id="Codehighlighter1_312_815_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_312_815_Closed_Text.style.display='none'; Codehighlighter1_312_815_Open_Image.style.display='inline'; Codehighlighter1_312_815_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
								</span>
								<span id="Codehighlighter1_312_815_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_312_815_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">11</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> i;<br /></span>
										<span style="COLOR: #008080">12</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(num</span>
										<span style="COLOR: #000000">==</span>
										<span style="COLOR: #000000">n)</span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">结尾的条件num==n,还要测试是否是环</span>
										<span style="COLOR: #008000">
												<br />
										</span>
										<span style="COLOR: #008080">13</span>
										<span style="COLOR: #008000">
												<img id="Codehighlighter1_357_513_Open_Image" onclick="this.style.display='none'; Codehighlighter1_357_513_Open_Text.style.display='none'; Codehighlighter1_357_513_Closed_Image.style.display='inline'; Codehighlighter1_357_513_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_357_513_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_357_513_Closed_Text.style.display='none'; Codehighlighter1_357_513_Open_Image.style.display='inline'; Codehighlighter1_357_513_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">    </span>
										<span id="Codehighlighter1_357_513_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_357_513_Open_Text">
												<span style="COLOR: #000000">{<br /></span>
												<span style="COLOR: #008080">14</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(prim[v</span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">]</span>
												<span style="COLOR: #000000">!=</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">是素数,形成一个素数环</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">15</span>
												<span style="COLOR: #008000">
														<img id="Codehighlighter1_393_499_Open_Image" onclick="this.style.display='none'; Codehighlighter1_393_499_Open_Text.style.display='none'; Codehighlighter1_393_499_Closed_Image.style.display='inline'; Codehighlighter1_393_499_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_393_499_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_393_499_Closed_Text.style.display='none'; Codehighlighter1_393_499_Open_Image.style.display='inline'; Codehighlighter1_393_499_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">        </span>
												<span id="Codehighlighter1_393_499_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_393_499_Open_Text">
														<span style="COLOR: #000000">{<br /></span>
														<span style="COLOR: #008080">16</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            cout</span>
														<span style="COLOR: #000000">&lt;&lt;</span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000">;<br /></span>
														<span style="COLOR: #008080">17</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
														<span style="COLOR: #0000ff">for</span>
														<span style="COLOR: #000000">(i</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">2</span>
														<span style="COLOR: #000000">;i</span>
														<span style="COLOR: #000000">&lt;</span>
														<span style="COLOR: #000000">t;i</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">)<br /></span>
														<span style="COLOR: #008080">18</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                cout</span>
														<span style="COLOR: #000000">&lt;&lt;</span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">"</span>
														<span style="COLOR: #000000">&lt;&lt;</span>
														<span style="COLOR: #000000">pre_num[i];</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">就是先打一个空格再打数字可以避免最后多余的空格</span>
														<span style="COLOR: #008000">
																<br />
														</span>
														<span style="COLOR: #008080">19</span>
														<span style="COLOR: #008000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">            cout</span>
														<span style="COLOR: #000000">&lt;&lt;</span>
														<span style="COLOR: #000000">endl;    <br /></span>
														<span style="COLOR: #008080">20</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
												</span>
												<span style="COLOR: #008080">21</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
												<span style="COLOR: #0000ff">return</span>
												<span style="COLOR: #000000"> ;<br /></span>
												<span style="COLOR: #008080">22</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
										</span>
										<span style="COLOR: #008080">23</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">else</span>
										<span style="COLOR: #000000">
												<br />
										</span>
										<span style="COLOR: #008080">24</span>
										<span style="COLOR: #000000">
												<img id="Codehighlighter1_522_811_Open_Image" onclick="this.style.display='none'; Codehighlighter1_522_811_Open_Text.style.display='none'; Codehighlighter1_522_811_Closed_Image.style.display='inline'; Codehighlighter1_522_811_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_522_811_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_522_811_Closed_Text.style.display='none'; Codehighlighter1_522_811_Open_Image.style.display='inline'; Codehighlighter1_522_811_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
										<span id="Codehighlighter1_522_811_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_522_811_Open_Text">
												<span style="COLOR: #000000">{<br /></span>
												<span style="COLOR: #008080">25</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
												<span style="COLOR: #0000ff">for</span>
												<span style="COLOR: #000000">(i</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">2</span>
												<span style="COLOR: #000000">;i</span>
												<span style="COLOR: #000000">&lt;=</span>
												<span style="COLOR: #000000">n;i</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">)<br /></span>
												<span style="COLOR: #008080">26</span>
												<span style="COLOR: #000000">
														<img id="Codehighlighter1_546_805_Open_Image" onclick="this.style.display='none'; Codehighlighter1_546_805_Open_Text.style.display='none'; Codehighlighter1_546_805_Closed_Image.style.display='inline'; Codehighlighter1_546_805_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_546_805_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_546_805_Closed_Text.style.display='none'; Codehighlighter1_546_805_Open_Image.style.display='inline'; Codehighlighter1_546_805_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
												<span id="Codehighlighter1_546_805_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_546_805_Open_Text">
														<span style="COLOR: #000000">{<br /></span>
														<span style="COLOR: #008080">27</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
														<span style="COLOR: #0000ff">if</span>
														<span style="COLOR: #000000">( used[i]</span>
														<span style="COLOR: #000000">==</span>
														<span style="COLOR: #0000ff">false</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">&amp;&amp;</span>
														<span style="COLOR: #000000"> prim[i</span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000">v]</span>
														<span style="COLOR: #000000">!=</span>
														<span style="COLOR: #000000">0</span>
														<span style="COLOR: #000000"> )</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">没有记录在内并且满足条件(是素数)</span>
														<span style="COLOR: #008000">
																<br />
														</span>
														<span style="COLOR: #008080">28</span>
														<span style="COLOR: #008000">
																<img id="Codehighlighter1_610_800_Open_Image" onclick="this.style.display='none'; Codehighlighter1_610_800_Open_Text.style.display='none'; Codehighlighter1_610_800_Closed_Image.style.display='inline'; Codehighlighter1_610_800_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
																<img id="Codehighlighter1_610_800_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_610_800_Closed_Text.style.display='none'; Codehighlighter1_610_800_Open_Image.style.display='inline'; Codehighlighter1_610_800_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">            </span>
														<span id="Codehighlighter1_610_800_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_610_800_Open_Text">
																<span style="COLOR: #000000">{<br /></span>
																<span style="COLOR: #008080">29</span>
																<span style="COLOR: #000000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                used[i]</span>
																<span style="COLOR: #000000">=</span>
																<span style="COLOR: #0000ff">true</span>
																<span style="COLOR: #000000">;</span>
																<span style="COLOR: #008000">//</span>
																<span style="COLOR: #008000">先标记过</span>
																<span style="COLOR: #008000">
																		<br />
																</span>
																<span style="COLOR: #008080">30</span>
																<span style="COLOR: #008000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
																</span>
																<span style="COLOR: #000000">
																		<br />
																</span>
																<span style="COLOR: #008080">31</span>
																<span style="COLOR: #000000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                pre_num[t</span>
																<span style="COLOR: #000000">++</span>
																<span style="COLOR: #000000">]</span>
																<span style="COLOR: #000000">=</span>
																<span style="COLOR: #000000">i;</span>
																<span style="COLOR: #008000">//</span>
																<span style="COLOR: #008000">再添加到数组中</span>
																<span style="COLOR: #008000">
																		<br />
																</span>
																<span style="COLOR: #008080">32</span>
																<span style="COLOR: #008000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
																</span>
																<span style="COLOR: #000000">
																		<br />
																</span>
																<span style="COLOR: #008080">33</span>
																<span style="COLOR: #000000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                dfs(i,num</span>
																<span style="COLOR: #000000">+</span>
																<span style="COLOR: #000000">1</span>
																<span style="COLOR: #000000">);</span>
																<span style="COLOR: #008000">//</span>
																<span style="COLOR: #008000">递归的两个参数一个代表满足和前面一个数相加为素数的条件，后面一个为num</span>
																<span style="COLOR: #008000">
																		<br />
																</span>
																<span style="COLOR: #008080">34</span>
																<span style="COLOR: #008000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
																</span>
																<span style="COLOR: #000000">                <br /></span>
																<span style="COLOR: #008080">35</span>
																<span style="COLOR: #000000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                used[i]</span>
																<span style="COLOR: #000000">=</span>
																<span style="COLOR: #0000ff">false</span>
																<span style="COLOR: #000000">;</span>
																<span style="COLOR: #008000">//</span>
																<span style="COLOR: #008000">回溯,搜索的关键</span>
																<span style="COLOR: #008000">
																		<br />
																</span>
																<span style="COLOR: #008080">36</span>
																<span style="COLOR: #008000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
																</span>
																<span style="COLOR: #000000">            <br /></span>
																<span style="COLOR: #008080">37</span>
																<span style="COLOR: #000000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                t</span>
																<span style="COLOR: #000000">--</span>
																<span style="COLOR: #000000">;</span>
																<span style="COLOR: #008000">//</span>
																<span style="COLOR: #008000">回溯的时候数组num要减1</span>
																<span style="COLOR: #008000">
																		<br />
																</span>
																<span style="COLOR: #008080">38</span>
																<span style="COLOR: #008000">
																		<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
																</span>
																<span style="COLOR: #000000">            }</span>
														</span>
														<span style="COLOR: #000000">
																<br />
														</span>
														<span style="COLOR: #008080">39</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
																<br />
														</span>
														<span style="COLOR: #008080">40</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
												</span>
												<span style="COLOR: #008080">41</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
												<span style="COLOR: #008080">42</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
										</span>
										<span style="COLOR: #008080">43</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
										<span style="COLOR: #008080">44</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">45</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> main()<br /></span>
								<span style="COLOR: #008080">46</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_828_1104_Open_Image" onclick="this.style.display='none'; Codehighlighter1_828_1104_Open_Text.style.display='none'; Codehighlighter1_828_1104_Closed_Image.style.display='inline'; Codehighlighter1_828_1104_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
										<img id="Codehighlighter1_828_1104_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_828_1104_Closed_Text.style.display='none'; Codehighlighter1_828_1104_Open_Image.style.display='inline'; Codehighlighter1_828_1104_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
								</span>
								<span id="Codehighlighter1_828_1104_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_828_1104_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">47</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> cas</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">48</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">while</span>
										<span style="COLOR: #000000">(cin</span>
										<span style="COLOR: #000000">&gt;&gt;</span>
										<span style="COLOR: #000000">n)<br /></span>
										<span style="COLOR: #008080">49</span>
										<span style="COLOR: #000000">
												<img id="Codehighlighter1_858_1089_Open_Image" onclick="this.style.display='none'; Codehighlighter1_858_1089_Open_Text.style.display='none'; Codehighlighter1_858_1089_Closed_Image.style.display='inline'; Codehighlighter1_858_1089_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_858_1089_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_858_1089_Closed_Text.style.display='none'; Codehighlighter1_858_1089_Open_Image.style.display='inline'; Codehighlighter1_858_1089_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
										<span id="Codehighlighter1_858_1089_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_858_1089_Open_Text">
												<span style="COLOR: #000000">{<br /></span>
												<span style="COLOR: #008080">50</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cout</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">Case </span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">cas</span>
												<span style="COLOR: #000000">++&lt;&lt;</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">:</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">endl;<br /></span>
												<span style="COLOR: #008080">51</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        memset(used,</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">,</span>
												<span style="COLOR: #0000ff">sizeof</span>
												<span style="COLOR: #000000">(used));<br /></span>
												<span style="COLOR: #008080">52</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														<br />
												</span>
												<span style="COLOR: #008080">53</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        used[</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #0000ff">true</span>
												<span style="COLOR: #000000">;</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">开始永远是1,Note: the number of first circle should always be 1.</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">54</span>
												<span style="COLOR: #008000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">        t</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">;<br /></span>
												<span style="COLOR: #008080">55</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        pre_num[t</span>
												<span style="COLOR: #000000">++</span>
												<span style="COLOR: #000000">]</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">;</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">t是记录数组中暂时的个数</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">56</span>
												<span style="COLOR: #008000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">
														<br />
												</span>
												<span style="COLOR: #008080">57</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        dfs(</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">,</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">);</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">从1开始</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">58</span>
												<span style="COLOR: #008000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">        cout</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">endl;</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">最后还有一个大换行    </span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">59</span>
												<span style="COLOR: #008000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
												</span>
												<span style="COLOR: #000000">    }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
										</span>
										<span style="COLOR: #008080">60</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
										<span style="COLOR: #008080">61</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
										<span style="COLOR: #0000ff">return</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;<br /></span>
										<span style="COLOR: #008080">62</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">63</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								</span>
						</span>
				</div>
		</div>
		<br />
<img src ="http://www.cppblog.com/qiangwei/aggbug/120693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-18 14:13 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/18/120693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Fire Net</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/18/120687.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sun, 18 Jul 2010 04:58:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/18/120687.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120687.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/18/120687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120687.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120687.html</trackback:ping><description><![CDATA[
		<p>Suppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall. 
</p>
		<p>A blockhouse is a small castle that has four openings through which to shoot. The four openings are facing North, East, South, and West, respectively. There will be one machine gun shooting through each opening. 
</p>
		<p>Here we assume that a bullet is so powerful that it can run across any distance and destroy a blockhouse on its way. On the other hand, a wall is so strongly built that can stop the bullets. 
</p>
		<p>The goal is to place as <i>many</i> blockhouses in a city as possible so that no two can destroy each other. A configuration of blockhouses is <b><i>legal</i></b> provided that no two blockhouses are on the same horizontal row or vertical column in a map unless there is at least one wall separating them. In this problem we will consider small square cities (at most 4x4) that contain walls through which bullets cannot run through. 
</p>
		<p>The following image shows five pictures of the same board. The first picture is the empty board, the second and third pictures show legal configurations, and the fourth and fifth pictures show illegal configurations. For this board, the maximum number of blockhouses in a legal configuration is 5; the second picture shows one way to do it, but there are several other ways. 
</p>
		<p>
		</p>
		<center>
				<img height="152" src="http://acm.zju.edu.cn/onlinejudge/showImage.do?name=0000%2F1002%2F1002.gif" width="800" />
		</center>
		<p>Your task is to write a program that, given a description of a map, calculates the maximum number of blockhouses that can be placed in the city in a legal configuration. 
</p>
		<p>The input file contains one or more map descriptions, followed by a line containing the number 0 that signals the end of the file. Each map description begins with a line containing a positive integer <i>n</i> that is the size of the city; <i>n</i> will be at most 4. The next <i>n</i> lines each describe one row of the map, with a '<tt>.</tt>' indicating an open space and an uppercase '<tt>X</tt>' indicating a wall. There are no spaces in the input file. 
</p>
		<p>For each test case, output one line containing the maximum number of blockhouses that can be placed in the city in a legal configuration. 
</p>
		<p>
				<b>Sample input:</b>
		</p>
		<pre>4
.X..
....
XX..
....
2
XX
.X
3
.X.
X.X
.X.
3
...
.XX
.XX
4
....
....
....
....
0
</pre>
		<p>
				<b>Sample output:</b>
		</p>
		<pre>5
1
5
2
4
<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 id="Code_Closed_Image_125751" onclick="this.style.display='none'; Code_Closed_Text_125751.style.display='none'; Code_Open_Image_125751.style.display='inline'; Code_Open_Text_125751.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_125751" style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_125751.style.display='none'; Code_Closed_Image_125751.style.display='inline'; Code_Closed_Text_125751.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_125751" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Fire Net</span><span id="Code_Open_Text_125751" style="DISPLAY: none"><br /><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080"> 1</span><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> map[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">地图</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n,maxsum;<br /></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> canput(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> row,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> col)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">判断这点是否可以放置堡垒</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #008000"><img id="Codehighlighter1_119_433_Open_Image" onclick="this.style.display='none'; Codehighlighter1_119_433_Open_Text.style.display='none'; Codehighlighter1_119_433_Closed_Image.style.display='inline'; Codehighlighter1_119_433_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_119_433_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_119_433_Closed_Text.style.display='none'; Codehighlighter1_119_433_Open_Image.style.display='inline'; Codehighlighter1_119_433_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_119_433_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_119_433_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i,j;<br /></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">测试是否可以放碉堡，就是是否有危险<br /></span><span style="COLOR: #008080">11</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span><span style="COLOR: #008080">12</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">先测试col列方向上的</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">13</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">row</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">i)<br /></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img id="Codehighlighter1_195_295_Open_Image" onclick="this.style.display='none'; Codehighlighter1_195_295_Open_Text.style.display='none'; Codehighlighter1_195_295_Closed_Image.style.display='inline'; Codehighlighter1_195_295_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_195_295_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_195_295_Closed_Text.style.display='none'; Codehighlighter1_195_295_Open_Image.style.display='inline'; Codehighlighter1_195_295_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_195_295_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_195_295_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(map[i][col]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">O</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果这列上有碉堡</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">17</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(map[i][col]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">X</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">) </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">如果先遇到的是墙即可以放</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">19</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        <br /></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从row行方向上的</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">22</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">col</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">j)<br /></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img id="Codehighlighter1_334_413_Open_Image" onclick="this.style.display='none'; Codehighlighter1_334_413_Open_Text.style.display='none'; Codehighlighter1_334_413_Closed_Image.style.display='inline'; Codehighlighter1_334_413_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_334_413_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_334_413_Closed_Text.style.display='none'; Codehighlighter1_334_413_Open_Image.style.display='inline'; Codehighlighter1_334_413_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_334_413_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_334_413_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(map[row][j]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">O</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(map[row][j]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">X</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> dfs(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> num)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">深搜的关键,行向走的，先遍历完一行再遍历一行</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">36</span><span style="COLOR: #008000"><img id="Codehighlighter1_484_880_Open_Image" onclick="this.style.display='none'; Codehighlighter1_484_880_Open_Text.style.display='none'; Codehighlighter1_484_880_Closed_Image.style.display='inline'; Codehighlighter1_484_880_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_484_880_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_484_880_Closed_Text.style.display='none'; Codehighlighter1_484_880_Open_Image.style.display='inline'; Codehighlighter1_484_880_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_484_880_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_484_880_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x,y;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">代表行号和列号</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">38</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">n)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">终止条件</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">39</span><span style="COLOR: #008000"><img id="Codehighlighter1_524_579_Open_Image" onclick="this.style.display='none'; Codehighlighter1_524_579_Open_Text.style.display='none'; Codehighlighter1_524_579_Closed_Image.style.display='inline'; Codehighlighter1_524_579_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_524_579_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_524_579_Closed_Text.style.display='none'; Codehighlighter1_524_579_Open_Image.style.display='inline'; Codehighlighter1_524_579_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span id="Codehighlighter1_524_579_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_524_579_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(maxsum</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">num)<br /></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img id="Codehighlighter1_545_576_Open_Image" onclick="this.style.display='none'; Codehighlighter1_545_576_Open_Text.style.display='none'; Codehighlighter1_545_576_Closed_Image.style.display='inline'; Codehighlighter1_545_576_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_545_576_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_545_576_Closed_Text.style.display='none'; Codehighlighter1_545_576_Open_Image.style.display='inline'; Codehighlighter1_545_576_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_545_576_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_545_576_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            maxsum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">num;<br /></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ;<br /></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img id="Codehighlighter1_589_875_Open_Image" onclick="this.style.display='none'; Codehighlighter1_589_875_Open_Text.style.display='none'; Codehighlighter1_589_875_Closed_Image.style.display='inline'; Codehighlighter1_589_875_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_589_875_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_589_875_Closed_Text.style.display='none'; Codehighlighter1_589_875_Open_Image.style.display='inline'; Codehighlighter1_589_875_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_589_875_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_589_875_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        x</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">n;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">行号</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">49</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        y</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">k</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">列号<br /></span><span style="COLOR: #008080">50</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span><span style="COLOR: #008080">51</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">满足条件可以放堡垒</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">52</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((map[x][y]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(canput(x,y)</span><span style="COLOR: #000000">==</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">))<br /></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img id="Codehighlighter1_680_824_Open_Image" onclick="this.style.display='none'; Codehighlighter1_680_824_Open_Text.style.display='none'; Codehighlighter1_680_824_Closed_Image.style.display='inline'; Codehighlighter1_680_824_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_680_824_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_680_824_Closed_Text.style.display='none'; Codehighlighter1_680_824_Open_Image.style.display='inline'; Codehighlighter1_680_824_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_680_824_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_680_824_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当前点是空白处，并且可以放置碉堡</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">55</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            map[x][y]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">O</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">代替了visit[x][y]==1,来放置堡垒</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">56</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            dfs(k</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,num</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">进入下一个递归,由于满足条件可以放置堡垒，所以num+1</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">57</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            map[x][y]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">回溯</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">58</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            <br /></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        dfs(k</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,num);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">有两种用途一种是没有满足条件的递归，还有一种是回溯以后的递归</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">61</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">    }</span></span><span style="COLOR: #000000">    <br /></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img id="Codehighlighter1_893_1115_Open_Image" onclick="this.style.display='none'; Codehighlighter1_893_1115_Open_Text.style.display='none'; Codehighlighter1_893_1115_Closed_Image.style.display='inline'; Codehighlighter1_893_1115_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_893_1115_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_893_1115_Closed_Text.style.display='none'; Codehighlighter1_893_1115_Open_Image.style.display='inline'; Codehighlighter1_893_1115_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_893_1115_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_893_1115_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i,j;<br /></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">( cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> n )<br /></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img id="Codehighlighter1_928_1100_Open_Image" onclick="this.style.display='none'; Codehighlighter1_928_1100_Open_Text.style.display='none'; Codehighlighter1_928_1100_Closed_Image.style.display='inline'; Codehighlighter1_928_1100_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_928_1100_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_928_1100_Closed_Text.style.display='none'; Codehighlighter1_928_1100_Open_Image.style.display='inline'; Codehighlighter1_928_1100_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_928_1100_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_928_1100_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">输入地图的数据</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">70</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img id="Codehighlighter1_963_1021_Open_Image" onclick="this.style.display='none'; Codehighlighter1_963_1021_Open_Text.style.display='none'; Codehighlighter1_963_1021_Closed_Image.style.display='inline'; Codehighlighter1_963_1021_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_963_1021_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_963_1021_Closed_Text.style.display='none'; Codehighlighter1_963_1021_Open_Image.style.display='inline'; Codehighlighter1_963_1021_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_963_1021_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_963_1021_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            getchar();<br /></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">74</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">map[i][j];<br /></span><span style="COLOR: #008080">75</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">76</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">初始化</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">77</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        maxsum</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">开始深搜</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">79</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        dfs(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">从第一个结点开始搜索</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">80</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">maxsum</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;    <br /></span><span style="COLOR: #008080">81</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">82</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span><span style="COLOR: #008080">83</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #008080">84</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></span></div></pre>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-18 12:58 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/18/120687.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ignatius and the Princess III（杭电1028（动态规划））</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/11/120053.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sat, 10 Jul 2010 16:30:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/11/120053.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/120053.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/11/120053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/120053.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/120053.html</trackback:ping><description><![CDATA[
		<h1 style="COLOR: #1a5cc8">Ignatius and the Princess III</h1>
		<font size="+0">
				<b>
						<span style="FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: green; FONT-FAMILY: Arial">Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 3088    Accepted Submission(s): 2133<br /></span>
				</b>
		</font>
		<br />
		<br />
		<div class="panel_title" align="left">Problem Description</div>
		<div class="panel_content">"Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says.<br /><br />"The second problem is, given an positive integer N, we define an equation like this:<br />  N=a[1]+a[2]+a[3]+...+a[m];<br />  a[i]&gt;0,1&lt;=m&lt;=N;<br />My question is how many different equations you can find for a given N.<br />For example, assume N is 4, we can find:<br />  4 = 4;<br />  4 = 3 + 1;<br />  4 = 2 + 2;<br />  4 = 2 + 1 + 1;<br />  4 = 1 + 1 + 1 + 1;<br />so the result is 5 when N is 4. Note that "4 = 3 + 1" and "4 = 1 + 3" is the same in this problem. Now, you do it!"<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Input</div>
		<div class="panel_content">The input contains several test cases. Each test case contains a positive integer N(1&lt;=N&lt;=120) which is mentioned above. The input is terminated by the end of file.<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Output</div>
		<div class="panel_content">For each test case, you have to output a line contains an integer P which indicate the different equations you have found.<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Input</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">4
10
20</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Output</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">5
42
627</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Author</div>
		<div class="panel_content">Ignatius.L</div>
		<br />
		<br />
		<br />
		<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 id="Code_Closed_Image_002952" onclick="this.style.display='none'; Code_Closed_Text_002952.style.display='none'; Code_Open_Image_002952.style.display='inline'; Code_Open_Text_002952.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />
				<img id="Code_Open_Image_002952" style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_002952.style.display='none'; Code_Closed_Image_002952.style.display='inline'; Code_Closed_Text_002952.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" />
				<span id="Code_Closed_Text_002952" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
				</span>
				<span id="Code_Open_Text_002952" style="DISPLAY: none">
						<br />
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="COLOR: #008080"> 1</span>
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">动归是自下而上</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 2</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #000000">#include</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">iostream</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080"> 3</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">namespace</span>
						<span style="COLOR: #000000"> std;<br /></span>
						<span style="COLOR: #008080"> 4</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> f[</span>
						<span style="COLOR: #000000">121</span>
						<span style="COLOR: #000000">][</span>
						<span style="COLOR: #000000">121</span>
						<span style="COLOR: #000000">];<br /></span>
						<span style="COLOR: #008080"> 5</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> dp(</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> n,</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> k)</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">f[5][1]=f[4][1]+f[3][2]+f[2][3]+f[1][4]+f[0][5]</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 6</span>
						<span style="COLOR: #008000">
								<img id="Codehighlighter1_136_481_Open_Image" onclick="this.style.display='none'; Codehighlighter1_136_481_Open_Text.style.display='none'; Codehighlighter1_136_481_Closed_Image.style.display='inline'; Codehighlighter1_136_481_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
								<img id="Codehighlighter1_136_481_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_136_481_Closed_Text.style.display='none'; Codehighlighter1_136_481_Open_Image.style.display='inline'; Codehighlighter1_136_481_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
						</span>
						<span id="Codehighlighter1_136_481_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_136_481_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080"> 7</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(n</span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">) </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">所以f[0][5]=1,就是代表的是5=5</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 8</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(n</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">k) </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">就是f[1][4]一不能分了=0</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 9</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(n</span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000">k)</span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">相当与f[2][2]=1,就是2+2一种</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">10</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(f[n][k]</span>
								<span style="COLOR: #000000">!=-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)</span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> f[n][k];</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">不用重复计算</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">11</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    f[n][k]</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">没有初始化的就先赋值为0;</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">12</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> i</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">k;i</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">n;i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">以k为最小开始将n分开</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">13</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        f[n][k]</span>
								<span style="COLOR: #000000">+=</span>
								<span style="COLOR: #000000">dp(n</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">i,i);</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">f[5][1]=f[4][1]+f[3][2]+f[2][3]+f[1][4]+f[0][5]</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">14</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> f[n][k];    <br /></span>
								<span style="COLOR: #008080">15</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">16</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> main()<br /></span>
						<span style="COLOR: #008080">17</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_494_635_Open_Image" onclick="this.style.display='none'; Codehighlighter1_494_635_Open_Text.style.display='none'; Codehighlighter1_494_635_Closed_Image.style.display='inline'; Codehighlighter1_494_635_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
								<img id="Codehighlighter1_494_635_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_494_635_Closed_Text.style.display='none'; Codehighlighter1_494_635_Open_Image.style.display='inline'; Codehighlighter1_494_635_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
						</span>
						<span id="Codehighlighter1_494_635_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_494_635_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">18</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> n;<br /></span>
								<span style="COLOR: #008080">19</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memset(f,</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">,</span>
								<span style="COLOR: #0000ff">sizeof</span>
								<span style="COLOR: #000000">(f));</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">初始化将f[][]数组的值全部赋值为-1</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">20</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">while</span>
								<span style="COLOR: #000000">(cin</span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000">n)<br /></span>
								<span style="COLOR: #008080">21</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cout</span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000">dp(n,</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)</span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000">endl;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">假设n=5,则就是f(5,1)</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">22</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">23</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
						</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/qiangwei/aggbug/120053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-11 00:30 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/11/120053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Max Sum（杭电1003（动态规划））</title><link>http://www.cppblog.com/qiangwei/archive/2010/07/10/119975.html</link><dc:creator>wei</dc:creator><author>wei</author><pubDate>Sat, 10 Jul 2010 08:38:00 GMT</pubDate><guid>http://www.cppblog.com/qiangwei/archive/2010/07/10/119975.html</guid><wfw:comment>http://www.cppblog.com/qiangwei/comments/119975.html</wfw:comment><comments>http://www.cppblog.com/qiangwei/archive/2010/07/10/119975.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiangwei/comments/commentRss/119975.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiangwei/services/trackbacks/119975.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<h1 style="COLOR: #1a5cc8" align="center">Max Sum</h1>
		<p align="center">
				<font size="+0">
						<b>
								<span style="FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: green; FONT-FAMILY: Arial">Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 38854    Accepted Submission(s): 8400<br /></span>
						</b>
				</font>
				<br />
				<br />
		</p>
		<div class="panel_title" align="left">Problem Description</div>
		<div class="panel_content">Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Input</div>
		<div class="panel_content">The first line of the input contains an integer T(1&lt;=T&lt;=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1&lt;=N&lt;=100000), then N integers followed(all the integers are between -1000 and 1000).<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Output</div>
		<div class="panel_content">For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line contains three integers, the Max Sum in the sequence, the start position of the sub-sequence, the end position of the sub-sequence. If there are more than one result, output the first one. Output a blank line between two cases.<br /></div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Input</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">2
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Sample Output</div>
		<div class="panel_content">
				<pre>
						<div style="FONT-FAMILY: Courier New,Courier,monospace">Case 1:
14 1 4

Case 2:
7 1 6</div>
				</pre>
		</div>
		<div class="panel_bottom"> </div>
		<br />
		<div class="panel_title" align="left">Author</div>
		<div class="panel_content">Ignatius.L</div>
		<br />
		<br />
		<br />
		<br />
		<br />
		<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 id="Code_Closed_Image_164011" onclick="this.style.display='none'; Code_Closed_Text_164011.style.display='none'; Code_Open_Image_164011.style.display='inline'; Code_Open_Text_164011.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" />
				<img id="Code_Open_Image_164011" style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_164011.style.display='none'; Code_Closed_Image_164011.style.display='inline'; Code_Closed_Text_164011.style.display='inline';" height="16" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" />
				<span id="Code_Closed_Text_164011" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
				</span>
				<span id="Code_Open_Text_164011" style="DISPLAY: none">
						<br />
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="COLOR: #008080"> 1</span>
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">动态规划</span>
						<span style="COLOR: #008000">
								<br />
						</span>
						<span style="COLOR: #008080"> 2</span>
						<span style="COLOR: #008000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #000000">#include</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">iostream</span>
						<span style="COLOR: #000000">&gt;</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080"> 3</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">using</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">namespace</span>
						<span style="COLOR: #000000"> std;<br /></span>
						<span style="COLOR: #008080"> 4</span>
						<span style="COLOR: #000000">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> main()<br /></span>
						<span style="COLOR: #008080"> 5</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_58_531_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_531_Open_Text.style.display='none'; Codehighlighter1_58_531_Closed_Image.style.display='inline'; Codehighlighter1_58_531_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
								<img id="Codehighlighter1_58_531_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_58_531_Closed_Text.style.display='none'; Codehighlighter1_58_531_Open_Image.style.display='inline'; Codehighlighter1_58_531_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
						</span>
						<span id="Codehighlighter1_58_531_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_58_531_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080"> 6</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> T,N,num,start,end;<br /></span>
								<span style="COLOR: #008080"> 7</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cin</span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000">T;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">输入的是有几行数据</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 8</span>
								<span style="COLOR: #008000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(</span>
								<span style="COLOR: #0000ff">int</span>
								<span style="COLOR: #000000"> i</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;i</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">T;i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /></span>
								<span style="COLOR: #008080"> 9</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_127_518_Open_Image" onclick="this.style.display='none'; Codehighlighter1_127_518_Open_Text.style.display='none'; Codehighlighter1_127_518_Closed_Image.style.display='inline'; Codehighlighter1_127_518_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_127_518_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_127_518_Closed_Text.style.display='none'; Codehighlighter1_127_518_Open_Image.style.display='inline'; Codehighlighter1_127_518_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
								<span id="Codehighlighter1_127_518_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_127_518_Open_Text">
										<span style="COLOR: #000000">{<br /></span>
										<span style="COLOR: #008080">10</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cin</span>
										<span style="COLOR: #000000">&gt;&gt;</span>
										<span style="COLOR: #000000">N;</span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">输入的是有几列数据</span>
										<span style="COLOR: #008000">
												<br />
										</span>
										<span style="COLOR: #008080">11</span>
										<span style="COLOR: #008000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">        </span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> max</span>
										<span style="COLOR: #000000">=-</span>
										<span style="COLOR: #000000">1001</span>
										<span style="COLOR: #000000">,sum</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">,temp</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">;</span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">一些数据的初始化</span>
										<span style="COLOR: #008000">
												<br />
										</span>
										<span style="COLOR: #008080">12</span>
										<span style="COLOR: #008000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">        </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(</span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> j</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">&lt;</span>
										<span style="COLOR: #000000">N;j</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /></span>
										<span style="COLOR: #008080">13</span>
										<span style="COLOR: #000000">
												<img id="Codehighlighter1_215_411_Open_Image" onclick="this.style.display='none'; Codehighlighter1_215_411_Open_Text.style.display='none'; Codehighlighter1_215_411_Closed_Image.style.display='inline'; Codehighlighter1_215_411_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_215_411_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_215_411_Closed_Text.style.display='none'; Codehighlighter1_215_411_Open_Image.style.display='inline'; Codehighlighter1_215_411_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
										<span id="Codehighlighter1_215_411_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_215_411_Open_Text">
												<span style="COLOR: #000000">{<br /></span>
												<span style="COLOR: #008080">14</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            cin</span>
												<span style="COLOR: #000000">&gt;&gt;</span>
												<span style="COLOR: #000000">num;</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">处理每一个输入的数据</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">15</span>
												<span style="COLOR: #008000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">            sum</span>
												<span style="COLOR: #000000">+=</span>
												<span style="COLOR: #000000">num;<br /></span>
												<span style="COLOR: #008080">16</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(max</span>
												<span style="COLOR: #000000">&lt;</span>
												<span style="COLOR: #000000">sum)</span>
												<span style="COLOR: #008000">//</span>
												<span style="COLOR: #008000">如果加上比以前的大则要记录</span>
												<span style="COLOR: #008000">
														<br />
												</span>
												<span style="COLOR: #008080">17</span>
												<span style="COLOR: #008000">
														<img id="Codehighlighter1_288_346_Open_Image" onclick="this.style.display='none'; Codehighlighter1_288_346_Open_Text.style.display='none'; Codehighlighter1_288_346_Closed_Image.style.display='inline'; Codehighlighter1_288_346_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_288_346_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_288_346_Closed_Text.style.display='none'; Codehighlighter1_288_346_Open_Image.style.display='inline'; Codehighlighter1_288_346_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
												</span>
												<span style="COLOR: #000000">            </span>
												<span id="Codehighlighter1_288_346_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_288_346_Open_Text">
														<span style="COLOR: #000000">{<br /></span>
														<span style="COLOR: #008080">18</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                max</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">sum;<br /></span>
														<span style="COLOR: #008080">19</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                start</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">temp;<br /></span>
														<span style="COLOR: #008080">20</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                end</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">j</span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">指定的是当前的位置</span>
														<span style="COLOR: #008000">
																<br />
														</span>
														<span style="COLOR: #008080">21</span>
														<span style="COLOR: #008000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
														</span>
														<span style="COLOR: #000000">            }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
												</span>
												<span style="COLOR: #008080">22</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(sum</span>
												<span style="COLOR: #000000">&lt;</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">)<br /></span>
												<span style="COLOR: #008080">23</span>
												<span style="COLOR: #000000">
														<img id="Codehighlighter1_364_406_Open_Image" onclick="this.style.display='none'; Codehighlighter1_364_406_Open_Text.style.display='none'; Codehighlighter1_364_406_Closed_Image.style.display='inline'; Codehighlighter1_364_406_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_364_406_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_364_406_Closed_Text.style.display='none'; Codehighlighter1_364_406_Open_Image.style.display='inline'; Codehighlighter1_364_406_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
												<span id="Codehighlighter1_364_406_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_364_406_Open_Text">
														<span style="COLOR: #000000">{<br /></span>
														<span style="COLOR: #008080">24</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                sum</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">0</span>
														<span style="COLOR: #000000">;<br /></span>
														<span style="COLOR: #008080">25</span>
														<span style="COLOR: #000000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                temp</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">j</span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000">2</span>
														<span style="COLOR: #000000">;</span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">将头结点向后移动一位</span>
														<span style="COLOR: #008000">
																<br />
														</span>
														<span style="COLOR: #008080">26</span>
														<span style="COLOR: #008000">
																<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
														</span>
														<span style="COLOR: #000000">            }</span>
												</span>
												<span style="COLOR: #000000">    <br /></span>
												<span style="COLOR: #008080">27</span>
												<span style="COLOR: #000000">
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
										</span>
										<span style="COLOR: #008080">28</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cout</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">Case </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">i</span>
										<span style="COLOR: #000000">+</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">:</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">endl</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">max</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">start</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">end</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">endl;<br /></span>
										<span style="COLOR: #008080">29</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(i</span>
										<span style="COLOR: #000000">!=</span>
										<span style="COLOR: #000000">T</span>
										<span style="COLOR: #000000">-</span>
										<span style="COLOR: #000000">1</span>
										<span style="COLOR: #000000">)</span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">最后一行不要换行</span>
										<span style="COLOR: #008000">
												<br />
										</span>
										<span style="COLOR: #008080">30</span>
										<span style="COLOR: #008000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">            cout</span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000">endl;<br /></span>
										<span style="COLOR: #008080">31</span>
										<span style="COLOR: #000000">
												<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">32</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">33</span>
								<span style="COLOR: #000000">
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
						</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/qiangwei/aggbug/119975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiangwei/" target="_blank">wei</a> 2010-07-10 16:38 <a href="http://www.cppblog.com/qiangwei/archive/2010/07/10/119975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>