﻿<?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++博客-small-fat-随笔分类-之ACM.............</title><link>http://www.cppblog.com/chgsh8089/category/2385.html</link><description>in fact , I'm not fat..</description><language>zh-cn</language><lastBuildDate>Fri, 23 May 2008 03:32:55 GMT</lastBuildDate><pubDate>Fri, 23 May 2008 03:32:55 GMT</pubDate><ttl>60</ttl><item><title>Trie数+DP</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/21/22442.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Fri, 20 Apr 2007 17:10:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/21/22442.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/22442.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/21/22442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/22442.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/22442.html</trackback:ping><description><![CDATA[<p>转转：&nbsp;&nbsp;&nbsp;<br>&nbsp;<a href="http://hi.baidu.com/ecchi/blog/item/84bcdc3ff832a5c37d1e71bf.html">http://hi.baidu.com/ecchi/blog/item/84bcdc3ff832a5c37d1e71bf.html</a><br>&nbsp;&nbsp;Trie树2007-03-12 17:46转自xiaoyao4005.cublog.cnTrie树既可用于一般的字典搜索，也可用于索引查找。对于给定的一个字符串a1,a2,a3,...,an.则采用TRIE树搜索经过n次搜索即可完成一次查找。不过好像还是没有B树的搜索效率高，B树搜索算法复杂度为logt(n+1/2).当t趋向大，搜索效率变得高效。怪不得DB2的访问内存设置为虚拟内存的一个PAGE大小，而且帧切换频率降低，无需经常的PAGE切换。// trie.cpp : 定义控制台应用程序的入口点。<br><a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=2564"><br>http://acm.pku.edu.cn/JudgeOnline/problem?id=2564</a></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">//</span><span style="COLOR: #000000">trie树加动态规划<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">刚开始以为会超时,以为复杂度是o(</span><span style="COLOR: #000000">25000</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">o(</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">还没搞明白那trie树的查询时间到底是o(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)还是o(</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">)呢?<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>using&nbsp;namespace&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;MAX&nbsp;</span><span style="COLOR: #000000">25001</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;M&nbsp;</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;rec,rec2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>char&nbsp;q[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>char&nbsp;p[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;ans;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>class&nbsp;Trie{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Trie();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;~Trie();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;insert(char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;search(char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;Trie_node{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trie_node&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trie_node();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;};<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Trie_node&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">root;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>};<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Trie::Trie_node::Trie_node(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">M;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Trie::Trie(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;root</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Trie::~Trie(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Trie::insert(char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key){</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">插入，插入成功后返回1<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;char_node;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;char[strlen(key)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(g,key);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(root</span><span style="COLOR: #000000">==</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Trie_node;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Trie_node&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">root;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cur</span><span style="COLOR: #000000">&amp;&amp;*</span><span style="COLOR: #000000">key!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a'&amp;&amp;*key&lt;='z'){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char_node</span><span style="COLOR: #000000">=*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">-</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">A'&amp;&amp;*key&lt;='Z'){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char_node</span><span style="COLOR: #000000">=*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">-</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">A';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[char_node]</span><span style="COLOR: #000000">==</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[char_node]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Trie_node;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[char_node];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">num</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">p</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;char[strlen(g)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">p,g);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Trie::&nbsp;search(char&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key)</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">查找，找到后放于entry中，返回1<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Trie_node&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">root;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;char_node;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;k[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(k,key);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cur</span><span style="COLOR: #000000">&amp;&amp;*</span><span style="COLOR: #000000">key!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a'&amp;&amp;*key&lt;='z'){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char_node</span><span style="COLOR: #000000">=*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">-</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;{</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">A'&amp;&amp;*key&lt;='Z'){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char_node</span><span style="COLOR: #000000">=*</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">-</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">A';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;{return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">next</span><span style="COLOR: #000000">[char_node];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cur!</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">p!</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(rec</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">num</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){rec</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cur</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">num</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Trie&nbsp;t;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Least(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,k,q_len;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;ch,sh;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;q_len</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">strlen(q);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">q_len;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">q_len</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">,k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(k</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">i)k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q[k];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">\0';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.search(p);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ans</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">rec)ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">q_len;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q[i];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(sh</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a';sh&lt;='z';sh++){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sh;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.search(q);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ch;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ans</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">rec)ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(rec2</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">rec)rec2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">q_len;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q[j];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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">q_len;j</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">i;j</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">q[j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[q_len</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">\0';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(sh</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a';sh&lt;='z';sh++){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sh;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.search(p);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(p,q);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;p[q_len</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">\0';</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(sh</span><span style="COLOR: #000000">=</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">a';sh&lt;='z';sh++){</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[q_len]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">sh;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.search(p);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ans</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">rec)ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(rec2</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">rec)rec2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">rec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;t.insert(q);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,k,g,q_len;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,q)!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">EOF){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Least();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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">,ans);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}</span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/22442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-21 01:10 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/21/22442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pow函数比较不稳定，可以用自定义的pown函数进行计算</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21508.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:27:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21508.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21508.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21508.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21508.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21508.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">//</span><span style="COLOR: #000000">http:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">acm.hnu.cn:</span><span style="COLOR: #000000">8080</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">online</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">discuss</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">hostandfollow.jsp?hostid</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">97</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">problemid</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">10030</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">pow函数比较不稳定，可以用自定义的pown函数进行计算；&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">http:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">acm.pku.edu.cn</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">JudgeOnline</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">problem?id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">3199</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">math.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>__int64&nbsp;pown(__int64&nbsp;base,__int64&nbsp;n)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(n</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)return&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(n</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)return&nbsp;base;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(n%</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)return&nbsp;pown(base</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">base,n</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;return&nbsp;pown(base</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">base,n</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">base;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;N,D;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;base</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1000000000</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;maxn</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">pow(</span><span style="COLOR: #000000">2.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">62.5</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">N,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">D)</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(N!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">||D!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">&nbsp;max</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">pow(N,D);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(max</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">maxn){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%I64d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,pown(N,D));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;a1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pown(N,&nbsp;D&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;a2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pown(N,&nbsp;D&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;D&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;a1h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a1&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;base,&nbsp;a1l&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a1&nbsp;%&nbsp;base;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;a2h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a2&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;base,&nbsp;a2l&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a2&nbsp;%&nbsp;base;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;low&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a1l&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;a2l;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__int64&nbsp;hih&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a1h&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;a2h&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;base&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;a1h&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;a2l&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;a2h&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;a1l&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;low&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;base;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%I64d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;hih);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%09I64d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;low&nbsp;%&nbsp;base);</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">09格式化，9位不足左边用0补充上；&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}</span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:27 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21508.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>multimap实现一对多映射</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21507.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:21:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21507.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21507.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21507.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21507.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">map</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>using&nbsp;namespace&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;a,b;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;c;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;multimap</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">authors;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;multimap</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">::size_type&nbsp;sz_type;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">b){</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">输入键值和一实例；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authors.insert(make_pair(a,b));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sz_type&nbsp;entries&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;authors.count(a);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multimap</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">::iterator&nbsp;iter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;authors.find(a);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(sz_type&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">entries;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">,iter</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">second</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">b;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">删除某个实例；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multimap</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">::iterator&nbsp;it&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;authors.find(a);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(sz_type&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">entries;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">,it</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;it</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">second</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(it</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #0000ff">second</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">b){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authors.erase(it);</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">it指针被删除；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:21 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多源最短路径+最小路径覆盖</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21506.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:19:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21506.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21506.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21506.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21506.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21506.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">//</span><span style="COLOR: #000000">多源最短路；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">最小路径覆盖；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">http:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">acm.pku.edu.cn</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">JudgeOnline</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">problem?id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">3216</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>using&nbsp;namespace&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;MAX&nbsp;</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;M&nbsp;</span><span style="COLOR: #000000">201</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;INFF&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>bool&nbsp;b[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n,m,ans;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;g[MAX][MAX];</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">路径的邻接矩阵；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;link[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;p[MAX][MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;d[MAX][MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x[M],y[M],z[M];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">/*==========================================</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;http:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">topic.csdn.net</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">20020703</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">847300</span><span style="COLOR: #000000">.html<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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;Floyd</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Warshall&nbsp;&nbsp;&nbsp;算法&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[i,j]表示从i到j的最短距离；&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i,j]表示从i到j的最短路径上j的父节点&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #000000">===========================================*/</span><span style="COLOR: #000000">&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>void&nbsp;Floyd_Washall(){&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j,k;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">g[i][j];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">i;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[i][i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i][i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;k</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(d[i][k]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">d[k][j]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(d[i][j]</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">d[i][k]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">d[k][j]||d[i][j]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">INFF)){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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;d[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[i][k]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">d[k][j];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&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;p[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p[k][j];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">最小路径覆盖；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>bool&nbsp;find(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">x[a];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">x[i];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(d[r][j]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">y[a]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">z[a]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">d[r][j]</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">y[i]</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">!b[i]){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(link[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">||find(link[i])){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;link[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">m)!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">EOF</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">(n||m)){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&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">,g[i]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">j);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,x</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">i,y</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">i,z</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">i);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Floyd_Washall();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(link,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,sizeof(link));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">m;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(b,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,sizeof(b));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(find(i)){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&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">,m</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ans);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:19 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态创建二维数组</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21505.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:14:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21505.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21505.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21505.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21505.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n,</span><span style="COLOR: #000000">**</span><span style="COLOR: #000000">p;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>p</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">[n];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>p[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[n];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">p[i][j];&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;p[i][j]&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;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}</span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:14 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用链表构造邻接矩阵</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21504.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:10:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21504.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21504.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21504.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21504.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21504.html</trackback:ping><description><![CDATA[<p><a title=http://acm.pku.edu.cn/JudgeOnline/problem?id=3217 href="http://acm.pku.edu.cn/JudgeOnline/problem?id=3217">http://acm.pku.edu.cn/JudgeOnline/problem?id=3217</a><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">/*********************************************</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>http:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">acm.pku.edu.cn</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">JudgeOnline</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">problem?id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">3217</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;邻接距阵：<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;其中&nbsp;&nbsp;&nbsp;&nbsp;insert()函数是构造邻接距阵；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;find()函数是遍历距阵节点；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">**********************************************/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>using&nbsp;namespace&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;MAX&nbsp;</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>struct&nbsp;CON{</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">节点的父或子节点保存的信息；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;pos;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>};<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>struct&nbsp;NODE{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;sex;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;d1,d2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p,</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">son;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">此节点的父节点以及子节点；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}a[MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;ans;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;rec[MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;c1,c2;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>void&nbsp;Insert(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;con){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">h</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;CON;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[num].son</span><span style="COLOR: #000000">==</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">con;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[num].son</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">con;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[num].son;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[num].son</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[num].son;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(num</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">19</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(g){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">t&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;CON;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[con].p</span><span style="COLOR: #000000">==</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">num;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[con].p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">num;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[con].p;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[con].p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Find1(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[t].p;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;k;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec[t]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">/*********</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">/*</span><span style="COLOR: #000000">&nbsp;遍历父亲节点；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(h){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[k].d1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[t].d1</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find1(k);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">遍历儿子节点；<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">/*</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[t].son;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;j;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(g){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[j].d1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[t].d1</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find1(k);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #000000">*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Find2(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;t){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CON&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[t].p;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;k;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;rec[t]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(h){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">pos;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[k].d2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[t].d2</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find2(k);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;h</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">g;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main(){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;con,i;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NODE&nbsp;gg;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;gg.p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">gg.son</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;gg.sex</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;gg.d1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">gg.d2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">gg;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">c1,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">c2);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(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)!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">EOF){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(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">con)</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">con!</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">con!</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert(num,con);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[num].sex</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">con;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[c1].sex</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">a[c2].sex){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">same\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[c1].d1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find1(c1);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[c2].d2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find2(c2);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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">(a[i].d1</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">a[i].d2</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ans){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">close\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">marriage\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}</span></div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21504.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:10 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21504.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>nlogn的最大上升子序列长度算法</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21503.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 16:05:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21503.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21503.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/09/21503.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21503.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21503.html</trackback:ping><description><![CDATA[<p>/*转载大牛的程序：<br>&nbsp;&nbsp;&nbsp;先放着-_-<img src="http://www.cppblog.com/CuteSoft_Client/CuteEditor/images/face1.gif" align=absMiddle border=0><br>nlogn的最大上升子序列长度算法 <br>　　传统的最大上升子序列采用n2的动态规划算法，就求解一个最大上升子序列的具体序列来说，<br>暂时找不到更快的算法，但是如果只需要求解这个序列的长度，则存在一个更快的算法，复杂度是nlog2n。</p>
<p>&nbsp;</p>
<p>　　对于一个序列a[0]...a[n]，设F[i]表示到第i个数为止的最大上升子序列，我们考虑如这种情况，存<br>在0&lt;=y&lt;x&lt;i=n，若满足</p>
<p>(1) y&lt;x&lt;i;</p>
<p>(2) a[x]&lt;a[y]&lt;a[i];&nbsp; </p>
<p>(3) |F[x]| == |F[y]|; </p>
<p>&nbsp;(4) a[j] &lt; a[x], y &lt; j &lt; x</p>
<p>　　则此时F[i]应该由F[x]扩展而来，因为可能存在z满足</p>
<p>(1) y&lt;x&lt;z&lt;i;&nbsp; </p>
<p>(2) a[x]&lt;a[z]&lt;a[y]&lt;a[i]</p>
<p>(3) z &lt; min{j | a[j]&gt;a[y], j &gt; x}</p>
<p>　　则此时用F[x]扩展得到F[i]将长于F[y]扩展得到的子序列。 由此可得出结论，原序列第i个元素之前最长<br>子序列的解可能存在很多，但我们只需要尽可能使得那个最长子序列的最后一个元素的值最小，就能向后扩展得<br>到原串最长子序列。</p>
<p>　　求解的过程依然是一个动态规划的过程，我们采用一个数组d[k]，来描述到状态i时长度为k的子序列最后一<br>个元素的最小值。从状态i-1转移到状态i时，a[i]的加入影响到数组中的d[k]，k满足</p>
<p>k = max{a[i]&gt;d[j]} + 1</p>
<p>此时有</p>
<p>d[k] = min{d[k], a[i]}</p>
<p>　　由此我们会发现数组d一个明显的特征，即d是一个单调上升的序列，利用这个特性，我们可以采用二分法来<br>查找k的值，这样使得整体的时间复杂度从原来的n2变为nlog2n，但是在设计过程中应该要注意到数组d的首元素<br>和尾元素的处理。最后，我们所需要的值就是在末状态时d数组的最大下标值，这里值得注意的是数组d的下表的<br>最大值应该是在变化的——反观定义则可明显地得到这个特性。</p>
<p>　　一下是一段源代码，测试过一个小数据，设计中发现整个算法的难点在于二分法查找的设计。<br>*/<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cstdio</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cstdlib</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">climits</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>using&nbsp;namespace&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;MAX&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;d[MAX];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;max_subsequence&nbsp;(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;size&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;d[&nbsp;n&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;size;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;d[&nbsp;n&nbsp;]&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;a[&nbsp;i&nbsp;]&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">n&nbsp;]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[&nbsp;i&nbsp;];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;d[&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;a[&nbsp;i&nbsp;]&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[&nbsp;i&nbsp;];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">right</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n,&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;n&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;key&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;a[&nbsp;i&nbsp;];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">right</span><span style="COLOR: #000000">&nbsp;){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;d[&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;key&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;d[&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;key&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">right</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">right</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">left</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">right</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.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;(&nbsp;d[&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;key&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[&nbsp;</span><span style="COLOR: #0000ff">mid</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;key;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;n&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main&nbsp;(&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</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">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf&nbsp;(&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">a[&nbsp;i&nbsp;]&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;max_subsequence&nbsp;(&nbsp;n&nbsp;)&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">&nbsp;&nbsp;system&nbsp;(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pause</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;return&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>&nbsp;</p>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/21503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-09 00:05 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/09/21503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>高精度算法</title><link>http://www.cppblog.com/chgsh8089/archive/2007/04/08/21502.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 08 Apr 2007 15:57:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2007/04/08/21502.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/21502.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2007/04/08/21502.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/21502.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/21502.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 自己写的高精度算法：#include&lt;stdio.h&gt;#include&lt;memory.h&gt;#include&lt;iostream&gt;#include&lt;string.h&gt;#include&lt;math.h&gt;using&nbsp;namespace&nbsp;std;#define&nbsp;MAX&nbsp;10000#define&nbsp;D...&nbsp;&nbsp;<a href='http://www.cppblog.com/chgsh8089/archive/2007/04/08/21502.html'>阅读全文</a><img src ="http://www.cppblog.com/chgsh8089/aggbug/21502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2007-04-08 23:57 <a href="http://www.cppblog.com/chgsh8089/archive/2007/04/08/21502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小堆</title><link>http://www.cppblog.com/chgsh8089/archive/2006/11/12/15074.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 12 Nov 2006 06:28:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/11/12/15074.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/15074.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/11/12/15074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/15074.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/15074.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">#include</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 />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">#define</span>
				<span style="COLOR: #000000"> MAX 1000000</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> heap[MAX];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> MIN_HEAP<br /><img id="Codehighlighter1_68_129_Open_Image" onclick="this.style.display='none'; Codehighlighter1_68_129_Open_Text.style.display='none'; Codehighlighter1_68_129_Closed_Image.style.display='inline'; Codehighlighter1_68_129_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_68_129_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_68_129_Closed_Text.style.display='none'; Codehighlighter1_68_129_Open_Image.style.display='inline'; Codehighlighter1_68_129_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_68_129_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_68_129_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">:<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> len;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> del_min(</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> p);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> insert(</span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> x);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_160_349_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_349_Open_Text.style.display='none'; Codehighlighter1_160_349_Closed_Image.style.display='inline'; Codehighlighter1_160_349_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_160_349_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_160_349_Closed_Text.style.display='none'; Codehighlighter1_160_349_Open_Image.style.display='inline'; Codehighlighter1_160_349_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> MIN_HEAP::del_min(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> p)</span>
				<span id="Codehighlighter1_160_349_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_160_349_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> q</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">p</span>
						<span style="COLOR: #000000">&lt;&lt;</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">,a</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">heap[p]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">heap[len];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> heap[len</span>
						<span style="COLOR: #000000">--</span>
						<span style="COLOR: #000000">]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_225_322_Open_Image" onclick="this.style.display='none'; Codehighlighter1_225_322_Open_Text.style.display='none'; Codehighlighter1_225_322_Closed_Image.style.display='inline'; Codehighlighter1_225_322_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_225_322_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_225_322_Closed_Text.style.display='none'; Codehighlighter1_225_322_Open_Image.style.display='inline'; Codehighlighter1_225_322_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(q</span>
						<span style="COLOR: #000000">&lt;=</span>
						<span style="COLOR: #000000">len)</span>
						<span id="Codehighlighter1_225_322_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_225_322_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(q</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">len</span>
								<span style="COLOR: #000000">&amp;&amp;</span>
								<span style="COLOR: #000000">heap[q</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">]</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">heap[q])q</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(heap[q]</span>
								<span style="COLOR: #000000">&gt;=</span>
								<span style="COLOR: #000000">a)</span>
								<span style="COLOR: #0000ff">break</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  heap[p]</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">heap[q];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  p</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">q;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  q</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">p</span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> heap[p]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">a;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> len;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img id="Codehighlighter1_378_506_Open_Image" onclick="this.style.display='none'; Codehighlighter1_378_506_Open_Text.style.display='none'; Codehighlighter1_378_506_Closed_Image.style.display='inline'; Codehighlighter1_378_506_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_378_506_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_378_506_Closed_Text.style.display='none'; Codehighlighter1_378_506_Open_Image.style.display='inline'; Codehighlighter1_378_506_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> MIN_HEAP::insert(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> x)</span>
				<span id="Codehighlighter1_378_506_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_378_506_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> heap[</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">len]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">x;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> p</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">len;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> q</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">p</span>
						<span style="COLOR: #000000">&gt;&gt;</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">,a</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">x;<br /><img id="Codehighlighter1_445_478_Open_Image" onclick="this.style.display='none'; Codehighlighter1_445_478_Open_Text.style.display='none'; Codehighlighter1_445_478_Closed_Image.style.display='inline'; Codehighlighter1_445_478_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_445_478_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_445_478_Closed_Text.style.display='none'; Codehighlighter1_445_478_Open_Image.style.display='inline'; Codehighlighter1_445_478_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(q</span>
						<span style="COLOR: #000000">&amp;&amp;</span>
						<span style="COLOR: #000000">a</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">heap[q])</span>
						<span id="Codehighlighter1_445_478_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_445_478_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  heap[p]</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">heap[q];p</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">q;q</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">p</span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> heap[ p]</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">a;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> len;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_519_833_Open_Image" onclick="this.style.display='none'; Codehighlighter1_519_833_Open_Text.style.display='none'; Codehighlighter1_519_833_Closed_Image.style.display='inline'; Codehighlighter1_519_833_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_519_833_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_519_833_Closed_Text.style.display='none'; Codehighlighter1_519_833_Open_Image.style.display='inline'; Codehighlighter1_519_833_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_519_833_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_519_833_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> n,i,j,x;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> MIN_HEAP min_heap;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> 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">n);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000">(i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;i</span>
						<span style="COLOR: #000000">&lt;=</span>
						<span style="COLOR: #000000">n;i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)scanf(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">%d</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">,heap</span>
						<span style="COLOR: #000000">+</span>
						<span style="COLOR: #000000">i);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> min_heap.len</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">n; <br /><img id="Codehighlighter1_650_820_Open_Image" onclick="this.style.display='none'; Codehighlighter1_650_820_Open_Text.style.display='none'; Codehighlighter1_650_820_Closed_Image.style.display='inline'; Codehighlighter1_650_820_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_650_820_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_650_820_Closed_Text.style.display='none'; Codehighlighter1_650_820_Open_Image.style.display='inline'; Codehighlighter1_650_820_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(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">j))</span>
						<span id="Codehighlighter1_650_820_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_650_820_Open_Text">
								<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_661_707_Open_Image" onclick="this.style.display='none'; Codehighlighter1_661_707_Open_Text.style.display='none'; Codehighlighter1_661_707_Closed_Image.style.display='inline'; Codehighlighter1_661_707_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_661_707_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_661_707_Closed_Text.style.display='none'; Codehighlighter1_661_707_Open_Image.style.display='inline'; Codehighlighter1_661_707_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(j</span>
								<span style="COLOR: #000000">&gt;</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">)</span>
								<span id="Codehighlighter1_661_707_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_661_707_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   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">x);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   min_heap.insert(x);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />  }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img id="Codehighlighter1_715_743_Open_Image" onclick="this.style.display='none'; Codehighlighter1_715_743_Open_Text.style.display='none'; Codehighlighter1_715_743_Closed_Image.style.display='inline'; Codehighlighter1_715_743_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_715_743_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_715_743_Closed_Text.style.display='none'; Codehighlighter1_715_743_Open_Image.style.display='inline'; Codehighlighter1_715_743_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">else</span>
								<span id="Codehighlighter1_715_743_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_715_743_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   min_heap.del_min(</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />  }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;i</span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000">min_heap.len;i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">%d </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,heap[i]);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">\n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
		<br />看了那么久终于看完了，唉~真不知道该开心还是难过，看了又忘，先贴着有时间多看两下5555555<img src ="http://www.cppblog.com/chgsh8089/aggbug/15074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-11-12 14:28 <a href="http://www.cppblog.com/chgsh8089/archive/2006/11/12/15074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>快速计算某个日期是星期几的经验公式</title><link>http://www.cppblog.com/chgsh8089/archive/2006/10/24/14101.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Tue, 24 Oct 2006 13:27:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/10/24/14101.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/14101.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/10/24/14101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/14101.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/14101.html</trackback:ping><description><![CDATA[转载：<br />　<a href="http://blog.sina.com.cn/u/53c02915010004ao">http://blog.sina.com.cn/u/53c02915010004ao</a><br />//快速计算星期几的公式<br />#include&lt;stdio.h&gt;<br />char *name[] = { "monday",<br />                 "tuesday",<br />                 "wednesday",<br />                "thursday",<br />                "friday",<br />                "saturday",<br />                "sunday"<br />               };<br />void main(){<br />  int D,M,Y,A;<br />  scanf("%d%d%d",&amp;Y,&amp;M,&amp;D);<br />  if ((M == 1) || (M == 2)){<br />    M += 12;<br />    Y--;<br />  }<br />  A = (D + 2*M + 3*(M+1)/5 + Y + Y/4 - Y/100 + Y/400) % 7;<br />  printf("%s\n",name[A]);<br />}<br /><img src ="http://www.cppblog.com/chgsh8089/aggbug/14101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-10-24 21:27 <a href="http://www.cppblog.com/chgsh8089/archive/2006/10/24/14101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>扩展欧几里德算法－求解不定方程，线性同余方程</title><link>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13975.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sat, 21 Oct 2006 17:59:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13975.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/13975.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13975.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/13975.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/13975.html</trackback:ping><description><![CDATA[转：<br /><a href="http://www.mscenter.edu.cn/blog/jeffrey/articles/5994.html"><br />http://www.mscenter.edu.cn/blog/jeffrey/articles/5994.html</a><br /><a href="http://hi.baidu.com/xknuth/blog/item/491bf9198e26227adab4bded.html">http://hi.baidu.com/xknuth/blog/item/491bf9198e26227adab4bded.html</a><br /><a href="http://www.faq-it.org/archives/structure/0f0aeab192b1e0bdbd84d19d4ab80a28.php">http://www.faq-it.org/archives/structure/0f0aeab192b1e0bdbd84d19d4ab80a28.php</a><br /><br />有等式ax+by=c,已知a、b、c,求x和y。  (a、b、c、x、y都是整数)  <br /><span class="yinchang"><a href="http://www.faq-it.org/archives/uml_practice/">uml_practice</a></span>  <br />---------------------------------------------------------------  <br /> <br />解不定方程ax  +  by  =  n的步骤如下:  <br /> <br />(1)计算gcd(a,  b).  若gcd(a,  b)不能整除n，则方程无整数解；否则，在方程的两边同除以gcd(a,  b)，得到新的不定方程a'x  +  b'y  =  n'，此时gcd(a',  b')  =  1  <br /> <br />(2)求出不定方程a'x  +  b'y  =  1的一组整数解x0,  y0，则n'x0，n'y0是方程a'x  +  b'y  =  n'的一组整数解。  <br /> <br />(3)根据&amp;@^%W#&amp;定理，可得方程a'x  +  b'y  =  n'的所有整数解为：  <br />x  =  n'x0  +  b't  <br />y  =  n'y0  -  a't  <br />(t为整数)  <br />这也就是方程ax  +  by  =  n的所有整数解  <br /> <br />利用扩展的欧几里德算法，计算(a,  b)和满足d  =  (a,  b)  =  ax0  +  by0的x0和y0，也就是求出了满足a'x0  +  b'y0  =  1的一组整数解。因此可得：  <br />x  =  n/d  *  x0  +  b/d  *  t  <br />y  =  n/d  *  y0  -  a/d  *  t  <br />(t是整数)  <img src ="http://www.cppblog.com/chgsh8089/aggbug/13975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-10-22 01:59 <a href="http://www.cppblog.com/chgsh8089/archive/2006/10/22/13975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小路覆盖</title><link>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13973.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sat, 21 Oct 2006 16:59:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13973.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/13973.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/10/22/13973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/13973.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/13973.html</trackback:ping><description><![CDATA[
		<table class="seyle4" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td class="content9">
										<strong>转：<br /><a href="http://caojia321.blogchina.com/2415567.html">http://caojia321.blogchina.com/2415567.html</a><br /><br />最小路径覆盖</strong>
								</td>
						</tr>
						<tr>
								<td>
										<div align="right">
												<span class="textbox-label">[ 2006-9-11 10:57:00 | By: <span class="style3">Irvin</span> ]</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td height="3"> </td>
						</tr>
				</tbody>
		</table>
		<table style="TABLE-LAYOUT: fixed" cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
				<tbody>
						<tr>
								<td>
										<span class="oblog_text">
												<p>最小路径覆盖：<br />该问题就是求一个边的集合的个数，集合满足下述条件：<br />1 集合之中不能有相交边，却是一个通路。<br />2 所有的集合中的边要覆盖所有的顶点。<br />3 集合个个数最少<br />注：求最小路径覆盖的前提是该图是有向无环图。所以answer＝顶点数－最小覆盖的边数</p>
												<p>该问题可以转化成二分匹配来做：<br />怎样构造二分图：<br />1 把一个顶点i划分成两个顶点Xi和Yi<br />2 如果顶点i到j可达，则Xi指向Yi</p>
												<p>分析：<br />由于是有向无环图，所以每次匹配都不可能形成环，也就是不可能有两个不同的点<br />指向同一个点，这样每加进一条边，覆盖的点数就会多一个。最大匹配数就是最小覆盖的边数。</p>
										</span>
								</td>
						</tr>
				</tbody>
		</table>
		<br />题目：<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1422">http://acm.pku.edu.cn/JudgeOnline/problem?id=1422</a><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include</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 /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">memory.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> MAX</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">121</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> c[MAX][MAX];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> link[MAX];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> s[MAX];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> find(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br /><img id="Codehighlighter1_125_292_Open_Image" onclick="this.style.display='none'; Codehighlighter1_125_292_Open_Text.style.display='none'; Codehighlighter1_125_292_Closed_Image.style.display='inline'; Codehighlighter1_125_292_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_125_292_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_125_292_Closed_Text.style.display='none'; Codehighlighter1_125_292_Open_Image.style.display='inline'; Codehighlighter1_125_292_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_125_292_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_125_292_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i;<br /><img id="Codehighlighter1_153_275_Open_Image" onclick="this.style.display='none'; Codehighlighter1_153_275_Open_Text.style.display='none'; Codehighlighter1_153_275_Closed_Image.style.display='inline'; Codehighlighter1_153_275_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_153_275_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_153_275_Closed_Text.style.display='none'; Codehighlighter1_153_275_Open_Image.style.display='inline'; Codehighlighter1_153_275_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_153_275_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_153_275_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_180_272_Open_Image" onclick="this.style.display='none'; Codehighlighter1_180_272_Open_Text.style.display='none'; Codehighlighter1_180_272_Closed_Image.style.display='inline'; Codehighlighter1_180_272_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_180_272_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_180_272_Closed_Text.style.display='none'; Codehighlighter1_180_272_Open_Image.style.display='inline'; Codehighlighter1_180_272_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">s[i])</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">c[x][i]</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_180_272_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_180_272_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            s[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_228_268_Open_Image" onclick="this.style.display='none'; Codehighlighter1_228_268_Open_Text.style.display='none'; Codehighlighter1_228_268_Closed_Image.style.display='inline'; Codehighlighter1_228_268_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_228_268_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_228_268_Closed_Text.style.display='none'; Codehighlighter1_228_268_Open_Image.style.display='inline'; Codehighlighter1_228_268_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(link[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">find(link[i]))</span><span id="Codehighlighter1_228_268_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_228_268_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                link[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">x;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_305_651_Open_Image" onclick="this.style.display='none'; Codehighlighter1_305_651_Open_Text.style.display='none'; Codehighlighter1_305_651_Closed_Image.style.display='inline'; Codehighlighter1_305_651_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_305_651_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_305_651_Closed_Text.style.display='none'; Codehighlighter1_305_651_Open_Image.style.display='inline'; Codehighlighter1_305_651_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_305_651_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_305_651_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t,m;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a,b;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ans;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    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">t);<br /><img id="Codehighlighter1_373_638_Open_Image" onclick="this.style.display='none'; Codehighlighter1_373_638_Open_Text.style.display='none'; Codehighlighter1_373_638_Closed_Image.style.display='inline'; Codehighlighter1_373_638_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_373_638_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_373_638_Closed_Text.style.display='none'; Codehighlighter1_373_638_Open_Image.style.display='inline'; Codehighlighter1_373_638_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(t</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_373_638_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_373_638_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">m);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        memset(c,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(c));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        memset(link,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(link));<br /><img id="Codehighlighter1_472_514_Open_Image" onclick="this.style.display='none'; Codehighlighter1_472_514_Open_Text.style.display='none'; Codehighlighter1_472_514_Closed_Image.style.display='inline'; Codehighlighter1_472_514_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_472_514_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_472_514_Closed_Text.style.display='none'; Codehighlighter1_472_514_Open_Image.style.display='inline'; Codehighlighter1_472_514_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">m;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_472_514_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_472_514_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">a,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">b);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            c[a][b]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_544_610_Open_Image" onclick="this.style.display='none'; Codehighlighter1_544_610_Open_Text.style.display='none'; Codehighlighter1_544_610_Closed_Image.style.display='inline'; Codehighlighter1_544_610_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_544_610_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_544_610_Closed_Text.style.display='none'; Codehighlighter1_544_610_Open_Image.style.display='inline'; Codehighlighter1_544_610_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_544_610_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_544_610_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            memset(s,</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(s));<br /><img id="Codehighlighter1_590_606_Open_Image" onclick="this.style.display='none'; Codehighlighter1_590_606_Open_Text.style.display='none'; Codehighlighter1_590_606_Closed_Image.style.display='inline'; Codehighlighter1_590_606_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_590_606_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_590_606_Closed_Text.style.display='none'; Codehighlighter1_590_606_Open_Image.style.display='inline'; Codehighlighter1_590_606_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(find(i))</span><span id="Codehighlighter1_590_606_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_606_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                ans</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">ans);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><img src ="http://www.cppblog.com/chgsh8089/aggbug/13973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-10-22 00:59 <a href="http://www.cppblog.com/chgsh8089/archive/2006/10/22/13973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>匈牙利算法</title><link>http://www.cppblog.com/chgsh8089/archive/2006/10/01/13205.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 01 Oct 2006 12:06:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/10/01/13205.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/13205.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/10/01/13205.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/13205.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/13205.html</trackback:ping><description><![CDATA[转贴：<br /><a href="http://baike.baidu.com/view/501092.htm">http://baike.baidu.com/view/501092.htm</a><br /><div class="box2"><span class="Tit">匈牙利算法</span></div><table class="htb wr" cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td><div class="box2 p14">求最大匹配的一种显而易见的算法是：先找出全部匹配，然后保留匹配数最多的。但是这个算法的复杂度为边数的指数级函数。因此，需要寻求一种更加高效的算法。<br />增广路的定义(也称增广轨或交错轨)：<br />若P是图G中一条连通两个未匹配顶点的路径，并且属M的边和不属M的边(即已匹配和待匹配的边)在P上交替出现，则称P为相对于M的一条增广路径。<br />由增广路的定义可以推出下述三个结论：<br />1－P的路径长度必定为奇数，第一条边和最后一条边都不属于M。<br />2－P经过取反操作可以得到一个更大的匹配M’。<br />3－M为G的最大匹配当且仅当不存在相对于M的增广路径。<br />用增广路求最大匹配(称作匈牙利算法，匈牙利数学家Edmonds于1965年提出)<br />算法轮廓：<br />(1)置M为空<br />(2)找出一条增广路径P，通过取反操作获得更大的匹配M’代替M<br />(3)重复(2)操作直到找不出增广路径为止<br /><br />程序清单：<br />#include&lt;stdio.h&gt;<br />#include&lt;string.h&gt;<br /><br />bool g[201][201];<br />int n,m,ans;<br />bool b[201];<br />int link[201];<br /><br />bool init()<br />{<br />        int _x,_y;<br />        memset(g,0,sizeof(g));<br />        memset(link,0,sizeof(link));<br />        ans=0;<br />        if(scanf("%d%d",&amp;n,&amp;m)==EOF)return false;<br />        for(int i=1;i&lt;=n;i++)<br />        {<br />                scanf("%d",&amp;_x);<br />                for(int j=0;j&lt;_x;j++)<br />                {<br />                        scanf("%d",&amp;_y);<br />                        g[i][_y]=true;<br />                }<br />        }<br />        return true;<br />}<br /><br />bool find(int a)<br />{<br />        for(int i=1;i&lt;=m;i++)<br />        {<br />                if(g[a][i]==1&amp;&amp;!b[i])<br />                {<br />                        b[i]=true;<br />                        if(link[i]==0||find(link[i]))<br />                        {<br />                                link[i]=a;<br />                                return true;<br />                        }<br />                }<br />        }<br />        return false;<br />}<br /><br />int main()<br />{<br />        while(init())<br />        {<br />                for(int i=1;i&lt;=n;i++)<br />                {<br />                        memset(b,0,sizeof(b));<br />                        if(find(i))ans++;<br />                }<br />                printf("%d\n",ans);<br />        }<br />}<br />下面是同宿舍的小小牛写的，一起贴上吧，呵呵：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">fstream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> MAXN </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> uN, vN; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> g[MAXN][MAXN];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">g[i][j] 表示 xi与yj相连 </span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> xM[MAXN], yM[MAXN]; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 输出量 </span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> chk[MAXN]; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">辅助量 检查某轮 y[v]是否被check </span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> SearchPath(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> u)<br /><img id="Codehighlighter1_237_441_Open_Image" onclick="this.style.display='none'; Codehighlighter1_237_441_Open_Text.style.display='none'; Codehighlighter1_237_441_Closed_Image.style.display='inline'; Codehighlighter1_237_441_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_237_441_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_237_441_Closed_Text.style.display='none'; Codehighlighter1_237_441_Open_Image.style.display='inline'; Codehighlighter1_237_441_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_237_441_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_237_441_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> v;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (v</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; v</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">vN; v</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_270_424_Open_Image" onclick="this.style.display='none'; Codehighlighter1_270_424_Open_Text.style.display='none'; Codehighlighter1_270_424_Closed_Image.style.display='inline'; Codehighlighter1_270_424_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_270_424_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_270_424_Closed_Text.style.display='none'; Codehighlighter1_270_424_Open_Image.style.display='inline'; Codehighlighter1_270_424_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_270_424_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_270_424_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (g[u][v] </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">chk[v])<br /><img id="Codehighlighter1_300_421_Open_Image" onclick="this.style.display='none'; Codehighlighter1_300_421_Open_Text.style.display='none'; Codehighlighter1_300_421_Closed_Image.style.display='inline'; Codehighlighter1_300_421_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_300_421_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_300_421_Closed_Text.style.display='none'; Codehighlighter1_300_421_Open_Image.style.display='inline'; Codehighlighter1_300_421_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_300_421_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_300_421_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            chk[v] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (yM[v] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> SearchPath(yM[v])) <br /><img id="Codehighlighter1_365_417_Open_Image" onclick="this.style.display='none'; Codehighlighter1_365_417_Open_Text.style.display='none'; Codehighlighter1_365_417_Closed_Image.style.display='inline'; Codehighlighter1_365_417_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_365_417_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_365_417_Closed_Text.style.display='none'; Codehighlighter1_365_417_Open_Image.style.display='inline'; Codehighlighter1_365_417_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_365_417_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_365_417_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                yM[v] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> u;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                xM[u] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> v;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> MaxMatch()<br /><img id="Codehighlighter1_459_674_Open_Image" onclick="this.style.display='none'; Codehighlighter1_459_674_Open_Text.style.display='none'; Codehighlighter1_459_674_Closed_Image.style.display='inline'; Codehighlighter1_459_674_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_459_674_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_459_674_Closed_Text.style.display='none'; Codehighlighter1_459_674_Open_Image.style.display='inline'; Codehighlighter1_459_674_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_459_674_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_459_674_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> u;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ret </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memset(xM, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(xM));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memset(yM, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(yM));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (u</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; u</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">uN; u</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_564_659_Open_Image" onclick="this.style.display='none'; Codehighlighter1_564_659_Open_Text.style.display='none'; Codehighlighter1_564_659_Closed_Image.style.display='inline'; Codehighlighter1_564_659_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_564_659_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_564_659_Closed_Text.style.display='none'; Codehighlighter1_564_659_Open_Image.style.display='inline'; Codehighlighter1_564_659_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_564_659_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_564_659_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (xM[u] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_587_656_Open_Image" onclick="this.style.display='none'; Codehighlighter1_587_656_Open_Text.style.display='none'; Codehighlighter1_587_656_Closed_Image.style.display='inline'; Codehighlighter1_587_656_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_587_656_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_587_656_Closed_Text.style.display='none'; Codehighlighter1_587_656_Open_Image.style.display='inline'; Codehighlighter1_587_656_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_587_656_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_587_656_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            memset(chk, </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(chk));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (SearchPath(u)) ret</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ret;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_688_921_Open_Image" onclick="this.style.display='none'; Codehighlighter1_688_921_Open_Text.style.display='none'; Codehighlighter1_688_921_Closed_Image.style.display='inline'; Codehighlighter1_688_921_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_688_921_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_688_921_Closed_Text.style.display='none'; Codehighlighter1_688_921_Open_Image.style.display='inline'; Codehighlighter1_688_921_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_688_921_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_688_921_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, k; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> tU, tV;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ifstream cin(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test.txt</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> uN </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> vN </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> k;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    memset(g, </span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(g));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">k; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_817_859_Open_Image" onclick="this.style.display='none'; Codehighlighter1_817_859_Open_Text.style.display='none'; Codehighlighter1_817_859_Closed_Image.style.display='inline'; Codehighlighter1_817_859_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_817_859_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_817_859_Closed_Text.style.display='none'; Codehighlighter1_817_859_Open_Image.style.display='inline'; Codehighlighter1_817_859_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_817_859_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_817_859_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> tU </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> tV;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        g[tU][tV] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> MaxMatch() </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    system(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pause</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000">  </span></div></div></td></tr></tbody></table><img src ="http://www.cppblog.com/chgsh8089/aggbug/13205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-10-01 20:06 <a href="http://www.cppblog.com/chgsh8089/archive/2006/10/01/13205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>公约数与公倍数（代码）</title><link>http://www.cppblog.com/chgsh8089/archive/2006/09/26/12965.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Mon, 25 Sep 2006 16:21:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/09/26/12965.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/12965.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/09/26/12965.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/12965.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/12965.html</trackback:ping><description><![CDATA[#include&lt;stdio.h&gt;<br />class gcd_lcm<br />{<br />public:<br /> int gcd(int a,int b);<br /> int lcm(int a,int b);<br />};<br />int gcd_lcm::gcd(int a,int b)//great common divisor;<br />{<br /> if(b==0)return a;<br /> else return gcd(b,a%b);<br />}<br />int gcd_lcm::lcm(int a, int b)//least common multiple;<br />{<br /> if(a*b==0)return 0;<br /> else return a*b/gcd(a,b);<br />}<br /><img src ="http://www.cppblog.com/chgsh8089/aggbug/12965.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-09-26 00:21 <a href="http://www.cppblog.com/chgsh8089/archive/2006/09/26/12965.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>国家队论文</title><link>http://www.cppblog.com/chgsh8089/archive/2006/09/17/12579.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sun, 17 Sep 2006 06:30:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/09/17/12579.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/12579.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/09/17/12579.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/12579.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/12579.html</trackback:ping><description><![CDATA[下面连接上有到2006的国家队论文，很齐全..<br />转：<a href="http://juart.wpfans.org/?p=22"><br />http://juart.wpfans.org/?p=22</a><br /><img src ="http://www.cppblog.com/chgsh8089/aggbug/12579.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-09-17 14:30 <a href="http://www.cppblog.com/chgsh8089/archive/2006/09/17/12579.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>问题：UnionFindSet</title><link>http://www.cppblog.com/chgsh8089/archive/2006/09/02/11943.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Fri, 01 Sep 2006 16:27:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/09/02/11943.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11943.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/09/02/11943.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11943.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11943.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=2236">http://acm.pku.edu.cn/JudgeOnline/problem?id=2236</a>
				<br />#include&lt;stdio.h&gt;<br />#include&lt;math.h&gt;<br />#include&lt;iostream&gt;<br />using namespace std;<br />const int MAX = 1100;<br />int join[MAX];<br />double dis[MAX][MAX];<br />double zuob[MAX][2];</p>
		<p>class UnionFindSet<br />{<br />public:<br /> int parent[MAX];<br /> UnionFindSet();<br />    int Union(int x, int y);<br /> int Find(int i);<br />};<br />UnionFindSet::UnionFindSet()<br />{<br /> memset(parent,-1,sizeof(parent));<br />}<br />int UnionFindSet::Union(int x, int y)<br />{<br /> x = Find(x);<br /> y = Find(y);<br /> // 找出的根节点x,parent[x]中保存的是根为x的元素的个数的相反数;<br /> int temp = parent[x] + parent[y];<br /> if(parent[x] &gt;= parent[y])<br /> {<br />  parent[y] = x;<br />  parent[x] = temp;<br /> }<br /> else{<br />  parent[x] = y;<br />  parent[y] = temp;<br /> }<br /> return 0;<br />}<br />int UnionFindSet:: Find(int i)<br />{<br /> if(parent[i] &lt; 0)<br />  return i;<br /> else{<br />  parent[i] = Find(parent[i]);//压缩路径;<br /> }<br />}<br />int main()<br />{<br /> UnionFindSet test;<br /> int top;<br /> int n, m1,m2;<br /> int i,j;<br /> double d;<br /> char p;<br /> scanf("%d%lf",&amp;n,&amp;d);<br /> for(i=1;i&lt;=n;i++){<br />  scanf("%lf%lf",&amp;zuob[i][0],&amp;zuob[i][1]);<br /> }<br /> for(i=1;i&lt;=n;i++)<br />  for(j=i+1;j&lt;=n;j++)<br />   dis[j][i]=dis[i][j]=sqrt((zuob[i][0]-zuob[j][0])*(zuob[i][0]-zuob[j][0])<br />               +(zuob[i][1] - zuob[j][1])*(zuob[i][1]-zuob[j][1]));<br /> top=0;<br /> while(scanf("\n%c",&amp;p)!=EOF){<br />  if(p=='O'){<br />   scanf("%d",&amp;m1);<br />   join[top]=m1;<br />   for(i=0;i&lt;top;i++){<br />    if(dis[join[i]][m1]&lt;=d){<br />     //判断两个数是否已经为同一集合;<br />     //把if删掉后就re了.为什么会这样呢?<br />     if(test.Find(join[i])!=test.Find(m1))<br />        test.Union(join[i],m1);<br />    }<br />   }<br />   top++;<br />  }<br />  else{<br />   scanf("%d%d",&amp;m1,&amp;m2);<br />   if(test.Find(m1)==test.Find(m2))<br />      printf("SUCCESS\n");<br />   else printf("FAIL\n");<br />  }<br /> }<br /> return 0;<br />}<br /></p>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/11943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-09-02 00:27 <a href="http://www.cppblog.com/chgsh8089/archive/2006/09/02/11943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>问题：1159Palindrome</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/28/11766.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Mon, 28 Aug 2006 02:47:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/28/11766.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11766.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/28/11766.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11766.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11766.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1159">http://acm.pku.edu.cn/JudgeOnline/problem?id=1159</a>
				<br />
		</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">tle的代码：<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />   #include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">iostream</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </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 />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">using</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> std;<br /><img id="Codehighlighter1_93_95_Open_Image" onclick="this.style.display='none'; Codehighlighter1_93_95_Open_Text.style.display='none'; Codehighlighter1_93_95_Closed_Image.style.display='inline'; Codehighlighter1_93_95_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_93_95_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_93_95_Closed_Text.style.display='none'; Codehighlighter1_93_95_Open_Image.style.display='inline'; Codehighlighter1_93_95_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">short</span>
				<span style="COLOR: #000000"> a[</span>
				<span style="COLOR: #000000">5010</span>
				<span style="COLOR: #000000">][</span>
				<span style="COLOR: #000000">5010</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span id="Codehighlighter1_93_95_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_93_95_Open_Text">
						<span style="COLOR: #000000">{</span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">}</span>
				</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">char</span>
				<span style="COLOR: #000000"> p[</span>
				<span style="COLOR: #000000">5010</span>
				<span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_123_917_Open_Image" onclick="this.style.display='none'; Codehighlighter1_123_917_Open_Text.style.display='none'; Codehighlighter1_123_917_Closed_Image.style.display='inline'; Codehighlighter1_123_917_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_123_917_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_123_917_Closed_Text.style.display='none'; Codehighlighter1_123_917_Open_Image.style.display='inline'; Codehighlighter1_123_917_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_123_917_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_123_917_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> l;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i, j , t, k </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(scanf(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">%d%s</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">,</span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">l,p)</span>
						<span style="COLOR: #000000">!=</span>
						<span style="COLOR: #000000">EOF)<br /><img id="Codehighlighter1_200_901_Open_Image" onclick="this.style.display='none'; Codehighlighter1_200_901_Open_Text.style.display='none'; Codehighlighter1_200_901_Closed_Image.style.display='inline'; Codehighlighter1_200_901_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_200_901_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_200_901_Closed_Text.style.display='none'; Codehighlighter1_200_901_Open_Image.style.display='inline'; Codehighlighter1_200_901_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_200_901_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_200_901_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        k </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">下面for语句产生l=5000的测试数据；</span>
								<span style="COLOR: #008000">
										<br />
										<img id="Codehighlighter1_250_378_Open_Image" onclick="this.style.display='none'; Codehighlighter1_250_378_Open_Text.style.display='none'; Codehighlighter1_250_378_Closed_Image.style.display='inline'; Codehighlighter1_250_378_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_250_378_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_250_378_Closed_Text.style.display='none'; Codehighlighter1_250_378_Open_Image.style.display='inline'; Codehighlighter1_250_378_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000"> </span>
								<span id="Codehighlighter1_250_378_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_250_378_Open_Text">
										<span style="COLOR: #008000">/*</span>
										<span style="COLOR: #008000">       l = 5000;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        for(i = 0; i &lt; 5000; i++)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            p[i] = 'b';<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        p[0] = '1';<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        p[i] = '\0';<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        </span>
										<span style="COLOR: #008000">*/</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(t </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">; t </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> l; t</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_419_858_Open_Image" onclick="this.style.display='none'; Codehighlighter1_419_858_Open_Text.style.display='none'; Codehighlighter1_419_858_Closed_Image.style.display='inline'; Codehighlighter1_419_858_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_419_858_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_419_858_Closed_Text.style.display='none'; Codehighlighter1_419_858_Open_Image.style.display='inline'; Codehighlighter1_419_858_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_419_858_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_419_858_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(i </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;i</span>
										<span style="COLOR: #000000">&lt;</span>
										<span style="COLOR: #000000">l</span>
										<span style="COLOR: #000000">-</span>
										<span style="COLOR: #000000">t;i</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_464_847_Open_Image" onclick="this.style.display='none'; Codehighlighter1_464_847_Open_Text.style.display='none'; Codehighlighter1_464_847_Closed_Image.style.display='inline'; Codehighlighter1_464_847_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_464_847_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_464_847_Closed_Text.style.display='none'; Codehighlighter1_464_847_Open_Image.style.display='inline'; Codehighlighter1_464_847_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />           </span>
										<span id="Codehighlighter1_464_847_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_464_847_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />               j </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> i </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> t;<br /><img id="Codehighlighter1_523_685_Open_Image" onclick="this.style.display='none'; Codehighlighter1_523_685_Open_Text.style.display='none'; Codehighlighter1_523_685_Closed_Image.style.display='inline'; Codehighlighter1_523_685_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_523_685_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_523_685_Closed_Text.style.display='none'; Codehighlighter1_523_685_Open_Image.style.display='inline'; Codehighlighter1_523_685_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />               </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(p[i] </span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000"> p[j])</span>
												<span id="Codehighlighter1_523_685_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_523_685_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">k++;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   </span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">把下面的换成k++对l=5000这组数据时间就不用那么多了，为什么啊？不都是一次运算么,运算时间不是相同的？</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                   a[i][j] </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> a[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">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />               }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img id="Codehighlighter1_706_833_Open_Image" onclick="this.style.display='none'; Codehighlighter1_706_833_Open_Text.style.display='none'; Codehighlighter1_706_833_Closed_Image.style.display='inline'; Codehighlighter1_706_833_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="Codehighlighter1_706_833_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_706_833_Closed_Text.style.display='none'; Codehighlighter1_706_833_Open_Image.style.display='inline'; Codehighlighter1_706_833_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />               </span>
												<span style="COLOR: #0000ff">else</span>
												<span id="Codehighlighter1_706_833_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_706_833_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span>
														<span style="COLOR: #0000ff">if</span>
														<span style="COLOR: #000000">(a[i</span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">][j]</span>
														<span style="COLOR: #000000">&lt;</span>
														<span style="COLOR: #000000">a[i][j</span>
														<span style="COLOR: #000000">-</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">])a[i][j]</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">a[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">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span>
														<span style="COLOR: #0000ff">else</span>
														<span style="COLOR: #000000"> a[i][j]</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">a[i][j</span>
														<span style="COLOR: #000000">-</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">]</span>
														<span style="COLOR: #000000">+</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />               }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														<br />
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span>
										</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">%d\n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">, a[</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">][l</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">]);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<br />ac的代码：
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include </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 /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_30_761_Open_Image" onclick="this.style.display='none'; Codehighlighter1_30_761_Open_Text.style.display='none'; Codehighlighter1_30_761_Closed_Image.style.display='inline'; Codehighlighter1_30_761_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_30_761_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_761_Closed_Text.style.display='none'; Codehighlighter1_30_761_Open_Image.style.display='inline'; Codehighlighter1_30_761_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_30_761_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_30_761_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_51_53_Open_Image" onclick="this.style.display='none'; Codehighlighter1_51_53_Open_Text.style.display='none'; Codehighlighter1_51_53_Closed_Image.style.display='inline'; Codehighlighter1_51_53_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_51_53_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_51_53_Closed_Text.style.display='none'; Codehighlighter1_51_53_Open_Image.style.display='inline'; Codehighlighter1_51_53_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id="Codehighlighter1_51_53_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_51_53_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> ch[</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i,j,n,t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> current;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> before;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n,p</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        current</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        before </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           ch[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p[n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           ch[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">   printf("%s %s\n",p+1,ch+1);</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_359_710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_359_710_Open_Text.style.display='none'; Codehighlighter1_359_710_Closed_Image.style.display='inline'; Codehighlighter1_359_710_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_359_710_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_359_710_Closed_Text.style.display='none'; Codehighlighter1_359_710_Open_Image.style.display='inline'; Codehighlighter1_359_710_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_359_710_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_359_710_Open_Text"><span style="COLOR: #000000">{    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ch[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">p[j])<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[before][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[current][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">a[before][j])a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[current][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[before][j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">current;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              current</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">before;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              before</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a[t][n]);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span></div><br /><img src ="http://www.cppblog.com/chgsh8089/aggbug/11766.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-28 10:47 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/28/11766.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>memset函数</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/18/11413.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Fri, 18 Aug 2006 09:32:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/18/11413.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11413.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/18/11413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11413.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11413.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="0" cellpadding="0" width="96%" border="0">
				<tbody>
						<tr>
								<td bgcolor="#e8f0f1">转：　<a href="http://blog.xdnice.com/user1/973/archives/2006/25754.shtml">http://blog.xdnice.com/user1/973/archives/2006/25754.shtml</a><br /><br />memset的用法</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td>
																		<div align="right">
																		</div>
																</td>
														</tr>
												</tbody>
										</table>
										<span class="oblog_text">  
<p>将已开辟内存空间 s 的首 n 个字节的值设为值 c <br /><br />下面是一个例子 <br /><br />＃i nclude &lt;stdio.h&gt; <br />＃i nclude &lt;string.h&gt; <br />main(){ <br />    char *s="Golden Global View"; <br /><br />    clrscr(); <br /><br />    memset(s,'G',6); <br />    printf("%s",s); <br /><br />    getchar(); <br />    return 0; <br />}　 <br /><br /><br />memset() 函数常用于内存空间初始化。如： <br /><br />char str[100]; <br />memset(str,0,100); <br /><br /><br /><br />memset用来对一段内存空间全部设置为某个字符，一般用在对定义的字符串进行初始化为‘ ’或‘\0’；例:char a[100];memset(a, '\0', sizeof(a)); <br />memcpy用来做内存拷贝，你可以拿它拷贝任何数据类型的对象，可以指定拷贝的数据长度；例：char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a)，会造成b的内存地址溢出。 <br /><br />strcpy就只能拷贝字符串了，它遇到'\0'就结束拷贝；例：char a[100],b[50];strcpy(a,b);如用strcpy(b,a)，要注意a中的字符串长度（第一个‘\0’之前）是否超过50位，如超过，则会造成b的内存地址溢出。</p></span>
								</td>
						</tr>
						<tr>
								<td align="right">[</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/11413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-18 17:32 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/18/11413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACM动态规划的一题</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/12/11159.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Sat, 12 Aug 2006 14:00:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/12/11159.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11159.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/12/11159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11159.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11159.html</trackback:ping><description><![CDATA[
		<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1141">http://acm.pku.edu.cn/JudgeOnline/problem?id=1141</a>
		<br />动态规划的一题 ，用三维数组保存中间状态；<br /> keeping studying......<img height="20" src="http://www.cppblog.com/Emoticons/QQ/14.gif" width="20" border="0" /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">a数组动态记录串中不符合规则的符号个数<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> R[i][j]数组动态记录from i dao j加上最少的符号个数后变成的串 </span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> record[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> R[</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> KHao(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[], </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n)<br /><img id="Codehighlighter1_206_1762_Open_Image" onclick="this.style.display='none'; Codehighlighter1_206_1762_Open_Text.style.display='none'; Codehighlighter1_206_1762_Closed_Image.style.display='inline'; Codehighlighter1_206_1762_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_206_1762_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_206_1762_Closed_Text.style.display='none'; Codehighlighter1_206_1762_Open_Image.style.display='inline'; Codehighlighter1_206_1762_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_206_1762_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_206_1762_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, j, k, t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        record[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><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 /><img id="Codehighlighter1_303_371_Open_Image" onclick="this.style.display='none'; Codehighlighter1_303_371_Open_Text.style.display='none'; Codehighlighter1_303_371_Closed_Image.style.display='inline'; Codehighlighter1_303_371_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_303_371_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_303_371_Closed_Text.style.display='none'; Codehighlighter1_303_371_Open_Image.style.display='inline'; Codehighlighter1_303_371_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_303_371_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif" /></span><span id="Codehighlighter1_303_371_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          a[i][i </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]  </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          R[i][i </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />          }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)a[i][i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; t </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; t</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_434_1703_Open_Image" onclick="this.style.display='none'; Codehighlighter1_434_1703_Open_Text.style.display='none'; Codehighlighter1_434_1703_Closed_Image.style.display='inline'; Codehighlighter1_434_1703_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_434_1703_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_434_1703_Closed_Text.style.display='none'; Codehighlighter1_434_1703_Open_Image.style.display='inline'; Codehighlighter1_434_1703_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_434_1703_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_434_1703_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> t; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_473_1691_Open_Image" onclick="this.style.display='none'; Codehighlighter1_473_1691_Open_Text.style.display='none'; Codehighlighter1_473_1691_Closed_Image.style.display='inline'; Codehighlighter1_473_1691_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_473_1691_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_473_1691_Closed_Text.style.display='none'; Codehighlighter1_473_1691_Open_Image.style.display='inline'; Codehighlighter1_473_1691_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_473_1691_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_473_1691_Open_Text"><span style="COLOR: #000000">{    j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            a[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_581_710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_581_710_Open_Text.style.display='none'; Codehighlighter1_581_710_Closed_Image.style.display='inline'; Codehighlighter1_581_710_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_581_710_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_581_710_Closed_Text.style.display='none'; Codehighlighter1_581_710_Open_Image.style.display='inline'; Codehighlighter1_581_710_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_581_710_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_581_710_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i][j] </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> a[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">])<br /><img id="Codehighlighter1_621_705_Open_Image" onclick="this.style.display='none'; Codehighlighter1_621_705_Open_Text.style.display='none'; Codehighlighter1_621_705_Closed_Image.style.display='inline'; Codehighlighter1_621_705_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_621_705_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_621_705_Closed_Text.style.display='none'; Codehighlighter1_621_705_Open_Image.style.display='inline'; Codehighlighter1_621_705_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span id="Codehighlighter1_621_705_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_621_705_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    a[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> a[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> p[i] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> p[j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_752_1114_Open_Image" onclick="this.style.display='none'; Codehighlighter1_752_1114_Open_Text.style.display='none'; Codehighlighter1_752_1114_Closed_Image.style.display='inline'; Codehighlighter1_752_1114_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_752_1114_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_752_1114_Closed_Text.style.display='none'; Codehighlighter1_752_1114_Open_Image.style.display='inline'; Codehighlighter1_752_1114_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />           </span><span id="Codehighlighter1_752_1114_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_752_1114_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i][j] </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> a[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_792_1041_Open_Image" onclick="this.style.display='none'; Codehighlighter1_792_1041_Open_Text.style.display='none'; Codehighlighter1_792_1041_Closed_Image.style.display='inline'; Codehighlighter1_792_1041_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_792_1041_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_792_1041_Closed_Text.style.display='none'; Codehighlighter1_792_1041_Open_Image.style.display='inline'; Codehighlighter1_792_1041_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span id="Codehighlighter1_792_1041_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_792_1041_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    a[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> a[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                       R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_955_1035_Open_Image" onclick="this.style.display='none'; Codehighlighter1_955_1035_Open_Text.style.display='none'; Codehighlighter1_955_1035_Closed_Image.style.display='inline'; Codehighlighter1_955_1035_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_955_1035_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_955_1035_Closed_Text.style.display='none'; Codehighlighter1_955_1035_Open_Image.style.display='inline'; Codehighlighter1_955_1035_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span><span id="Codehighlighter1_955_1035_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_955_1035_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                       R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[i </span><span style="COLOR: #000000">+</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"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">                cout &lt;&lt; i &lt;&lt; " " &lt;&lt; j &lt;&lt; " " &lt;&lt; R[i + 1][j] &lt;&lt; endl;</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1161_1436_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1161_1436_Open_Text.style.display='none'; Codehighlighter1_1161_1436_Closed_Image.style.display='inline'; Codehighlighter1_1161_1436_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1161_1436_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1161_1436_Closed_Text.style.display='none'; Codehighlighter1_1161_1436_Open_Image.style.display='inline'; Codehighlighter1_1161_1436_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />           </span><span id="Codehighlighter1_1161_1436_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_1161_1436_Open_Text"><span style="COLOR: #000000">{  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />               </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i][j] </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> a[i][j </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1206_1423_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1206_1423_Open_Text.style.display='none'; Codehighlighter1_1206_1423_Closed_Image.style.display='inline'; Codehighlighter1_1206_1423_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1206_1423_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1206_1423_Closed_Text.style.display='none'; Codehighlighter1_1206_1423_Open_Image.style.display='inline'; Codehighlighter1_1206_1423_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />               </span><span id="Codehighlighter1_1206_1423_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_1206_1423_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   a[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> a[i][j </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1272_1327_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1272_1327_Open_Text.style.display='none'; Codehighlighter1_1272_1327_Closed_Image.style.display='inline'; Codehighlighter1_1272_1327_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1272_1327_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1272_1327_Closed_Text.style.display='none'; Codehighlighter1_1272_1327_Open_Image.style.display='inline'; Codehighlighter1_1272_1327_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                   </span><span id="Codehighlighter1_1272_1327_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_1272_1327_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                       R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[i][j </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                   }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[j] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1359_1411_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1359_1411_Open_Text.style.display='none'; Codehighlighter1_1359_1411_Closed_Image.style.display='inline'; Codehighlighter1_1359_1411_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1359_1411_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1359_1411_Closed_Text.style.display='none'; Codehighlighter1_1359_1411_Open_Image.style.display='inline'; Codehighlighter1_1359_1411_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                   </span><span id="Codehighlighter1_1359_1411_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_1359_1411_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                       R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[i][j </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                   }</span></span><span style="COLOR: #000000">       <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />               }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span></span><span style="COLOR: #000000">               <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(k </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i; k </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> j; k</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1486_1621_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1486_1621_Open_Text.style.display='none'; Codehighlighter1_1486_1621_Closed_Image.style.display='inline'; Codehighlighter1_1486_1621_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1486_1621_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1486_1621_Closed_Text.style.display='none'; Codehighlighter1_1486_1621_Open_Image.style.display='inline'; Codehighlighter1_1486_1621_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />           </span><span id="Codehighlighter1_1486_1621_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_1486_1621_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[i][j] </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> a[i][k] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> a[k </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j])<br /><img id="Codehighlighter1_1532_1614_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1532_1614_Open_Text.style.display='none'; Codehighlighter1_1532_1614_Closed_Image.style.display='inline'; Codehighlighter1_1532_1614_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1532_1614_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1532_1614_Closed_Text.style.display='none'; Codehighlighter1_1532_1614_Open_Image.style.display='inline'; Codehighlighter1_1532_1614_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span><span id="Codehighlighter1_1532_1614_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_1532_1614_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    a[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> a[i][k] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> a[k </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    R[i][j] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> R[i][k] </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> R[k </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">       cout &lt;&lt; i &lt;&lt; " " &lt;&lt; j &lt;&lt; " " &lt;&lt; a[i][j] &lt;&lt; endl;</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> R[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">][n </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> a[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">][n </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_1775_2082_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1775_2082_Open_Text.style.display='none'; Codehighlighter1_1775_2082_Closed_Image.style.display='inline'; Codehighlighter1_1775_2082_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1775_2082_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1775_2082_Closed_Text.style.display='none'; Codehighlighter1_1775_2082_Open_Image.style.display='inline'; Codehighlighter1_1775_2082_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_1775_2082_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_1775_2082_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> p_l;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> result;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[</span><span style="COLOR: #000000">101</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, j, t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> p)<br /><img id="Codehighlighter1_1846_2069_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1846_2069_Open_Text.style.display='none'; Codehighlighter1_1846_2069_Closed_Image.style.display='inline'; Codehighlighter1_1846_2069_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1846_2069_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1846_2069_Closed_Text.style.display='none'; Codehighlighter1_1846_2069_Open_Image.style.display='inline'; Codehighlighter1_1846_2069_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1846_2069_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_1846_2069_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">e</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        p_l </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> strlen(p);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> p_l; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1920_2050_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1920_2050_Open_Text.style.display='none'; Codehighlighter1_1920_2050_Closed_Image.style.display='inline'; Codehighlighter1_1920_2050_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1920_2050_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1920_2050_Closed_Text.style.display='none'; Codehighlighter1_1920_2050_Open_Image.style.display='inline'; Codehighlighter1_1920_2050_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_1920_2050_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_1920_2050_Open_Text"><span style="COLOR: #000000">{<br /><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 /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                R[i][i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">p[i] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                R[i][i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        KHao(p, p_l);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span></div><br /><img src ="http://www.cppblog.com/chgsh8089/aggbug/11159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-12 22:00 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/12/11159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACM出错的一题(贪心) </title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11141.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Fri, 11 Aug 2006 14:20:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11141.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11141.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11141.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11141.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11141.html</trackback:ping><description><![CDATA[
		<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1065">http://acm.pku.edu.cn/JudgeOnline/problem?id=1065</a>
		<br />
		<br />刚开始错了，下面是出错的代码，弄清楚原因下次小心点；<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000"> TanXin<br /><img id="Codehighlighter1_76_104_Open_Image" onclick="this.style.display='none'; Codehighlighter1_76_104_Open_Text.style.display='none'; Codehighlighter1_76_104_Closed_Image.style.display='inline'; Codehighlighter1_76_104_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_76_104_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_76_104_Closed_Text.style.display='none'; Codehighlighter1_76_104_Open_Image.style.display='inline'; Codehighlighter1_76_104_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_76_104_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_76_104_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> width, length;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000">wood[</span><span style="COLOR: #000000">5001</span><span style="COLOR: #000000">], record[</span><span style="COLOR: #000000">5001</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> order(TanXin a, TanXin b)<br /><img id="Codehighlighter1_162_220_Open_Image" onclick="this.style.display='none'; Codehighlighter1_162_220_Open_Text.style.display='none'; Codehighlighter1_162_220_Closed_Image.style.display='inline'; Codehighlighter1_162_220_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_162_220_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_162_220_Closed_Text.style.display='none'; Codehighlighter1_162_220_Open_Image.style.display='inline'; Codehighlighter1_162_220_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_162_220_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_162_220_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">  (b.width </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> b.length </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> a.width </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> a.length);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_233_1731_Open_Image" onclick="this.style.display='none'; Codehighlighter1_233_1731_Open_Text.style.display='none'; Codehighlighter1_233_1731_Closed_Image.style.display='inline'; Codehighlighter1_233_1731_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_233_1731_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_233_1731_Closed_Text.style.display='none'; Codehighlighter1_233_1731_Open_Image.style.display='inline'; Codehighlighter1_233_1731_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_233_1731_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_233_1731_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, j;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> test;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> l;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> test;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(test</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_346_1710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_346_1710_Open_Text.style.display='none'; Codehighlighter1_346_1710_Closed_Image.style.display='inline'; Codehighlighter1_346_1710_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_346_1710_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_346_1710_Closed_Text.style.display='none'; Codehighlighter1_346_1710_Open_Image.style.display='inline'; Codehighlighter1_346_1710_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_346_1710_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_346_1710_Open_Text"><span style="COLOR: #000000">{     <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> n;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> wood[i].length </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> wood[i].width;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          sort(wood, wood </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> n, order);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />         </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">      cout &lt;&lt; wood[i].length &lt;&lt; " " &lt;&lt; wood[i].width &lt;&lt; " " &lt;&lt; wood[i].length + wood[i].width &lt;&lt; endl;</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">          record[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> wood[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          l </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_731_1675_Open_Image" onclick="this.style.display='none'; Codehighlighter1_731_1675_Open_Text.style.display='none'; Codehighlighter1_731_1675_Closed_Image.style.display='inline'; Codehighlighter1_731_1675_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_731_1675_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_731_1675_Closed_Text.style.display='none'; Codehighlighter1_731_1675_Open_Image.style.display='inline'; Codehighlighter1_731_1675_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />          </span><span id="Codehighlighter1_731_1675_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_731_1675_Open_Text"><span style="COLOR: #000000">{   t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> l; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_793_1385_Open_Image" onclick="this.style.display='none'; Codehighlighter1_793_1385_Open_Text.style.display='none'; Codehighlighter1_793_1385_Closed_Image.style.display='inline'; Codehighlighter1_793_1385_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_793_1385_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_793_1385_Closed_Text.style.display='none'; Codehighlighter1_793_1385_Open_Image.style.display='inline'; Codehighlighter1_793_1385_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />              </span><span id="Codehighlighter1_793_1385_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_793_1385_Open_Text"><span style="COLOR: #000000">{   <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                  </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">以下的算法错误，因为每次都从较小的record[0]开始覆盖，会产生错误的<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                  </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">例如： 4 ,3 5, 8 4, 8 5, 3 100;8，5先覆盖3，5，所以3， 100 覆盖不了3， 5正确答案为2，而此时为3； </span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">                  </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(wood[i].width </span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000"> record[j].width </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> wood[i].length </span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000"> record[j].length)<br /><img id="Codehighlighter1_1057_1369_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1057_1369_Open_Text.style.display='none'; Codehighlighter1_1057_1369_Closed_Image.style.display='inline'; Codehighlighter1_1057_1369_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1057_1369_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1057_1369_Closed_Text.style.display='none'; Codehighlighter1_1057_1369_Open_Image.style.display='inline'; Codehighlighter1_1057_1369_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                  </span><span id="Codehighlighter1_1057_1369_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_1057_1369_Open_Text"><span style="COLOR: #000000">{  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                     </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(wood[i].width </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> record[j].width)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                       record[j].width </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> wood[i].width;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                     </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(wood[i].length </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> record[j].length)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        record[j].length </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> wood[i].length;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                     t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                  }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />              }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(t </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1426_1506_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1426_1506_Open_Text.style.display='none'; Codehighlighter1_1426_1506_Closed_Image.style.display='inline'; Codehighlighter1_1426_1506_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1426_1506_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1426_1506_Closed_Text.style.display='none'; Codehighlighter1_1426_1506_Open_Image.style.display='inline'; Codehighlighter1_1426_1506_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />              </span><span id="Codehighlighter1_1426_1506_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_1426_1506_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                 record[l] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> wood[i];  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                 l</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />              }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">      cout &lt;&lt; "record: " &lt;&lt; l &lt;&lt; endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">      for(k = 0; k &lt; l; k++)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">         cout &lt;&lt; record[k].width &lt;&lt; " " &lt;&lt; record[k].length &lt;&lt; endl;</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">          }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          cout </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> l </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span></div><img src ="http://www.cppblog.com/chgsh8089/aggbug/11141.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-11 22:20 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/11/11141.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACM广度优先(一题及代码)</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11121.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Fri, 11 Aug 2006 02:46:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11121.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11121.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/11/11121.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11121.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11121.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1915">http://acm.pku.edu.cn/JudgeOnline/problem?id=1915</a>
				<br />花了一个<img height="20" src="http://www.cppblog.com/Emoticons/hitwall.gif" width="25" border="0" />上午.......<br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">广度优先 </span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">#include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">iostream</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">using</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> board[</span>
				<span style="COLOR: #000000">301</span>
				<span style="COLOR: #000000">][</span>
				<span style="COLOR: #000000">301</span>
				<span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> result;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">struct</span>
				<span style="COLOR: #000000"> H<br /><img id="Codehighlighter1_91_110_Open_Image" onclick="this.style.display='none'; Codehighlighter1_91_110_Open_Text.style.display='none'; Codehighlighter1_91_110_Closed_Image.style.display='inline'; Codehighlighter1_91_110_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_91_110_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_91_110_Closed_Text.style.display='none'; Codehighlighter1_91_110_Open_Image.style.display='inline'; Codehighlighter1_91_110_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_91_110_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_91_110_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> row, col;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">path1[</span>
				<span style="COLOR: #000000">100000</span>
				<span style="COLOR: #000000">], path2[</span>
				<span style="COLOR: #000000">100000</span>
				<span style="COLOR: #000000">];<br /><img id="Codehighlighter1_155_219_Open_Image" onclick="this.style.display='none'; Codehighlighter1_155_219_Open_Text.style.display='none'; Codehighlighter1_155_219_Closed_Image.style.display='inline'; Codehighlighter1_155_219_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_155_219_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_155_219_Closed_Text.style.display='none'; Codehighlighter1_155_219_Open_Image.style.display='inline'; Codehighlighter1_155_219_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> a[</span>
				<span style="COLOR: #000000">8</span>
				<span style="COLOR: #000000">][</span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000">] </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span id="Codehighlighter1_155_219_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_155_219_Open_Text">
						<span style="COLOR: #000000">{</span>
						<span id="Codehighlighter1_156_162_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_156_162_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_164_169_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_164_169_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_171_176_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_171_176_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_178_184_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_178_184_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_186_192_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_186_192_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_194_201_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_194_201_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_203_210_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_203_210_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">,</span>
						<span id="Codehighlighter1_212_218_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_212_218_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">-</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">, </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">}</span>
				</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> GYou(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> n, </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> br, </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> bc, </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> nr, </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> nc)<br /><img id="Codehighlighter1_270_1773_Open_Image" onclick="this.style.display='none'; Codehighlighter1_270_1773_Open_Text.style.display='none'; Codehighlighter1_270_1773_Closed_Image.style.display='inline'; Codehighlighter1_270_1773_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_270_1773_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_270_1773_Closed_Text.style.display='none'; Codehighlighter1_270_1773_Open_Image.style.display='inline'; Codehighlighter1_270_1773_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_270_1773_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_270_1773_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> dire;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> top1,top2;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> h, g, i, j;    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> record;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    record </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    top1 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    top2 </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    path1[top1].row </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> br;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    path1[top1].col </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> bc;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(</span>
						<span style="COLOR: #0000ff">true</span>
						<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_461_1771_Open_Image" onclick="this.style.display='none'; Codehighlighter1_461_1771_Open_Text.style.display='none'; Codehighlighter1_461_1771_Closed_Image.style.display='inline'; Codehighlighter1_461_1771_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_461_1771_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_461_1771_Closed_Text.style.display='none'; Codehighlighter1_461_1771_Open_Image.style.display='inline'; Codehighlighter1_461_1771_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_461_1771_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_461_1771_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />             </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">  if(result == 2)break;</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">; i </span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000"> top1; i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_545_1326_Open_Image" onclick="this.style.display='none'; Codehighlighter1_545_1326_Open_Text.style.display='none'; Codehighlighter1_545_1326_Closed_Image.style.display='inline'; Codehighlighter1_545_1326_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_545_1326_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_545_1326_Closed_Text.style.display='none'; Codehighlighter1_545_1326_Open_Image.style.display='inline'; Codehighlighter1_545_1326_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_545_1326_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_545_1326_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">       cout &lt;&lt; "top1: " &lt;&lt; top1 &lt;&lt; " " &lt;&lt; path1[i].row &lt;&lt; " " &lt;&lt; path1[i].col &lt;&lt; endl;</span>
										<span style="COLOR: #008000">
												<br />
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">            </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(dire </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">; dire </span>
										<span style="COLOR: #000000">&lt;</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">8</span>
										<span style="COLOR: #000000">; dire</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_698_1299_Open_Image" onclick="this.style.display='none'; Codehighlighter1_698_1299_Open_Text.style.display='none'; Codehighlighter1_698_1299_Closed_Image.style.display='inline'; Codehighlighter1_698_1299_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_698_1299_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_698_1299_Closed_Text.style.display='none'; Codehighlighter1_698_1299_Open_Image.style.display='inline'; Codehighlighter1_698_1299_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_698_1299_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_698_1299_Open_Text">
												<span style="COLOR: #000000">{   <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                g </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> path1[i].row </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> a[dire][</span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                h </span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000"> path1[i].col </span>
												<span style="COLOR: #000000">+</span>
												<span style="COLOR: #000000"> a[dire][</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">];<br /><img id="Codehighlighter1_835_910_Open_Image" onclick="this.style.display='none'; Codehighlighter1_835_910_Open_Text.style.display='none'; Codehighlighter1_835_910_Closed_Image.style.display='inline'; Codehighlighter1_835_910_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_835_910_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_835_910_Closed_Text.style.display='none'; Codehighlighter1_835_910_Open_Image.style.display='inline'; Codehighlighter1_835_910_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(g </span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000"> nr </span>
												<span style="COLOR: #000000">&amp;&amp;</span>
												<span style="COLOR: #000000"> h </span>
												<span style="COLOR: #000000">==</span>
												<span style="COLOR: #000000"> nc)</span>
												<span id="Codehighlighter1_835_910_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_835_910_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   record </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   </span>
														<span style="COLOR: #0000ff">break</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(g </span>
												<span style="COLOR: #000000">&gt;=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">&amp;&amp;</span>
												<span style="COLOR: #000000"> g </span>
												<span style="COLOR: #000000">&lt;</span>
												<span style="COLOR: #000000"> n</span>
												<span style="COLOR: #000000">&amp;&amp;</span>
												<span style="COLOR: #000000"> h </span>
												<span style="COLOR: #000000">&gt;=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">0</span>
												<span style="COLOR: #000000">&amp;&amp;</span>
												<span style="COLOR: #000000"> h </span>
												<span style="COLOR: #000000">&lt;</span>
												<span style="COLOR: #000000"> n</span>
												<span style="COLOR: #000000">&amp;&amp;</span>
												<span style="COLOR: #000000"> board[g][h] </span>
												<span style="COLOR: #000000">!=</span>
												<span style="COLOR: #000000"> </span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_999_1284_Open_Image" onclick="this.style.display='none'; Codehighlighter1_999_1284_Open_Text.style.display='none'; Codehighlighter1_999_1284_Closed_Image.style.display='inline'; Codehighlighter1_999_1284_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_999_1284_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_999_1284_Closed_Text.style.display='none'; Codehighlighter1_999_1284_Open_Image.style.display='inline'; Codehighlighter1_999_1284_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span id="Codehighlighter1_999_1284_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_999_1284_Open_Text">
														<span style="COLOR: #000000">{  <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">              cout &lt;&lt; "ha: " &lt;&lt; path1[top1].row  &lt;&lt; " " &lt;&lt; path2[top1].col &lt;&lt; " " &lt;&lt; g &lt;&lt; "  " &lt;&lt; h &lt;&lt; endl;</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    top2</span>
														<span style="COLOR: #000000">++</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    path2[top2].row </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> g;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    path2[top2].col </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> h;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    board[g][h] </span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000"> </span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">                 <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img id="Codehighlighter1_1332_1530_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1332_1530_Open_Text.style.display='none'; Codehighlighter1_1332_1530_Closed_Image.style.display='inline'; Codehighlighter1_1332_1530_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_1332_1530_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1332_1530_Closed_Text.style.display='none'; Codehighlighter1_1332_1530_Open_Image.style.display='inline'; Codehighlighter1_1332_1530_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
								<span id="Codehighlighter1_1332_1530_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_1332_1530_Open_Text">
										<span style="COLOR: #008000">/*</span>
										<span style="COLOR: #008000">    cout &lt;&lt; "board: " &lt;&lt; top1 &lt;&lt; endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        for(i = 0; i &lt; n; i++)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        {<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           for(j = 0; j &lt; n; j++)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              cout &lt;&lt; board[i][j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              cout &lt;&lt; endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        }<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        </span>
										<span style="COLOR: #008000">*/</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img id="Codehighlighter1_1555_1624_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1555_1624_Open_Text.style.display='none'; Codehighlighter1_1555_1624_Closed_Image.style.display='inline'; Codehighlighter1_1555_1624_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_1555_1624_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1555_1624_Closed_Text.style.display='none'; Codehighlighter1_1555_1624_Open_Image.style.display='inline'; Codehighlighter1_1555_1624_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(record </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)</span>
								<span id="Codehighlighter1_1555_1624_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_1555_1624_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           cout </span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000"> result </span>
										<span style="COLOR: #000000">&lt;&lt;</span>
										<span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           </span>
										<span style="COLOR: #0000ff">return</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">; i </span>
								<span style="COLOR: #000000">&lt;=</span>
								<span style="COLOR: #000000"> top2; i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            path1[i] </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> path2[i];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        top1 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> top2;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        top2 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;       <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        result</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">;         <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_1786_2236_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1786_2236_Open_Text.style.display='none'; Codehighlighter1_1786_2236_Closed_Image.style.display='inline'; Codehighlighter1_1786_2236_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1786_2236_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1786_2236_Closed_Text.style.display='none'; Codehighlighter1_1786_2236_Open_Image.style.display='inline'; Codehighlighter1_1786_2236_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1786_2236_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_1786_2236_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> n, nc, nr, bc, br;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i, j;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cin </span>
						<span style="COLOR: #000000">&gt;&gt;</span>
						<span style="COLOR: #000000"> t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(t</span>
						<span style="COLOR: #000000">--</span>
						<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1873_2215_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1873_2215_Open_Text.style.display='none'; Codehighlighter1_1873_2215_Closed_Image.style.display='inline'; Codehighlighter1_1873_2215_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1873_2215_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1873_2215_Closed_Text.style.display='none'; Codehighlighter1_1873_2215_Open_Image.style.display='inline'; Codehighlighter1_1873_2215_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_1873_2215_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_1873_2215_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       cin </span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000"> n;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       cin </span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000"> br </span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000"> bc;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       cin </span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000"> nr </span>
								<span style="COLOR: #000000">&gt;&gt;</span>
								<span style="COLOR: #000000"> nc;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       result </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(i </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">; i </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> n; i</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(j </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">; j </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> n; j</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              board[i][j] </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              board[bc][br] </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(br </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> nr </span>
								<span style="COLOR: #000000">&amp;&amp;</span>
								<span style="COLOR: #000000"> bc </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> nc)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          cout </span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000"> result </span>
								<span style="COLOR: #000000">&lt;&lt;</span>
								<span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />       </span>
								<span style="COLOR: #0000ff">else</span>
								<span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />          GYou(n, br, bc, nr, nc);           <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<p> </p>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/11121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-11 10:46 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/11/11121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACM最长公共子序列(一题及代码)</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11071.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Wed, 09 Aug 2006 18:03:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11071.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11071.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11071.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11071.html</trackback:ping><description><![CDATA[用a[2][n]的存储空间;<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1159"><br />http://acm.pku.edu.cn/JudgeOnline/problem?id=1159</a><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 src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_30_761_Open_Image" onclick="this.style.display='none'; Codehighlighter1_30_761_Open_Text.style.display='none'; Codehighlighter1_30_761_Closed_Image.style.display='inline'; Codehighlighter1_30_761_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_30_761_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_30_761_Closed_Text.style.display='none'; Codehighlighter1_30_761_Open_Image.style.display='inline'; Codehighlighter1_30_761_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_30_761_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_30_761_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_51_53_Open_Image" onclick="this.style.display='none'; Codehighlighter1_51_53_Open_Text.style.display='none'; Codehighlighter1_51_53_Closed_Image.style.display='inline'; Codehighlighter1_51_53_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_51_53_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_51_53_Closed_Text.style.display='none'; Codehighlighter1_51_53_Open_Image.style.display='inline'; Codehighlighter1_51_53_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span id="Codehighlighter1_51_53_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_51_53_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> ch[</span><span style="COLOR: #000000">5002</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i,j,n,t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> current;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> before;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n,p</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        current</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        before </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           ch[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p[n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />           ch[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />     </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">   printf("%s %s\n",p+1,ch+1);</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_359_710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_359_710_Open_Text.style.display='none'; Codehighlighter1_359_710_Closed_Image.style.display='inline'; Codehighlighter1_359_710_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_359_710_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_359_710_Closed_Text.style.display='none'; Codehighlighter1_359_710_Open_Image.style.display='inline'; Codehighlighter1_359_710_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_359_710_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_359_710_Open_Text"><span style="COLOR: #000000">{    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ch[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">p[j])<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                   a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[before][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a[current][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">a[before][j])a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[current][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> a[current][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a[before][j];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">current;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              current</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">before;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />              before</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">a[t][n]);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span></div><a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=2533"><br />其他题目：<br />http://acm.pku.edu.cn/JudgeOnline/problem?id=2533</a><img src ="http://www.cppblog.com/chgsh8089/aggbug/11071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-10 02:03 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/10/11071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACM深度优先搜索(一题及代码)</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11069.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Wed, 09 Aug 2006 16:46:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11069.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/11069.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/10/11069.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/11069.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/11069.html</trackback:ping><description><![CDATA[
		<a href="http://acm.pku.edu.cn/JudgeOnline/problem?id=1154">http://acm.pku.edu.cn/JudgeOnline/problem?id=1154</a>
		<br />第一题不是用暴力过的哦，嘿嘿<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">深度优先搜索</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">#include </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000"> dfs<br /><img id="Codehighlighter1_61_89_Open_Image" onclick="this.style.display='none'; Codehighlighter1_61_89_Open_Text.style.display='none'; Codehighlighter1_61_89_Closed_Image.style.display='inline'; Codehighlighter1_61_89_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_61_89_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_61_89_Closed_Text.style.display='none'; Codehighlighter1_61_89_Open_Image.style.display='inline'; Codehighlighter1_61_89_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_61_89_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_61_89_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> row, col;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> dire;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000">path[</span><span style="COLOR: #000000">100000</span><span style="COLOR: #000000">];</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">为什么用*path会发生运行错误,不能执行path[i]的访问.</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">out</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">], </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> row, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> col)<br /><img id="Codehighlighter1_180_1601_Open_Image" onclick="this.style.display='none'; Codehighlighter1_180_1601_Open_Text.style.display='none'; Codehighlighter1_180_1601_Closed_Image.style.display='inline'; Codehighlighter1_180_1601_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_180_1601_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_180_1601_Closed_Text.style.display='none'; Codehighlighter1_180_1601_Open_Image.style.display='inline'; Codehighlighter1_180_1601_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_180_1601_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_180_1601_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> dire;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> result;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> top;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t;<br /><img id="Codehighlighter1_242_244_Open_Image" onclick="this.style.display='none'; Codehighlighter1_242_244_Open_Text.style.display='none'; Codehighlighter1_242_244_Closed_Image.style.display='inline'; Codehighlighter1_242_244_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_242_244_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_242_244_Closed_Text.style.display='none'; Codehighlighter1_242_244_Open_Image.style.display='inline'; Codehighlighter1_242_244_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> record[</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_242_244_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_242_244_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, j, g, h;<br /><img id="Codehighlighter1_282_316_Open_Image" onclick="this.style.display='none'; Codehighlighter1_282_316_Open_Text.style.display='none'; Codehighlighter1_282_316_Closed_Image.style.display='inline'; Codehighlighter1_282_316_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_282_316_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_282_316_Closed_Text.style.display='none'; Codehighlighter1_282_316_Open_Image.style.display='inline'; Codehighlighter1_282_316_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> incr[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span id="Codehighlighter1_282_316_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_282_316_Open_Text"><span style="COLOR: #000000">{ </span><span id="Codehighlighter1_284_289_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/images/dot.gif" /></span><span id="Codehighlighter1_284_289_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">, </span><span id="Codehighlighter1_292_297_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_292_297_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">, </span><span id="Codehighlighter1_300_306_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_300_306_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">, </span><span id="Codehighlighter1_309_315_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_309_315_Open_Text"><span style="COLOR: #000000">{</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    top </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    dire </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    path[top].row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    path[top].col </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> j;<br /><img id="Codehighlighter1_393_758_Open_Image" onclick="this.style.display='none'; Codehighlighter1_393_758_Open_Text.style.display='none'; Codehighlighter1_393_758_Closed_Image.style.display='inline'; Codehighlighter1_393_758_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_393_758_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_393_758_Closed_Text.style.display='none'; Codehighlighter1_393_758_Open_Image.style.display='inline'; Codehighlighter1_393_758_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_393_758_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_393_758_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**************************************<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 课本的这里是path[top].dire = dire;即=0;但是path[top]中表示的dire是当前top点在前一顶点的方位.<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 故在题目中当top = 1时path[top].dire表示它相对于top = 0时的方位,当path[top]改变时说明已经返回到了top = 0 处.<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 即top = 1遍历完毕;但当path[top].dire = 0；此时+1 = 1 而不是= 4 所以函数并没有中断循环.<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    * 此时top-- ，所以top = 0;会出现path[0]指向第一定点，而path[1]则指向了第二个定点而产生错误.<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    **************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    path[top].dire </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;  </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">path[top].dire = dire;</span><span style="COLOR: #008000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    record[p[i][j] </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(top </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">||</span><span style="COLOR: #000000"> dire </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_876_1583_Open_Image" onclick="this.style.display='none'; Codehighlighter1_876_1583_Open_Text.style.display='none'; Codehighlighter1_876_1583_Closed_Image.style.display='inline'; Codehighlighter1_876_1583_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_876_1583_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_876_1583_Closed_Text.style.display='none'; Codehighlighter1_876_1583_Open_Image.style.display='inline'; Codehighlighter1_876_1583_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_876_1583_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_876_1583_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(dire </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br /><img id="Codehighlighter1_895_1230_Open_Image" onclick="this.style.display='none'; Codehighlighter1_895_1230_Open_Text.style.display='none'; Codehighlighter1_895_1230_Closed_Image.style.display='inline'; Codehighlighter1_895_1230_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_895_1230_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_895_1230_Closed_Text.style.display='none'; Codehighlighter1_895_1230_Open_Image.style.display='inline'; Codehighlighter1_895_1230_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_895_1230_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_895_1230_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            g </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> incr[dire][</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            h </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> j </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> incr[dire][</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> p[g][h] </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(g </span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">g </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> row</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> h </span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> h </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> col </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">record[t] </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">    if(record[t] == 0)刚开始因这样而出错</span><span style="COLOR: #008000"><br /><img id="Codehighlighter1_1066_1200_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1066_1200_Open_Text.style.display='none'; Codehighlighter1_1066_1200_Closed_Image.style.display='inline'; Codehighlighter1_1066_1200_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1066_1200_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1066_1200_Closed_Text.style.display='none'; Codehighlighter1_1066_1200_Open_Image.style.display='inline'; Codehighlighter1_1066_1200_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="COLOR: #000000">            </span><span id="Codehighlighter1_1066_1200_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_1066_1200_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                record[t]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                top</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                path[top].row </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                path[top].col </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> h;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                path[top].dire </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> dire;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g; j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> h; dire </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1209_1226_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1209_1226_Open_Text.style.display='none'; Codehighlighter1_1209_1226_Closed_Image.style.display='inline'; Codehighlighter1_1209_1226_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1209_1226_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1209_1226_Closed_Text.style.display='none'; Codehighlighter1_1209_1226_Open_Image.style.display='inline'; Codehighlighter1_1209_1226_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">else</span><span id="Codehighlighter1_1209_1226_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_1209_1226_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                dire</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1238_1580_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1238_1580_Open_Text.style.display='none'; Codehighlighter1_1238_1580_Closed_Image.style.display='inline'; Codehighlighter1_1238_1580_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1238_1580_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1238_1580_Closed_Text.style.display='none'; Codehighlighter1_1238_1580_Open_Image.style.display='inline'; Codehighlighter1_1238_1580_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">else</span><span id="Codehighlighter1_1238_1580_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_1238_1580_Open_Text"><span style="COLOR: #000000">{<br /><img id="Codehighlighter1_1241_1363_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1241_1363_Open_Text.style.display='none'; Codehighlighter1_1241_1363_Closed_Image.style.display='inline'; Codehighlighter1_1241_1363_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1241_1363_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1241_1363_Closed_Text.style.display='none'; Codehighlighter1_1241_1363_Open_Image.style.display='inline'; Codehighlighter1_1241_1363_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1241_1363_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_1241_1363_Open_Text"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">        <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout &lt;&lt; top &lt;&lt; endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                for(i = 1; i &lt;= top; i++)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    cout &lt;&lt; path[i].row &lt;&lt; " " &lt;&lt; path[i].col &lt;&lt; endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            dire </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> path[top].dire </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            t </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> p[path[top].row][path[top].col] </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            record[t]</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1476_1499_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1476_1499_Open_Text.style.display='none'; Codehighlighter1_1476_1499_Closed_Image.style.display='inline'; Codehighlighter1_1476_1499_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1476_1499_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1476_1499_Closed_Text.style.display='none'; Codehighlighter1_1476_1499_Open_Image.style.display='inline'; Codehighlighter1_1476_1499_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(result </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> top)</span><span id="Codehighlighter1_1476_1499_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_1476_1499_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> top;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            top</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br /><img id="Codehighlighter1_1525_1576_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1525_1576_Open_Text.style.display='none'; Codehighlighter1_1525_1576_Closed_Image.style.display='inline'; Codehighlighter1_1525_1576_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1525_1576_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1525_1576_Closed_Text.style.display='none'; Codehighlighter1_1525_1576_Open_Image.style.display='inline'; Codehighlighter1_1525_1576_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(top </span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span id="Codehighlighter1_1525_1576_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_1525_1576_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> path[top].row;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> path[top].col;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> result;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br /><img id="Codehighlighter1_1614_1794_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1614_1794_Open_Text.style.display='none'; Codehighlighter1_1614_1794_Closed_Image.style.display='inline'; Codehighlighter1_1614_1794_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1614_1794_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1614_1794_Closed_Text.style.display='none'; Codehighlighter1_1614_1794_Open_Image.style.display='inline'; Codehighlighter1_1614_1794_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_1614_1794_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_1614_1794_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> row, col;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> result;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> p[</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">21</span><span style="COLOR: #000000">];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> row </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> col;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> row; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cin </span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000"> p[i];<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">out</span><span style="COLOR: #000000">(p, row, col);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> result </span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000"> endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><img src ="http://www.cppblog.com/chgsh8089/aggbug/11069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-10 00:46 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/10/11069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>筛法求质数的算法</title><link>http://www.cppblog.com/chgsh8089/archive/2006/08/07/10943.html</link><dc:creator>small-fat</dc:creator><author>small-fat</author><pubDate>Mon, 07 Aug 2006 15:11:00 GMT</pubDate><guid>http://www.cppblog.com/chgsh8089/archive/2006/08/07/10943.html</guid><wfw:comment>http://www.cppblog.com/chgsh8089/comments/10943.html</wfw:comment><comments>http://www.cppblog.com/chgsh8089/archive/2006/08/07/10943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/chgsh8089/comments/commentRss/10943.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/chgsh8089/services/trackbacks/10943.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> sprime()<br /><img id="Codehighlighter1_13_310_Open_Image" onclick="this.style.display='none'; Codehighlighter1_13_310_Open_Text.style.display='none'; Codehighlighter1_13_310_Closed_Image.style.display='inline'; Codehighlighter1_13_310_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_13_310_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_13_310_Closed_Text.style.display='none'; Codehighlighter1_13_310_Open_Image.style.display='inline'; Codehighlighter1_13_310_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_13_310_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_13_310_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> i, j;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> b_size;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> MAXN </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">40000</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000"> (i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">2</span>
						<span style="COLOR: #000000">; i</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">MAXN; i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">) prime[i] </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">1</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000"> (i</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">2</span>
						<span style="COLOR: #000000">; i</span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">MAXN; i</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_121_193_Open_Image" onclick="this.style.display='none'; Codehighlighter1_121_193_Open_Text.style.display='none'; Codehighlighter1_121_193_Closed_Image.style.display='inline'; Codehighlighter1_121_193_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_121_193_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_121_193_Closed_Text.style.display='none'; Codehighlighter1_121_193_Open_Image.style.display='inline'; Codehighlighter1_121_193_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_121_193_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_193_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000"> (prime[i] </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000"> (j</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000">; i</span>
								<span style="COLOR: #000000">*</span>
								<span style="COLOR: #000000">j</span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000">MAXN; j</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                prime[i</span>
								<span style="COLOR: #000000">*</span>
								<span style="COLOR: #000000">j] </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">for</span>
						<span style="COLOR: #000000">(i </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">, j </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">; j </span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000"> MAXN; j</span>
						<span style="COLOR: #000000">++</span>
						<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_230_279_Open_Image" onclick="this.style.display='none'; Codehighlighter1_230_279_Open_Text.style.display='none'; Codehighlighter1_230_279_Closed_Image.style.display='inline'; Codehighlighter1_230_279_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_230_279_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_230_279_Closed_Text.style.display='none'; Codehighlighter1_230_279_Open_Image.style.display='inline'; Codehighlighter1_230_279_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_230_279_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_230_279_Open_Text">
								<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_251_276_Open_Image" onclick="this.style.display='none'; Codehighlighter1_251_276_Open_Text.style.display='none'; Codehighlighter1_251_276_Closed_Image.style.display='inline'; Codehighlighter1_251_276_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_251_276_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_251_276_Closed_Text.style.display='none'; Codehighlighter1_251_276_Open_Image.style.display='inline'; Codehighlighter1_251_276_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(prime[j] </span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">1</span>
								<span style="COLOR: #000000">)</span>
								<span id="Codehighlighter1_251_276_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_251_276_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            b[i] </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000"> j;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            i</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    b_size </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> i;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> b_size;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/chgsh8089/aggbug/10943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/chgsh8089/" target="_blank">small-fat</a> 2006-08-07 23:11 <a href="http://www.cppblog.com/chgsh8089/archive/2006/08/07/10943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>