﻿<?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++博客-klion26-随笔分类-DP</title><link>http://www.cppblog.com/klion/category/13676.html</link><description>klion26's blog</description><language>zh-cn</language><lastBuildDate>Mon, 29 Nov 2010 23:13:25 GMT</lastBuildDate><pubDate>Mon, 29 Nov 2010 23:13:25 GMT</pubDate><ttl>60</ttl><item><title>USACO 4_1_1 Beef McNuggets</title><link>http://www.cppblog.com/klion/archive/2010/11/26/134743.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Fri, 26 Nov 2010 10:36:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/11/26/134743.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/134743.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/11/26/134743.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/134743.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/134743.html</trackback:ping><description><![CDATA[<a href="http://www.nocow.cn/index.php/Translate:USACO/nuggets">题目意思</a><br>我的想法:首先把一些能表达的数给算出来,存起来.然后再看是不是都能表示或者没有最大值.算出能表达的数我采用的是dp.这里的dp,比如说有给你三个数3 6 10要你求用这三个数能表达的一系列数,首先我用一个数组can[]记录所有能表达的数,can[i]=j表示这些能表达的数按升序排列地i个是j.再用数组记录下3 6 10这三个数和can数组里面的某个数相加时所到的下表(说的很拗口- -)<br>比如说我用idx[0]记录3这个数和can数组的第idx[0]个数相加,idx[1]表示6和can数组的第idx[1]个数相加.等等。下面用具体写下过程.<br>首先置can[0] = 0&nbsp; idx[0] = idx[1] = idx[2] = 0;(也就是说3 6 10接下来会和can数组的第0个相加)<br>下标&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&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; 3&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; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; can&nbsp;&nbsp; 0&nbsp;&nbsp; 3(3+can[0])&nbsp; 6(3+can[1]/6+can[0])&nbsp; 9(3+can[2]/6+can[1])&nbsp;&nbsp; 10(10+can[0])&nbsp;&nbsp; 12(3+can[3]/6+can[2])&nbsp; <br>3&nbsp;&nbsp; idx[0]&nbsp;&nbsp; 0&nbsp; 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2&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; 3&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; 3 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>6&nbsp;&nbsp; idx[1]&nbsp;&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&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; 2&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; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>10 idx[2]&nbsp;&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; 0 &nbsp;&nbsp;&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; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>中间我还加了些东西,也就是说如果只有一个元素的话,那么一定是输出0的(要不是都能表示[这个数是1]要不是无最大值)<br>如果有一个元素是1的话,那么一定输出0(所有的都能表示)<br>如果只有两个数的话,那么我们可以直接得到答案,如果两个数互素的话,结果是a*b-a-b,如果不互素的话输出0(无最大值)<br>如果是等差数列的话,输出0(无最大值)<br>其他的就直接算出能表示的数,再判断输出什么<br>官方的解题报告说 <span style="COLOR: red">只要所有的数的gcd不是1就没有最大值</span>,其实这一点可以由上面2个数的公式推出来,也就是先求前n-1个数的gcd然后再求gcd和第n个数的gcd,那么这样的话,这题还有一个数论方法,也就是直接算前n-1个数的gcd,然后看这个gcd和第n个数的gcd是否为1,不为1就输出0,为1就用a*b-a-b这个公式算<br>代码如下&nbsp;&nbsp;&nbsp;&nbsp;
<div class=source style="COLOR: #f5deb3; FONT-FAMILY: '[object htmloptionelement]','consolas','lucida console','courier new'; BACKGROUND-COLOR: #2f4f4f"><span style="COLOR: #da70d6">/*</span><br><span style="COLOR: #da70d6">&nbsp;&nbsp;&nbsp; ID:qcx97811</span><br><span style="COLOR: #da70d6">&nbsp;&nbsp;&nbsp; LANG:C++</span><br><span style="COLOR: #da70d6">&nbsp;&nbsp;&nbsp; PROG:nuggets</span><br><span style="COLOR: #da70d6">*/</span><br><span style="COLOR: #eeee00">#include &lt;stdio.h&gt;</span><br><span style="COLOR: #eeee00">#include &lt;string.h&gt;</span><br><span style="COLOR: #eeee00">#include &lt;stdlib.h&gt;</span><br><span style="COLOR: #eeee00">#include &lt;math.h&gt;</span><br><br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> n;<br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">16</span><span style="COLOR: #f5deb3">];</span><br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">16</span><span style="COLOR: #f5deb3">],</span><span style="COLOR: #f5deb3">total_idx</span>;<br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">2000000</span><span style="COLOR: #f5deb3">];</span><br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">cmp</span>(<span style="FONT-WEIGHT: bold; COLOR: #b0c4de">const</span> <span style="FONT-WEIGHT: bold; COLOR: #98fb98">void</span> <span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">a</span><span style="COLOR: #f5deb3">,</span><span style="FONT-WEIGHT: bold; COLOR: #b0c4de">const</span> <span style="FONT-WEIGHT: bold; COLOR: #98fb98">void</span> <span style="COLOR: #f5deb3">*</span>b)<br><span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//快速排序从小到大模板</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">c</span> <span style="COLOR: #f5deb3">=</span> (<span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">*</span>)<span style="COLOR: #f5deb3">a</span>;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">d</span> <span style="COLOR: #f5deb3">=</span> (<span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">*</span>)b;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">c</span> <span style="COLOR: #f5deb3">&gt;</span> <span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">d</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">1</span>;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">c</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">d</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span>;&nbsp;&nbsp;&nbsp; <br><span style="COLOR: #f5deb3">}</span><br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">gcd</span>(<span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">a</span><span style="COLOR: #f5deb3">,</span><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> b)<br><span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//公约数</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">tmp</span>;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">a</span> <span style="COLOR: #f5deb3">&lt;</span> b)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">a</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">a</span> <span style="COLOR: #f5deb3">=</span> b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b <span style="COLOR: #f5deb3">=</span><span style="COLOR: #f5deb3">tmp</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">while</span>(b)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">a</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">a</span> <span style="COLOR: #f5deb3">=</span> b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">tmp</span><span style="COLOR: #f5deb3">%</span>b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #f5deb3">a</span>;<br><span style="COLOR: #f5deb3">}</span><br><span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">main</span>(<span style="FONT-WEIGHT: bold; COLOR: #98fb98">void</span>)<br><span style="COLOR: #f5deb3">{</span><br>&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">freopen</span>(<span style="COLOR: #7fffd4">"nuggets.in"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #7fffd4">"r"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">stdin</span>);<br>&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">freopen</span>(<span style="COLOR: #7fffd4">"nuggets.out"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #7fffd4">"w"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">stdout</span>);<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">j</span>;<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #98fb98">int</span> <span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">tmp</span>;<br>&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">scanf</span>(<span style="COLOR: #7fffd4">"%d"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">&amp;</span>n);<br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">for</span>(<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">0</span>;<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">&lt;</span> n;<span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//scanf</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">scanf</span>(<span style="COLOR: #7fffd4">"%d"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">&amp;</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">]);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">qsort</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">,</span>n<span style="COLOR: #f5deb3">,</span><span style="FONT-WEIGHT: bold; COLOR: #b0c4de">sizeof</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]),</span><span style="COLOR: #f5deb3">cmp</span>);<span style="COLOR: #da70d6">//sort the number</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>((<span style="COLOR: #add8e6">1</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">])</span> || (<span style="COLOR: #add8e6">1</span> <span style="COLOR: #f5deb3">==</span> n))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//only one num or an one in the num</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"0</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span> <br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">memset</span>(<span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">,</span><span style="FONT-WEIGHT: bold; COLOR: #b0c4de">sizeof</span>(<span style="COLOR: #f5deb3">idx</span>));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">memset</span>(<span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">,</span><span style="FONT-WEIGHT: bold; COLOR: #b0c4de">sizeof</span>(<span style="COLOR: #f5deb3">can</span>));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #add8e6">2</span> <span style="COLOR: #f5deb3">==</span> n)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//2个数的话可以直接算出来</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #add8e6">1</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #f5deb3">gcd</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">],</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]))</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//如果互素的话</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; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"%d</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">*</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]);</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; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//不互素 肯定无</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; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"0</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</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; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">-</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">];</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">for</span>(<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">2</span>;<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">&lt;</span> n;<span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//看是否为等差数列</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">!=</span> <span style="COLOR: #f5deb3">tmp</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">break</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">==</span> n)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//如果是等差数列的话 也不可能有</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"0</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">total_idx</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">for</span>(<span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">];</span><span style="COLOR: #f5deb3">i</span> <span style="COLOR: #f5deb3">&lt;</span> <span style="COLOR: #add8e6">2000000</span>;<span style="COLOR: #f5deb3">i</span><span style="COLOR: #f5deb3">++</span> )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//下标是为了不超过内存16M 同时最大</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">j</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">0</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">for</span>(<span style="COLOR: #f5deb3">k</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">1</span>;<span style="COLOR: #f5deb3">k</span> <span style="COLOR: #f5deb3">&lt;</span> n;<span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//增大能表示的数</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">]]</span><span style="COLOR: #f5deb3">&lt;</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">j</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">j</span><span style="COLOR: #f5deb3">]])</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; <span style="COLOR: #f5deb3">j</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">k</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">j</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">j</span><span style="COLOR: #f5deb3">]];</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">++</span><span style="COLOR: #f5deb3">total_idx</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">tmp</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">total_idx</span> <span style="COLOR: #f5deb3">&gt;</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span> <span style="COLOR: #f5deb3">&amp;&amp;</span> (<span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">total_idx</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">total_idx</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span>))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//如果已经找到最大数,因为后面的数都连续了</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #f5deb3">total_idx</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #add8e6">0</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #add8e6">1</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">while</span>(<span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">tmp</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">-</span> <span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">tmp</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span><span style="COLOR: #f5deb3">]</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #add8e6">1</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//寻找最大的数</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">tmp</span><span style="COLOR: #f5deb3">--</span>;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"%d</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</span><span style="COLOR: #f5deb3">,</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">tmp</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">-</span><span style="COLOR: #add8e6">1</span>);<span style="COLOR: #da70d6">//输出最大数</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">for</span>(<span style="COLOR: #f5deb3">k</span> <span style="COLOR: #f5deb3">=</span> <span style="COLOR: #add8e6">0</span>;<span style="COLOR: #f5deb3">k</span> <span style="COLOR: #f5deb3">&lt;</span> n;<span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">{</span><span style="COLOR: #da70d6">//改变相应的下标</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; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">if</span>(<span style="COLOR: #f5deb3">num</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">+</span><span style="COLOR: #f5deb3">can</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">]]</span> <span style="COLOR: #f5deb3">==</span> <span style="COLOR: #f5deb3">tmp</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; <span style="COLOR: #f5deb3">idx</span><span style="COLOR: #f5deb3">[</span><span style="COLOR: #f5deb3">k</span><span style="COLOR: #f5deb3">]</span><span style="COLOR: #f5deb3">++</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br><span style="COLOR: #da70d6">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i = 0;i &lt;= total_idx;i++)</span><br><span style="COLOR: #da70d6">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",can[i]); </span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">printf</span>(<span style="COLOR: #7fffd4">"0</span><span style="COLOR: #7fffd4">\n</span><span style="COLOR: #7fffd4">"</span>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #f5deb3">}</span><br>&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT: bold; COLOR: #b0c4de">return</span> <span style="COLOR: #add8e6">0</span>;<br><span style="COLOR: #f5deb3">}</span><br></div>
&nbsp; 
<img src ="http://www.cppblog.com/klion/aggbug/134743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-11-26 18:36 <a href="http://www.cppblog.com/klion/archive/2010/11/26/134743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 3_3_4 Home On The Range</title><link>http://www.cppblog.com/klion/archive/2010/08/13/123381.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Fri, 13 Aug 2010 13:48:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/08/13/123381.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/123381.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/08/13/123381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/123381.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/123381.html</trackback:ping><description><![CDATA[<a href="http://www.nocow.cn/index.php/Translate:USACO/range">题意</a><br>思路:DP.<br>一开始我用二维树状数组去搞。死在最优一组数据上(全1)。因为那样有很多浪费的操作。可是想不出什么好办法，无奈问了好多人。diy群的神牛们一致说dp,baihacker大神的做法好像就这样的.水平太弱,听不懂。后来还是在一个朋友的指点下领悟了dp的思想。具体如下<br>设dp[i][j] 为以(i,j)为左上角的符合情况的边的最大长度。那么我们可以得到长度为k的方阵的个数等于那些dp[i][j]&gt;=k的个数。<br>用样例来说的话<br>&nbsp; dp[i][j]如下<br>&nbsp; 1 0 4 2 3 1<br>&nbsp; 0 0 3 3 2 1<br>&nbsp; 1 1 2 2 2 1<br>&nbsp; 0 0 2 1 1 1<br>&nbsp; 0 0 1 1 0 1<br>&nbsp; 1 1 1 0 0 1<br>&nbsp; 那么2的个数就是dp[i][j] &gt;= 2的数目也就是6(2的个数)+3(3的个数)+1(4的个数)=10<br>&nbsp; 3和4同理<br>&nbsp; 那么现在要求的就是所有dp[i][j]了。我们可以得到如下转移方程。<br>&nbsp; if(0 == num[i][j])/*num存的是原矩阵*/<br>&nbsp;&nbsp; dp[i][j] = 0;/*矩阵含0不符合情况*/<br>&nbsp;else<br>&nbsp; dp[i][j] = min(dp[i+1][j],dp[i][j+1],dp[i+1][j+1])+1;<br>&nbsp;到这里基结束了。官方的有两种做法，也都是dp。第一种是n^3的,这里就不说了。第二种是n^2的。而且空间也比较小，这里贴下。<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_214746 onclick="this.style.display='none'; Code_Closed_Text_214746.style.display='none'; Code_Open_Image_214746.style.display='inline'; Code_Open_Text_214746.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_214746 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_214746.style.display='none'; Code_Closed_Image_214746.style.display='inline'; Code_Closed_Text_214746.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_214746 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_214746 style="DISPLAY: none"><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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Greg&nbsp;Price&nbsp;writes:&nbsp;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>The&nbsp;posted&nbsp;solution&nbsp;runs&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;cubic&nbsp;time,&nbsp;with&nbsp;quadratic&nbsp;storage.&nbsp;With&nbsp;a&nbsp;little&nbsp;more&nbsp;cleverness&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;the&nbsp;dynamic&nbsp;programming,&nbsp;the&nbsp;task&nbsp;can&nbsp;be&nbsp;accomplished&nbsp;with&nbsp;only&nbsp;quadratic&nbsp;time&nbsp;and&nbsp;linear&nbsp;storage,&nbsp;and&nbsp;the&nbsp;same&nbsp;amount&nbsp;of&nbsp;code&nbsp;and&nbsp;coding&nbsp;effort.&nbsp;Instead&nbsp;of&nbsp;running&nbsp;back&nbsp;along&nbsp;the&nbsp;rows&nbsp;and&nbsp;columns&nbsp;from&nbsp;each&nbsp;square,&nbsp;we&nbsp;use&nbsp;the&nbsp;biggest</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">square&nbsp;values&nbsp;immediately&nbsp;to&nbsp;the&nbsp;west&nbsp;and&nbsp;north,&nbsp;so&nbsp;that&nbsp;each&nbsp;non</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ravaged&nbsp;square</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">s&nbsp;biggest-square&nbsp;value&nbsp;is&nbsp;one&nbsp;more&nbsp;than&nbsp;the&nbsp;minimum&nbsp;of&nbsp;the&nbsp;values&nbsp;to&nbsp;the&nbsp;west,&nbsp;north,&nbsp;and&nbsp;northwest.&nbsp;This&nbsp;saves&nbsp;time,&nbsp;bringing&nbsp;us&nbsp;from&nbsp;cubic&nbsp;to&nbsp;quadratic&nbsp;time.&nbsp;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Another&nbsp;improvement,&nbsp;which&nbsp;saves&nbsp;space&nbsp;and&nbsp;perhaps&nbsp;cleans&nbsp;up&nbsp;the&nbsp;code&nbsp;marginally,&nbsp;</span><span style="COLOR: #0000ff">is</span><span style="COLOR: #000000">&nbsp;to&nbsp;keep&nbsp;track&nbsp;of&nbsp;the&nbsp;number&nbsp;of&nbsp;squares&nbsp;of&nbsp;a&nbsp;given&nbsp;size&nbsp;</span><span style="COLOR: #0000ff">as</span><span style="COLOR: #000000">&nbsp;we&nbsp;go&nbsp;along.&nbsp;This&nbsp;obviates&nbsp;the&nbsp;need&nbsp;to&nbsp;keep&nbsp;a&nbsp;quadratic</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">size&nbsp;matrix&nbsp;of&nbsp;biggest</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">square&nbsp;values,&nbsp;because&nbsp;we&nbsp;only&nbsp;need&nbsp;the&nbsp;most&nbsp;recent&nbsp;row&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;continuing&nbsp;the&nbsp;computation.&nbsp;As&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ravaged</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;values,&nbsp;we&nbsp;only&nbsp;use&nbsp;each&nbsp;one&nbsp;once,&nbsp;all&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;order;&nbsp;we&nbsp;can&nbsp;just&nbsp;read&nbsp;those&nbsp;</span><span style="COLOR: #0000ff">as</span><span style="COLOR: #000000">&nbsp;we&nbsp;need&nbsp;them.&nbsp;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">fstream.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>ifstream&nbsp;fin(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">range.in</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>ofstream&nbsp;fout(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">range.out</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;maxn&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">250</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;n;<br></span><span style="COLOR: #008080">15</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">&nbsp;fieldpr;<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;sq[maxn];&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;biggest-square&nbsp;values</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/None.gif" align=top></span><span style="COLOR: #000000">unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;sqpr;<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;numsq[maxn];&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;number&nbsp;of&nbsp;squares&nbsp;of&nbsp;each&nbsp;size</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/None.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/None.gif" align=top>unsigned&nbsp;</span><span style="COLOR: #0000ff">short</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/None.gif" align=top>min3(unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;a,&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;b,&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;c)<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img id=Codehighlighter1_1368_1443_Open_Image onclick="this.style.display='none'; Codehighlighter1_1368_1443_Open_Text.style.display='none'; Codehighlighter1_1368_1443_Closed_Image.style.display='inline'; Codehighlighter1_1368_1443_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1368_1443_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1368_1443_Closed_Text.style.display='none'; Codehighlighter1_1368_1443_Open_Image.style.display='inline'; Codehighlighter1_1368_1443_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1368_1443_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_1368_1443_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;((a&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;b)&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;(a&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;c))<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;a;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(b&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;c)&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;b&nbsp;:&nbsp;c;<br></span><span style="COLOR: #008080">27</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">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">29</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"><br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>main()<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img id=Codehighlighter1_1458_2179_Open_Image onclick="this.style.display='none'; Codehighlighter1_1458_2179_Open_Text.style.display='none'; Codehighlighter1_1458_2179_Closed_Image.style.display='inline'; Codehighlighter1_1458_2179_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1458_2179_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1458_2179_Closed_Text.style.display='none'; Codehighlighter1_1458_2179_Open_Image.style.display='inline'; Codehighlighter1_1458_2179_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1458_2179_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_1458_2179_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;r,&nbsp;c;<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;i;<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">&nbsp;tmp;<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fin&nbsp;</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">&nbsp;n;<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;c&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;n;&nbsp;c</span><span style="COLOR: #000000">++</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sq[c]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><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><br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;n;&nbsp;i</span><span style="COLOR: #000000">++</span><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numsq[i]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(r&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;r&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;n;&nbsp;r</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img id=Codehighlighter1_1645_2001_Open_Image onclick="this.style.display='none'; Codehighlighter1_1645_2001_Open_Text.style.display='none'; Codehighlighter1_1645_2001_Closed_Image.style.display='inline'; Codehighlighter1_1645_2001_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1645_2001_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1645_2001_Closed_Text.style.display='none'; Codehighlighter1_1645_2001_Open_Image.style.display='inline'; Codehighlighter1_1645_2001_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1645_2001_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_1645_2001_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqpr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sq[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;c&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;n;&nbsp;c</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img id=Codehighlighter1_1701_1998_Open_Image onclick="this.style.display='none'; Codehighlighter1_1701_1998_Open_Text.style.display='none'; Codehighlighter1_1701_1998_Closed_Image.style.display='inline'; Codehighlighter1_1701_1998_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1701_1998_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1701_1998_Closed_Text.style.display='none'; Codehighlighter1_1701_1998_Open_Image.style.display='inline'; Codehighlighter1_1701_1998_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1701_1998_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_1701_1998_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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin&nbsp;</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">&nbsp;fieldpr;<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">(fieldpr&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">))<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img id=Codehighlighter1_1750_1802_Open_Image onclick="this.style.display='none'; Codehighlighter1_1750_1802_Open_Text.style.display='none'; Codehighlighter1_1750_1802_Closed_Image.style.display='inline'; Codehighlighter1_1750_1802_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1750_1802_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1750_1802_Closed_Text.style.display='none'; Codehighlighter1_1750_1802_Open_Image.style.display='inline'; Codehighlighter1_1750_1802_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1750_1802_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_1750_1802_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqpr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;sq[c];<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sq[c]&nbsp;</span><span style="COLOR: #000000">=</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 src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></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><br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Only&nbsp;three&nbsp;values&nbsp;needed.</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/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;min3(sq[c</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">],&nbsp;sqpr,&nbsp;sq[c]);<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqpr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;sq[c];<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sq[c]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tmp;<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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Only&nbsp;count&nbsp;maximal&nbsp;squares,&nbsp;for&nbsp;now.</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">64</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></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">&nbsp;(sq[c]&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numsq[&nbsp;sq[c]&nbsp;]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Count&nbsp;all&nbsp;squares,&nbsp;not&nbsp;just&nbsp;maximal.&nbsp;</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">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numsq[i]&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;numsq[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><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><br></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;numsq[i];&nbsp;i</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;numsq[i]&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br></span><span style="COLOR: #008080">75</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">76</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">77</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<img src ="http://www.cppblog.com/klion/aggbug/123381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-08-13 21:48 <a href="http://www.cppblog.com/klion/archive/2010/08/13/123381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 3_3_5 A Game</title><link>http://www.cppblog.com/klion/archive/2010/08/12/123250.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Thu, 12 Aug 2010 13:39:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/08/12/123250.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/123250.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/08/12/123250.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/123250.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/123250.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 题意思路:DP.这题一开始认为是dp，无奈不会表示状态,于是一度认为是个博弈题(不知算不算博弈- -),上网一顿狂搜博弈,搜了好久也没发现这题的简化版之类的，不懂博弈的表示压力很大~~。后来突然想到了一个比较笨的办法,就是用两个函数在那调来调去。也就是一个递归(发现一个函数也可以- -!)。写出来一交TLE在第4组。又加了个记忆化，终于过了。每组数据的时间都在0.1S左右。标称的三种方法都很简短,...&nbsp;&nbsp;<a href='http://www.cppblog.com/klion/archive/2010/08/12/123250.html'>阅读全文</a><img src ="http://www.cppblog.com/klion/aggbug/123250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-08-12 21:39 <a href="http://www.cppblog.com/klion/archive/2010/08/12/123250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1014 &amp;&amp; 1742 多重背包的O(VN)解法</title><link>http://www.cppblog.com/klion/archive/2010/07/23/121103.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Fri, 23 Jul 2010 03:01:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/07/23/121103.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/121103.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/07/23/121103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/121103.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/121103.html</trackback:ping><description><![CDATA[前段时间遇到个完全背包问题,于是看了DD牛的<a href="http://www.cppblog.com/Files/klion/dp.doc">背包九讲</a>，对于01背包和完全背包还好理解，不过对于多重背包我一直理解的不是很透彻，尤其是那个复杂度,我一直认为是O(N*V*&#931;(log(n[i])))的，但是DD牛的九讲上说是O(V*&#931;(log(n[i]))，这个复杂度确实是DD牛讲的那个,表示一开始我想错了。还有就是可以用单调队列优化达到O(N*V),于是上网搜了好多报告,无奈实在不懂。后来问了王向，他说不用单调队列也可以达到O(N*V)的,给了我个<a href="http://hi.baidu.com/kevin0602/blog/item/aec1448b0111ac799f2fb4eb.html">网址</a>。昨天下午就学些了下。发现还比较好懂。今天上午就依着那个思路把1014和1742给写了，发现还可以速度不错。<br><a href="http://www.cppblog.com/Files/klion/POJ_1014.txt">附上1014的带注释代码</a> 
<img src ="http://www.cppblog.com/klion/aggbug/121103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-07-23 11:01 <a href="http://www.cppblog.com/klion/archive/2010/07/23/121103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 2_2_2 Subset Sums</title><link>http://www.cppblog.com/klion/archive/2010/07/16/120587.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Fri, 16 Jul 2010 13:49:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/07/16/120587.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/120587.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/07/16/120587.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/120587.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/120587.html</trackback:ping><description><![CDATA[<a href="http://www.nocow.cn/index.php/Translate:USACO/subset">题意</a><br>做法:DP<br>思路:<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold">设<span lang=EN-US>f[i][j]</span>表示前<span lang=EN-US>i</span>个数能得到<span lang=EN-US>j</span>的集合数<span lang=EN-US>(</span>当然这里每一个结果都多算了一次<span lang=EN-US>,</span>因为两个想等的结果的两个集合都算了<span lang=EN-US>,比如说前3个数,有{1,2}和{3}但是如果输入3的话,结果只能输出1.</span>不过这没事<span lang=EN-US>,</span>因为<span style="COLOR: blue">每个</span>都多算了一次<span lang=EN-US>,</span>最后的结果只要除<span lang=EN-US>2</span>就行了<span lang=EN-US>),f[i][j](0&lt;=j&lt;=(i+1)*i/2)</span>可以由<span lang=EN-US>f[i-1][k]</span>得到<br></span><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold">转移方程<span lang=EN-US>:<o:p></o:p></span></span>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>for i = 2 to n<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>f[i][i] =1;/*这选自己*/<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>j = i &#8211; 1;<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>for k = 0<span style="mso-spacerun: yes">&nbsp; </span>to (j+1)*j/2&nbsp; /*f[i][k] &lt;----f[i-1][k] f[i][i+k] &lt;-----f[i-1][k]*/<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if(f[j][k] &gt; 0)<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>f[i][k] += f[j][k];<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>f[i][k+i] += f[j][k];<o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt 29.95pt; TEXT-INDENT: -12pt; mso-para-margin-left: 1.71gd; mso-char-indent-count: -1.0"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-weight: bold">最后还有一点就是<span lang=EN-US>N = 39</span>时结果很大要用<span lang=EN-US>long long</span>或者<span lang=EN-US>__int64</span>存<span lang=EN-US><o:p></o:p></span></span></p>
<img src ="http://www.cppblog.com/klion/aggbug/120587.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-07-16 21:49 <a href="http://www.cppblog.com/klion/archive/2010/07/16/120587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1661  Help Jimmy</title><link>http://www.cppblog.com/klion/archive/2010/07/15/120471.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Thu, 15 Jul 2010 12:26:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/07/15/120471.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/120471.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/07/15/120471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/120471.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/120471.html</trackback:ping><description><![CDATA[<a href="http://124.205.79.250/JudgeOnline/problem?id=1661">传送门</a><br>简单但不是很容易过的一道DP题。<br>状态和转移方程比较容易想。但是注意的地方很多，一不小心就WA了。<br>思路:首先对木板按高度从低到高排序，设置两个数组left[],right[].分别表示从第i块木板的左(右)端点到地面的最短时间。如果不能到达就用-1表示。然后从小到大进行递推，对于中间的两块木板i,j。假设如果第i块木板的左端点落在第j块木板中间，而且两块木板中间没有被隔开，那么第i块木板的左端点的最小值可以由第j块木板得到，右端点的分析和左端点相似。当然用-1表示不能到达时有一点要注意的就是改变left和right的值时，一定要注意第j块木板的左端点(或者右端点)能否到达地面也就是说是否是-1.这一点容易被忽视。<br><a href="http://www.cppblog.com/Files/klion/1.txt">附详细注释的代码</a></a> 
<img src ="http://www.cppblog.com/klion/aggbug/120471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-07-15 20:26 <a href="http://www.cppblog.com/klion/archive/2010/07/15/120471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 1_5_1 Number Triangles</title><link>http://www.cppblog.com/klion/archive/2010/06/06/117264.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Sun, 06 Jun 2010 05:25:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/06/06/117264.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/117264.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/06/06/117264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/117264.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/117264.html</trackback:ping><description><![CDATA[有名的数塔问题，对于刚接触DP的同学，应该就是这题吧，这里说一下我的想法和官方的代码。<br>这题肯定是不可以用最原始的递归的，对于初学DP的同学，可能会用到DP的递归调用，那只是第一步，接着你会把递归的化成非递归的，然后你可能还会想到从下往上计算而不是从上往下计算，因为当你用从上往下计算时，要考虑数组是否越界(也就是没行的第一个，这个数的左上没有数，还有就是每一行的最后一个数，它的右上没有数，这个可以不考虑，数组已经开出来了，不过得初始化为0)。从下往上就不用考虑这么多了。其实考虑到这，基本也差不多了，但是似乎我们得开一个二维数组来存这些结果，可是对于这些结果我们用不着都存起来，当我们考虑到第i行时，我们只要考虑第i-1行就行了，第i-1行以前的所有结果我们都没必要存起来。那么我们就可以用两个一维数组存起来了一个是当前行的最优结果(也就是要算的)，还有一个是上一行的最优结果。另外在<a href="http://www.cppblog.com/Files/klion/dp.doc">01背包</a>里面会用到这样的优化，有时不优化就会MLE。(代码建议自己想先，再参考)<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_132250 onclick="this.style.display='none'; Code_Closed_Text_132250.style.display='none'; Code_Open_Image_132250.style.display='inline'; Code_Open_Text_132250.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_132250 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_132250.style.display='none'; Code_Closed_Image_132250.style.display='inline'; Code_Closed_Text_132250.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_132250 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">CODE</span><span id=Code_Open_Text_132250 style="DISPLAY: none"><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 id=Codehighlighter1_0_42_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_42_Open_Text.style.display='none'; Codehighlighter1_0_42_Closed_Image.style.display='inline'; Codehighlighter1_0_42_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_42_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_42_Closed_Text.style.display='none'; Codehighlighter1_0_42_Open_Image.style.display='inline'; Codehighlighter1_0_42_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_42_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_0_42_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;ID:qcx97811<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;LANG:C<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;PROG:numtri<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.h</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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num[</span><span style="COLOR: #000000">1002</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1002</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">10</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">&nbsp;dp[</span><span style="COLOR: #000000">1002</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">1002</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">11</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">&nbsp;max_int(</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">12</span><span style="COLOR: #000000"><img id=Codehighlighter1_169_194_Open_Image onclick="this.style.display='none'; Codehighlighter1_169_194_Open_Text.style.display='none'; Codehighlighter1_169_194_Closed_Image.style.display='inline'; Codehighlighter1_169_194_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_169_194_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_169_194_Closed_Text.style.display='none'; Codehighlighter1_169_194_Open_Image.style.display='inline'; Codehighlighter1_169_194_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_169_194_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_169_194_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;b&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;a:b;<br></span><span style="COLOR: #008080">14</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">15</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">&nbsp;main(main)<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img id=Codehighlighter1_211_763_Open_Image onclick="this.style.display='none'; Codehighlighter1_211_763_Open_Text.style.display='none'; Codehighlighter1_211_763_Closed_Image.style.display='inline'; Codehighlighter1_211_763_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_211_763_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_211_763_Closed_Text.style.display='none'; Codehighlighter1_211_763_Open_Image.style.display='inline'; Codehighlighter1_211_763_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_211_763_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_211_763_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numtri.in</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,stdin);<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numtri.out</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">w</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,stdout);<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;r;<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">r);<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;r;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img id=Codehighlighter1_355_422_Open_Image onclick="this.style.display='none'; Codehighlighter1_355_422_Open_Text.style.display='none'; Codehighlighter1_355_422_Closed_Image.style.display='inline'; Codehighlighter1_355_422_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_355_422_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_355_422_Closed_Text.style.display='none'; Codehighlighter1_355_422_Open_Image.style.display='inline'; Codehighlighter1_355_422_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_355_422_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_355_422_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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;i;j</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">num[i][j]);<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</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/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(dp,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(dp));<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;r;i</span><span style="COLOR: #000000">++</span><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[r</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][i]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;num[r</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</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">30</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;r</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;i&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;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_552_694_Open_Image onclick="this.style.display='none'; Codehighlighter1_552_694_Open_Text.style.display='none'; Codehighlighter1_552_694_Closed_Image.style.display='inline'; Codehighlighter1_552_694_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_552_694_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_552_694_Closed_Text.style.display='none'; Codehighlighter1_552_694_Open_Image.style.display='inline'; Codehighlighter1_552_694_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_552_694_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_552_694_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;i;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img id=Codehighlighter1_590_687_Open_Image onclick="this.style.display='none'; Codehighlighter1_590_687_Open_Text.style.display='none'; Codehighlighter1_590_687_Closed_Image.style.display='inline'; Codehighlighter1_590_687_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_590_687_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_590_687_Closed_Text.style.display='none'; Codehighlighter1_590_687_Open_Image.style.display='inline'; Codehighlighter1_590_687_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_590_687_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_590_687_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;num[i][j]&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;max_int(dp[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j],dp[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">]);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">每一行的最优解由它的左下和右下两个得到</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">35</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&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">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,dp[</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">38</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&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">39</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">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<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_132456 onclick="this.style.display='none'; Code_Closed_Text_132456.style.display='none'; Code_Open_Image_132456.style.display='inline'; Code_Open_Text_132456.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_132456 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_132456.style.display='none'; Code_Closed_Image_132456.style.display='inline'; Code_Closed_Text_132456.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_132456 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">CODE2</span><span id=Code_Open_Text_132456 style="DISPLAY: none"><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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">assert.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;MAXR&nbsp;1000</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;8</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"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>max(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a,&nbsp;</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_121_146_Open_Image onclick="this.style.display='none'; Codehighlighter1_121_146_Open_Text.style.display='none'; Codehighlighter1_121_146_Closed_Image.style.display='inline'; Codehighlighter1_121_146_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_121_146_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_121_146_Closed_Text.style.display='none'; Codehighlighter1_121_146_Open_Image.style.display='inline'; Codehighlighter1_121_146_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_121_146_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_121_146_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>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;b&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;a&nbsp;:&nbsp;b;<br></span><span style="COLOR: #008080">12</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">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">14</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"><br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>main(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img id=Codehighlighter1_165_825_Open_Image onclick="this.style.display='none'; Codehighlighter1_165_825_Open_Text.style.display='none'; Codehighlighter1_165_825_Closed_Image.style.display='inline'; Codehighlighter1_165_825_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_165_825_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_165_825_Closed_Text.style.display='none'; Codehighlighter1_165_825_Open_Image.style.display='inline'; Codehighlighter1_165_825_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_165_825_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_165_825_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;best[MAXR],&nbsp;oldbest[MAXR];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">best是当前行的最优值,oldbest<br></span><span style="COLOR: #008080">18</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">19</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,&nbsp;j,&nbsp;r,&nbsp;n,&nbsp;m;<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">fin,&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">fout;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fin&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;fopen(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numtri.in</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">"</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>&nbsp;&nbsp;&nbsp;&nbsp;assert(fin&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;NULL);<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fout&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;fopen(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numtri.out</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">w</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>&nbsp;&nbsp;&nbsp;&nbsp;assert(fout&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;NULL);<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fscanf(fin,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">r);<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/InBlock.gif" align=top>&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">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">MAXR;&nbsp;i</span><span style="COLOR: #000000">++</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best[i]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</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 id=Codehighlighter1_475_709_Open_Image onclick="this.style.display='none'; Codehighlighter1_475_709_Open_Text.style.display='none'; Codehighlighter1_475_709_Closed_Image.style.display='inline'; Codehighlighter1_475_709_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_475_709_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_475_709_Closed_Text.style.display='none'; Codehighlighter1_475_709_Open_Image.style.display='inline'; Codehighlighter1_475_709_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&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">;&nbsp;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">r;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_475_709_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_475_709_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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memmove(oldbest,&nbsp;best,&nbsp;</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">&nbsp;oldbest);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">把上一次的最优结果赋值到这次的上一行最优结果中</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">34</span><span style="COLOR: #008000"><img id=Codehighlighter1_565_706_Open_Image onclick="this.style.display='none'; Codehighlighter1_565_706_Open_Text.style.display='none'; Codehighlighter1_565_706_Closed_Image.style.display='inline'; Codehighlighter1_565_706_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_565_706_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_565_706_Closed_Text.style.display='none'; Codehighlighter1_565_706_Open_Image.style.display='inline'; Codehighlighter1_565_706_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></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">0</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span id=Codehighlighter1_565_706_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_565_706_Open_Text><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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fscanf(fin,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n);<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(j&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</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">37</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best[j]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;oldbest[j]&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n;<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best[j]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;max(oldbest[j],&nbsp;oldbest[j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">])&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;n;<br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&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 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><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><br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</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>&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">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">r;&nbsp;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">45</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(best[i]&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;m)<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;best[i];<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fprintf(fout,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;m);<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;exit(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #008080">50</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">51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<img src ="http://www.cppblog.com/klion/aggbug/117264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-06-06 13:25 <a href="http://www.cppblog.com/klion/archive/2010/06/06/117264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>