<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>逆时CS Imaginator</title>
	<atom:link href="http://backtimer.missnkiss.com/category/cs-imaginator/feed/" rel="self" type="application/rss+xml" />
	<link>http://backtimer.missnkiss.com</link>
	<description>Just to freely write down what I thought.</description>
	<lastBuildDate>Wed, 02 Dec 2009 14:29:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>菜鸟是怎样用 vim 来编程的</title>
		<link>http://backtimer.missnkiss.com/how-i-use-vim-to-program.html</link>
		<comments>http://backtimer.missnkiss.com/how-i-use-vim-to-program.html#comments</comments>
		<pubDate>Sat, 23 May 2009 02:57:52 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=260</guid>
		<description><![CDATA[不多说了.. 直接看图吧&#8230;&#8230;
不会 vim 的诸多中高级应用, 就这样玩还是很舒服的~ 哈哈.
注意到了么, 下面那个终端里的命令是:

mygcc msquare

实际是, mygcc 是我在 .bashrc 里面定义的终端&#8221;... ]]></description>
			<content:encoded><![CDATA[<p>不多说了.. 直接看图吧&#8230;&#8230;</p>
<div class="wp-caption aligncenter" style="width: 510px"><a title="点击打开大图" href="/wp-content/uploads/images/how-i-use-vim-to-program.png" target="_blank"><img title="菜鸟是怎样用 vim 来编程的" src="/wp-content/uploads/images/how-i-use-vim-to-program.png" alt="左上是 gdb, 右上是 gvim, 下面是编译 + 输出" width="500" /></a><p class="wp-caption-text">左上是 gdb, 右上是 gvim, 下面是编译 + 输出</p></div>
<p><span id="more-260"></span>不会 vim 的诸多中高级应用, 就这样玩还是很舒服的~ 哈哈.</p>
<p>注意到了么, 下面那个终端里的命令是:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mygcc msquare</pre></div></div>

<p>实际是, mygcc 是我在 .bashrc 里面定义的终端&#8221;快捷键&#8221;哈!! 原形是:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python mygcc.py</pre></div></div>

<p>至于这个 mygcc.py 嘛, 就是个接受一个参数(就是程序名 program), 然后在终端执行这串命令(我不会 bash 脚本的编写.. 就用 python 来写了个.. 嘿嘿~):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-Wall</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-o</span> program program.c
.<span style="color: #000000; font-weight: bold;">/</span>program
<span style="color: #c20cb9; font-weight: bold;">cat</span> program.out</pre></td></tr></table></div>

<p>这样就可以编译 + 运行 + 输出一连串的搞定了哈^^ 很多 IDE 还没这样呢.. 特别是最后的 cat 输出文件.. 哈哈.<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html" title="暑假OI计划">暑假OI计划 (18)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html">http://backtimer.missnkiss.com/how-i-use-vim-to-program.html</a></p>By the time  your rss reader get this post here is <strong> 11 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/bash/" title="bash" rel="tag">bash</a>, <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a>, <a href="http://backtimer.missnkiss.com/tag/vim/" title="vim" rel="tag">vim</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/how-i-use-vim-to-program.html/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>不为 OI 的 OI</title>
		<link>http://backtimer.missnkiss.com/oi-not-for-oi.html</link>
		<comments>http://backtimer.missnkiss.com/oi-not-for-oi.html#comments</comments>
		<pubDate>Sat, 29 Nov 2008 18:40:50 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[你不是真正的快乐]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=174</guid>
		<description><![CDATA[不下千遍的问过自己, 为什么会这样? 每一次面对这个问题, 都好想落泪 &#8212; 一切, 都是借口.
我不得不承认, 我实在幼稚. 我下的赌注太大了, 将家人的所有阻挠押到两个字上 &#8212; 保送. 对于... ]]></description>
			<content:encoded><![CDATA[<p>不下千遍的问过自己, 为什么会这样? 每一次面对这个问题, 都好想落泪 &#8212; 一切, 都是借口.</p>
<p>我不得不承认, 我实在幼稚. 我下的赌注太大了, 将家人的所有阻挠押到两个字上 &#8212; 保送. 对于我, NOIP, &#8211;&gt; GDOI &#8211;&gt; NOI, 每一个, 都是唯一. 赛前, 我很不安. 我怕, 还没起飞就摔下来. 可现实就是这么残酷.</p>
<p>当为 &#8220;放弃&#8221; 二字落泪时, 我知道, 梦, 抑或说, 是幻想, 碎了.<br />
当上课听着听着突然想起一个算法时, 我知道, 那是依恋.<br />
当晚自习埋头写着写着写出一段代码时, 我知道, 那是眷顾.<br />
当在 operamini 中打开 vijos 时, 我知道, 那是不舍.<br />
终于, 我一次, 又一次的往电脑室跑&#8230;. 可是, 还为了什么?</p>
<p>赌局, 已经让我倾家荡产了. 爸妈爆发的失望, 将 OI 压入了深谷. 最高指示, 唯一目标: 高考.</p>
<p>高考, 高考&#8230;.</p>
<p>我想要做的事情很多, 实在太多了. 不仅一次的幻想, 空闲的时候, 我能做多么多的事情. 可是, 不但没有空闲, 事情反而更多了. 高考, 这个可以占据整个高中三年的字眼, 我逃了一年多, 终归, 还是逃不出. 不, 我要寻找希望, 哪怕只是一丝一丝. 于是, 我问了 Google, 问了在高三奋斗的学长, 问了敬仰的大牛. 我错了, 即使是高三还有一次 NOIP, 可还是有高考的束缚. 真的, 连一丝光线都没有. 那个俘获了我整颗心的白日梦, 该醒了吧. 可是, 我的依恋, 我的眷顾, 我的不舍&#8230;.</p>
<p>当我不再登录一些网络上的应用, 当我放下凤凰木的管理, 当我应付社团课; 当我把 codes 装进 U 盘里带着满世界跑, 当我在学校缩在被窝里用手机看题, 当我周末回家深夜爬起来装 Ubuntu, 当我开始用 C 刷 USACO 和 vijos, 不为 OI 的 OI&#8230;.</p>
<p>在 GDOI2008 时, 中大的 ACMer 说: 中学圆不了的梦, 到大学来圆.<br />
把梦, 带进大学?</p>
<p>[Audio clip: view full post to listen]</p>
<p>同样放不下的, 是这个记载着我幼稚的文字的 blog&#8230;. 升级到 2.6.5, 换个主题, 继续写吧.<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html" title="菜鸟是怎样用 vim 来编程的">菜鸟是怎样用 vim 来编程的 (11)</a></li>
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/false.html" title="FALSE">FALSE (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/pause-update-for-noip2008.html" title="暂停更新 for NOIP2008">暂停更新 for NOIP2008 (16)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2008s-desktop.html" title="NOIP2008&#8217;s Desktop">NOIP2008&#8217;s Desktop (9)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/oi-not-for-oi.html">http://backtimer.missnkiss.com/oi-not-for-oi.html</a></p>By the time  your rss reader get this post here is<strong> 35 </strong>comments,Heated discussion,Why not to come to check it out ?!<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a>, <a href="http://backtimer.missnkiss.com/tag/%e4%bd%a0%e4%b8%8d%e6%98%af%e7%9c%9f%e6%ad%a3%e7%9a%84%e5%bf%ab%e4%b9%90/" title="你不是真正的快乐" rel="tag">你不是真正的快乐</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/oi-not-for-oi.html/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>FALSE</title>
		<link>http://backtimer.missnkiss.com/false.html</link>
		<comments>http://backtimer.missnkiss.com/false.html#comments</comments>
		<pubDate>Sun, 16 Nov 2008 02:18:57 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=173</guid>
		<description><![CDATA[
program leewings;
&#160;
begin
    assign&#40;input,'memory.in'&#41;; assign&#40;output,'memory.out'&#41;;
    reset&#40;input&#41;; rewrite&#40;output&#41;;
    NOIP2008:=240;
    repeat
       销声匿迹;
    until unknow;
    close&#40;input&#41;; ... ]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> leewings;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
    assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'memory.in'</span><span style="color: #009900;">&#41;</span>; assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'memory.out'</span><span style="color: #009900;">&#41;</span>;
    reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>; rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
    NOIP2008<span style="color: #339933;">:=</span><span style="color: #cc66cc;">240</span>;
    <span style="color: #000000; font-weight: bold;">repeat</span>
       销声匿迹;
    <span style="color: #000000; font-weight: bold;">until</span> unknow;
    close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>; close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></div></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/pause-update-for-noip2008.html" title="暂停更新 for NOIP2008">暂停更新 for NOIP2008 (16)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2008s-desktop.html" title="NOIP2008&#8217;s Desktop">NOIP2008&#8217;s Desktop (9)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/false.html">http://backtimer.missnkiss.com/false.html</a></p>By the time  your rss reader get this post here is <strong> 6 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/false.html/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>暂停更新 for NOIP2008</title>
		<link>http://backtimer.missnkiss.com/pause-update-for-noip2008.html</link>
		<comments>http://backtimer.missnkiss.com/pause-update-for-noip2008.html#comments</comments>
		<pubDate>Thu, 02 Oct 2008 06:37:55 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=172</guid>
		<description><![CDATA[很久没有写什么有用的 post 了.
手头上的事情太多太多了, 只好一件一件的放下, 专心对付即将到来的 NOIP2008.
BLOG, 包括 WPLAND, 实在没有任何精力去更新了&#8230;.
就这样, 先放下吧.
重启时间: 11.15
... ]]></description>
			<content:encoded><![CDATA[<p>很久没有写什么有用的 post 了.<br />
手头上的事情太多太多了, 只好一件一件的放下, 专心对付即将到来的 NOIP2008.<br />
BLOG, 包括 <a href="http://wpland.cn" target="_blank">WPLAND</a>, 实在没有任何精力去更新了&#8230;.<br />
就这样, 先放下吧.<br />
重启时间: 11.15</p>
<p>为了走这条路, 我放了很多空话, 做了很多傻事, 失去了很多东西, 对不起很多人&#8230;.<br />
压力, 瞬间爆发.<br />
NOIP2008, 势在必得!<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/false.html" title="FALSE">FALSE (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2008s-desktop.html" title="NOIP2008&#8217;s Desktop">NOIP2008&#8217;s Desktop (9)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/pause-update-for-noip2008.html">http://backtimer.missnkiss.com/pause-update-for-noip2008.html</a></p>By the time  your rss reader get this post here is <strong> 16 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/pause-update-for-noip2008.html/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>超基本算法(五) &#8212; 背包</title>
		<link>http://backtimer.missnkiss.com/basic-algorithm-5-bag.html</link>
		<comments>http://backtimer.missnkiss.com/basic-algorithm-5-bag.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 01:20:53 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[背包]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=168</guid>
		<description><![CDATA[ 中对我有用的部分&#8230;. 算是差不多看完了.
也就是说.. 滥竽充数系列 post 这个是最后一篇啦~~!!!!
这篇就写最最基本的 DP.. 背包问题`~[咳咳, 扔砖头的请便..]


W : 背包限重;
V&#91;i,j&#93; : 前 i 个... ]]></description>
			<content:encoded><![CDATA[<p><基本算法正式稿> 中对我有用的部分&#8230;. 算是差不多看完了.<br />
也就是说.. 滥竽充数系列 post 这个是最后一篇啦~~!!!!</p>
<p>这篇就写最最基本的 DP.. 背包问题`~[咳咳, 扔砖头的请便..]<br />
<span id="more-168"></span></p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">W <span style="color: #339933;">:</span> 背包限重;
V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> 前 i 个物品中选到重量为 j 时的最佳价值;
F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> 前 i 个物品中选到重量恰为 j 的情况 <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">boolean</span> 型<span style="color: #009900;">&#41;</span>;
W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> 第 i 个物品的重量;
P<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> 第 i 个物品的价值;
k <span style="color: #339933;">:</span> 物品数量;</pre></div></div>

<ul>0-1 背包问题</p>
<li>剩余最小载重

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">状态方程 <span style="color: #339933;">:</span> F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#40;</span>W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&lt;<span style="color: #339933;">=</span>j&lt;<span style="color: #339933;">=</span>W<span style="color: #009900;">&#41;</span>
边界条件 <span style="color: #339933;">:</span> F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">true</span>
&nbsp;
实现<span style="color: #339933;">:</span>
<span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
  <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">to</span> W <span style="color: #000000; font-weight: bold;">do</span> F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>;</pre></div></div>

</li>
<li>求最大价值

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">状态方程 <span style="color: #339933;">:</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">or</span> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#40;</span>j&lt;w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>max<span style="color: #666666; font-style: italic;">{V[i-1,j], V[i-1,j-W[i]]+P[i]}</span> <span style="color: #009900;">&#40;</span>i&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000066;">and</span> j&gt;<span style="color: #339933;">=</span>W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span></pre></div></div>

</li>
</ul>
<ul>可重复背包</p>
<li>剩余最小载重

<div class="wp_syntax"><div class="code"><pre class="pacal" style="font-family:monospace;">状态方程 : F[i,j]=F[i-1,j-W[i]*k] (W[i]&lt;=j&lt;=W and k=1..j div W[i])
边界条件 : F[0,0]=true</pre></div></div>

</li>
<li>求最大价值

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">状态方程 <span style="color: #339933;">:</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">or</span> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#40;</span>j&lt;w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">--</span> V<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>max<span style="color: #666666; font-style: italic;">{V[i-1,j], V[i-1,j-W[i]*k]+P[i]*k}</span> <span style="color: #009900;">&#40;</span>i&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000066;">and</span> j&gt;<span style="color: #339933;">=</span>W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000066;">and</span> k<span style="color: #339933;">=</span>1..<span style="color: #0066ee;">j</span> <span style="color: #000000; font-weight: bold;">div</span> W<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span></pre></div></div>

</li>
</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-4-search.html" title="超基本算法(四) &#8212; 搜索">超基本算法(四) &#8212; 搜索 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-3-tree.html" title="超基本算法(三) &#8212; 树的遍历">超基本算法(三) &#8212; 树的遍历 (7)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-2-sort.html" title="超基本算法(二) &#8212; 排序">超基本算法(二) &#8212; 排序 (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html" title="超基本算法(一) &#8212; 数论">超基本算法(一) &#8212; 数论 (9)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/basic-algorithm-5-bag.html">http://backtimer.missnkiss.com/basic-algorithm-5-bag.html</a></p>By the time  your rss reader get this post here is <strong> 4 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/algorithm/" title="algorithm" rel="tag">algorithm</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%83%8c%e5%8c%85/" title="背包" rel="tag">背包</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/basic-algorithm-5-bag.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>超基本算法(四) &#8212; 搜索</title>
		<link>http://backtimer.missnkiss.com/basic-algorithm-4-search.html</link>
		<comments>http://backtimer.missnkiss.com/basic-algorithm-4-search.html#comments</comments>
		<pubDate>Fri, 12 Sep 2008 02:15:46 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[搜索]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=166</guid>
		<description><![CDATA[又看了  .. 结果, 对其中的搜索部分并不满意&#8230;.
于是.. 在资料库里面翻出了我们老师自己写的 DFS 和 BFS 的教案&#8220;~ 复习了下^^
这篇充数的 post, 只是写 DFS 和 BFS 的框架.. 至于剪枝 / 双向 BFS... ]]></description>
			<content:encoded><![CDATA[<p>又看了 <基本算法正式稿> .. 结果, 对其中的搜索部分并不满意&#8230;.<br />
于是.. 在资料库里面翻出了我们老师自己写的 DFS 和 BFS 的教案&#8220;~ 复习了下^^</p>
<p>这篇充数的 post, 只是写 DFS 和 BFS 的框架.. 至于剪枝 / 双向 BFS 等呢&#8230;. 就算了吧.<br />
<span id="more-166"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> DFS;  <span style="color: #666666; font-style: italic;">//深度优先搜索 递归算法</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> DFSTRY<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>；  <span style="color: #666666; font-style: italic;">//递归过程</span>
<span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> maxr <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">if</span> 子结点mr符合条件 <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         产生的子结点mr压人栈；
         <span style="color: #000000; font-weight: bold;">if</span> 子结点mr是目标结点 <span style="color: #000000; font-weight: bold;">then</span> 输出 <span style="color: #000000; font-weight: bold;">else</span> DFSTRY<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>；
        栈顶元素出栈<span style="color: #009900;">&#40;</span>删去Mr<span style="color: #009900;">&#41;</span>
      <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  初始状态入栈；
  DFSTRY<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>；
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> DFS<span style="color: #009900;">&#40;</span>dcp<span style="color: #009900;">&#41;</span>； <span style="color: #666666; font-style: italic;">//深度优先搜索 非递归算法, 其实我基本不用这个的.... 向来都直接递归..</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> backtracking;  <span style="color: #666666; font-style: italic;">//回溯过程</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  dep<span style="color: #339933;">:=</span>dep<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>;
  <span style="color: #000000; font-weight: bold;">If</span> dep&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> 取回栈顶元素
  eIse p<span style="color: #339933;">:</span> <span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  dep<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">repeat</span>
    dep<span style="color: #339933;">:=</span>dep<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>;
    j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>; p<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #000000; font-weight: bold;">repeat</span>
      j<span style="color: #339933;">:=</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>;
      <span style="color: #000000; font-weight: bold;">if</span> mr 符合条件 <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        产生子结点 mr 并将其记录;
        <span style="color: #000000; font-weight: bold;">if</span> 子结点是目标结点 <span style="color: #000000; font-weight: bold;">then</span> 印输出并出栈  <span style="color: #000000; font-weight: bold;">else</span> p<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">end</span>
      <span style="color: #000000; font-weight: bold;">else</span>
         <span style="color: #000000; font-weight: bold;">if</span> j&gt;<span style="color: #339933;">=</span>maxi <span style="color: #000000; font-weight: bold;">then</span> backtracking <span style="color: #000000; font-weight: bold;">else</span> p<span style="color: #339933;">:</span> <span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000000; font-weight: bold;">until</span> p<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">true</span>;
  <span style="color: #000000; font-weight: bold;">until</span> dep<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span>  BFS;  <span style="color: #666666; font-style: italic;">//广度优先搜索</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  初始化; 把初始布局存入数据库data;
  设首指针closed<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>; 尾指针open<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">repeat</span>
    inc<span style="color: #009900;">&#40;</span>open<span style="color: #009900;">&#41;</span>;
    取出open所指结点进行扩展;
    <span style="color: #000000; font-weight: bold;">for</span> r<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> max <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>  <span style="color: #666666; font-style: italic;">//r为产生规则编号</span>
      <span style="color: #000000; font-weight: bold;">if</span> 子结点符合条件 <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
          inc<span style="color: #009900;">&#40;</span>closed<span style="color: #009900;">&#41;</span>;
          把新接点存入数据库队尾;
          <span style="color: #000000; font-weight: bold;">if</span> 新结点与原结点重复 <span style="color: #000000; font-weight: bold;">then</span> 删除新结点<span style="color: #009900;">&#40;</span>dec<span style="color: #009900;">&#40;</span>closed<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
         <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> 新结点即目标 <span style="color: #000000; font-weight: bold;">then</span> 输出并退出;
      <span style="color: #000000; font-weight: bold;">end</span>
    <span style="color: #000000; font-weight: bold;">end</span>
  <span style="color: #000000; font-weight: bold;">until</span> open&gt;<span style="color: #339933;">=</span>closed  <span style="color: #666666; font-style: italic;">//队列空</span>
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-5-bag.html" title="超基本算法(五) &#8212; 背包">超基本算法(五) &#8212; 背包 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-3-tree.html" title="超基本算法(三) &#8212; 树的遍历">超基本算法(三) &#8212; 树的遍历 (7)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-2-sort.html" title="超基本算法(二) &#8212; 排序">超基本算法(二) &#8212; 排序 (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html" title="超基本算法(一) &#8212; 数论">超基本算法(一) &#8212; 数论 (9)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/basic-algorithm-4-search.html">http://backtimer.missnkiss.com/basic-algorithm-4-search.html</a></p>By the time  your rss reader get this post here is <strong> 3 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/algorithm/" title="algorithm" rel="tag">algorithm</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%90%9c%e7%b4%a2/" title="搜索" rel="tag">搜索</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/basic-algorithm-4-search.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>超基本算法(三) &#8212; 树的遍历</title>
		<link>http://backtimer.missnkiss.com/basic-algorithm-3-tree.html</link>
		<comments>http://backtimer.missnkiss.com/basic-algorithm-3-tree.html#comments</comments>
		<pubDate>Thu, 11 Sep 2008 02:08:02 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[树]]></category>
		<category><![CDATA[遍历]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=165</guid>
		<description><![CDATA[作为滥竽充数 post 之三.. 这个问题曾经让我想了很久很久滴&#8220;~ 最终个人用很麻烦的方法解决了&#8230;..
而  里面, 用比较巧妙的方法解决了&#8230;.&#8220;~
有时候, 滥竽充数还是有用滴~~[不要扔... ]]></description>
			<content:encoded><![CDATA[<p>作为滥竽充数 post 之三.. 这个问题曾经让我想了很久很久滴&#8220;~ 最终个人用很麻烦的方法解决了&#8230;..<br />
而 <基本算法正式稿> 里面, 用比较巧妙的方法解决了&#8230;.&#8220;~<br />
有时候, 滥竽充数还是有用滴~~[不要扔砖头....]</p>
<p>基本的树的遍历呢, 就是先序/中序/后序遍历的生成啦~<br />
<span id="more-165"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> get_pre; <span style="color: #666666; font-style: italic;">//已知中序和后序, 求先序遍历.</span>
<span style="color: #000000; font-weight: bold;">var</span> pre<span style="color: #339933;">,</span>mid<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> getpre<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>post<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  i<span style="color: #339933;">:=</span>pos<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#91;</span>length<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>mid<span style="color: #009900;">&#41;</span>;
  pre<span style="color: #339933;">:=</span>pre<span style="color: #339933;">+</span>post<span style="color: #009900;">&#91;</span>length<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span>; <span style="color: #666666; font-style: italic;">//根</span>
  getpre<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>post<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;  <span style="color: #666666; font-style: italic;">//左</span>
  getpre<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>mid<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>post<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;  <span style="color: #666666; font-style: italic;">//右</span>
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  pre<span style="color: #339933;">:=</span><span style="color: #ff0000;">''</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>mid<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span>;
  getpre<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span>post<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> get_mid;  <span style="color: #666666; font-style: italic;">//已知先序和后序, 求中序的一种</span>
<span style="color: #000000; font-weight: bold;">var</span> pre<span style="color: #339933;">,</span>mid<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> check<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>; <span style="color: #666666; font-style: italic;">//判断两序列的元素是否完全相同</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> length<span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    p<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> length<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">if</span> pre<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>post<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> p<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">not</span> p <span style="color: #000000; font-weight: bold;">then</span> exit<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  exit<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> getmid<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>post<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">repeat</span>
    inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">until</span> check<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>post<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
  getmid<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>post<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//左</span>
  mid<span style="color: #339933;">:=</span>mid<span style="color: #339933;">+</span>pre<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;  <span style="color: #666666; font-style: italic;">//根</span>
  getmid<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>post<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;  <span style="color: #666666; font-style: italic;">//右</span>
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span>;
  mid<span style="color: #339933;">:=</span><span style="color: #ff0000;">''</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span>;
  getmid<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>post<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>mid<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> get_post;  <span style="color: #666666; font-style: italic;">//已知先序和中序, 求后序遍历</span>
<span style="color: #000000; font-weight: bold;">var</span> pre<span style="color: #339933;">,</span>mid<span style="color: #339933;">,</span>post<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> getpost<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>mid<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">=</span><span style="color: #ff0000;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  i<span style="color: #339933;">:=</span>pos<span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>mid<span style="color: #009900;">&#41;</span>;
  getpost<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;  <span style="color: #666666; font-style: italic;">//左</span>
  getpost<span style="color: #009900;">&#40;</span>copy<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>copy<span style="color: #009900;">&#40;</span>mid<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>length<span style="color: #009900;">&#40;</span>mid<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;  <span style="color: #666666; font-style: italic;">//右</span>
  post<span style="color: #339933;">:=</span>post<span style="color: #339933;">+</span>pre<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;  <span style="color: #666666; font-style: italic;">//根</span>
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>pre<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>mid<span style="color: #009900;">&#41;</span>;
  post<span style="color: #339933;">:=</span><span style="color: #ff0000;">''</span>;
  getpost<span style="color: #009900;">&#40;</span>pre<span style="color: #339933;">,</span>mid<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>post<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-5-bag.html" title="超基本算法(五) &#8212; 背包">超基本算法(五) &#8212; 背包 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-4-search.html" title="超基本算法(四) &#8212; 搜索">超基本算法(四) &#8212; 搜索 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-2-sort.html" title="超基本算法(二) &#8212; 排序">超基本算法(二) &#8212; 排序 (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html" title="超基本算法(一) &#8212; 数论">超基本算法(一) &#8212; 数论 (9)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/basic-algorithm-3-tree.html">http://backtimer.missnkiss.com/basic-algorithm-3-tree.html</a></p>By the time  your rss reader get this post here is <strong> 7 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/algorithm/" title="algorithm" rel="tag">algorithm</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%a0%91/" title="树" rel="tag">树</a>, <a href="http://backtimer.missnkiss.com/tag/%e9%81%8d%e5%8e%86/" title="遍历" rel="tag">遍历</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/basic-algorithm-3-tree.html/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>超基本算法(二) &#8212; 排序</title>
		<link>http://backtimer.missnkiss.com/basic-algorithm-2-sort.html</link>
		<comments>http://backtimer.missnkiss.com/basic-algorithm-2-sort.html#comments</comments>
		<pubDate>Wed, 10 Sep 2008 02:00:19 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[排序]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=162</guid>
		<description><![CDATA[滥竽充数 post 之二新鲜出炉啦!!
其实.. 我并没有按照 &#60;基本算法正式稿&#62; 的顺序编的&#8230;. 这回先弄了排序`~ 基本的排序啦^^
快排、插入排序、选择排序、冒泡排序 4 in 1 版本!!
P.S.: wp-syntax... ]]></description>
			<content:encoded><![CDATA[<p>滥竽充数 post 之二新鲜出炉啦!!<br />
其实.. 我并没有按照 &lt;基本算法正式稿&gt; 的顺序编的&#8230;. 这回先弄了排序`~ 基本的排序啦^^<br />
快排、插入排序、选择排序、冒泡排序 4 in 1 版本!!</p>
<p>P.S.: <a href="http://wpland.cn/2008/08/wp-syntax.html" target="_blank">wp-syntax</a> 看起来超爽..~!!<br />
<span id="more-162"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> sort;
<span style="color: #000000; font-weight: bold;">var</span> a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..100000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
    n<span style="color: #339933;">,</span>i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> qsort<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>r<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//快速排序</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>mid<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  i<span style="color: #339933;">:=</span>l; j<span style="color: #339933;">:=</span>r; mid<span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">+</span>r<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span>;
  <span style="color: #000000; font-weight: bold;">repeat</span>
    <span style="color: #000000; font-weight: bold;">while</span> a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&lt;mid <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">while</span> a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>&gt;mid <span style="color: #000000; font-weight: bold;">do</span> dec<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">if</span> i&lt;<span style="color: #339933;">=</span>j <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      temp<span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
      inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>; dec<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">until</span> i&gt;j;
  <span style="color: #000000; font-weight: bold;">if</span> i&lt;r <span style="color: #000000; font-weight: bold;">then</span> qsort<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>r<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">if</span> l&lt;j <span style="color: #000000; font-weight: bold;">then</span> qsort<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> insert_sort; <span style="color: #666666; font-style: italic;">//插入排序</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    a<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
    j<span style="color: #339933;">:=</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>;
    <span style="color: #000000; font-weight: bold;">while</span> a<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>&lt;a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      a<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>;
      dec<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
    a<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> choose_sort; <span style="color: #666666; font-style: italic;">//选择排序</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&gt;a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        temp<span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
      <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> bubble_sort; <span style="color: #666666; font-style: italic;">//冒泡排序</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>n <span style="color: #000000; font-weight: bold;">downto</span> i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>&lt;a<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        temp<span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>; a<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
      <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> write_sort; <span style="color: #666666; font-style: italic;">//输出..</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
&nbsp;
  randomize;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> b<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span>;
&nbsp;
  a<span style="color: #339933;">:=</span>b;
  qsort<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>n<span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//快排</span>
  write_sort;
&nbsp;
  a<span style="color: #339933;">:=</span>b;
  insert_sort; <span style="color: #666666; font-style: italic;">//插入排序</span>
  write_sort;
&nbsp;
  a<span style="color: #339933;">:=</span>b;
  choose_sort; <span style="color: #666666; font-style: italic;">//选择排序</span>
  write_sort;
&nbsp;
  a<span style="color: #339933;">:=</span>b;
  bubble_sort; <span style="color: #666666; font-style: italic;">//冒泡排序</span>
  write_sort;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-5-bag.html" title="超基本算法(五) &#8212; 背包">超基本算法(五) &#8212; 背包 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-4-search.html" title="超基本算法(四) &#8212; 搜索">超基本算法(四) &#8212; 搜索 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-3-tree.html" title="超基本算法(三) &#8212; 树的遍历">超基本算法(三) &#8212; 树的遍历 (7)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html" title="超基本算法(一) &#8212; 数论">超基本算法(一) &#8212; 数论 (9)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/basic-algorithm-2-sort.html">http://backtimer.missnkiss.com/basic-algorithm-2-sort.html</a></p>By the time  your rss reader get this post here is <strong> 6 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/algorithm/" title="algorithm" rel="tag">algorithm</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%8e%92%e5%ba%8f/" title="排序" rel="tag">排序</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/basic-algorithm-2-sort.html/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>超基本算法(一) &#8212; 数论</title>
		<link>http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html</link>
		<comments>http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html#comments</comments>
		<pubDate>Tue, 09 Sep 2008 13:15:12 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[数论]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=161</guid>
		<description><![CDATA[我承认.. 这篇 post 是拿来充数的&#8230;&#8230;&#8230;.
好吧, 是整理+自己编了下 &#60;基本算法正式稿&#62; 里的..
这是第一部分, 数论.. 其实, 也就关于 gcd、lcm 和 prime 的罢了&#8220;~没什么特别的&#8230;.
... ]]></description>
			<content:encoded><![CDATA[<p>我承认.. 这篇 post 是拿来充数的&#8230;&#8230;&#8230;.<br />
好吧, 是整理+自己编了下 &lt;基本算法正式稿&gt; 里的..<br />
这是第一部分, 数论.. 其实, 也就关于 gcd、lcm 和 prime 的罢了&#8220;~没什么特别的&#8230;.<br />
<span id="more-161"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> gcd; <span style="color: #666666; font-style: italic;">//Greatest Common Divisor 最大公约数</span>
<span style="color: #000000; font-weight: bold;">var</span> a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> gcd_ab<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> b<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> exit<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span>
  <span style="color: #000000; font-weight: bold;">else</span> gcd_ab<span style="color: #339933;">:=</span>gcd_ab<span style="color: #009900;">&#40;</span>b<span style="color: #339933;">,</span> a <span style="color: #000000; font-weight: bold;">mod</span> b<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>gcd_ab<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> lcm; <span style="color: #666666; font-style: italic;">//Lowest Common Multiple 最小公倍数</span>
<span style="color: #000000; font-weight: bold;">var</span> a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> lcm_gcd<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>; <span style="color: #666666; font-style: italic;">//利用 gcd 来求 lcm</span>
  <span style="color: #000000; font-weight: bold;">function</span> gcd<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
  <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">if</span> b<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> exit<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">else</span> gcd<span style="color: #339933;">:=</span>gcd<span style="color: #009900;">&#40;</span>b<span style="color: #339933;">,</span> a <span style="color: #000000; font-weight: bold;">mod</span> b<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  lcm_gcd<span style="color: #339933;">:=</span>a <span style="color: #339933;">*</span> b <span style="color: #000000; font-weight: bold;">div</span> gcd<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> lcm_row<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>; <span style="color: #666666; font-style: italic;">//直接求 lcm</span>
<span style="color: #000000; font-weight: bold;">var</span> temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> a&lt;b <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
    temp<span style="color: #339933;">:=</span>a; a<span style="color: #339933;">:=</span>b; b<span style="color: #339933;">:=</span>temp;
  <span style="color: #000000; font-weight: bold;">end</span>;
  lcm_row<span style="color: #339933;">:=</span>a;
  <span style="color: #000000; font-weight: bold;">while</span> lcm_row <span style="color: #000000; font-weight: bold;">mod</span> b &gt; <span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>lcm_row<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>lcm_gcd<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>lcm_row<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> prime; <span style="color: #666666; font-style: italic;">//判断输入的数 (longint 范围内) 是否质数</span>
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> check_prime<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> trunc<span style="color: #009900;">&#40;</span><span style="color: #000066;">sqrt</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> n <span style="color: #000000; font-weight: bold;">mod</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> exit<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>;
  exit<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>check_prime<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> getprime; <span style="color: #666666; font-style: italic;">//筛法求素数</span>
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..100000000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> get_prime<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  fillchar<span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> p<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
      j<span style="color: #339933;">:=</span>i;
      <span style="color: #000000; font-weight: bold;">while</span> j&lt;<span style="color: #339933;">=</span>n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
        p<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
        inc<span style="color: #009900;">&#40;</span>j<span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  get_prime<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-5-bag.html" title="超基本算法(五) &#8212; 背包">超基本算法(五) &#8212; 背包 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-4-search.html" title="超基本算法(四) &#8212; 搜索">超基本算法(四) &#8212; 搜索 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-3-tree.html" title="超基本算法(三) &#8212; 树的遍历">超基本算法(三) &#8212; 树的遍历 (7)</a></li>
<li><a href="http://backtimer.missnkiss.com/basic-algorithm-2-sort.html" title="超基本算法(二) &#8212; 排序">超基本算法(二) &#8212; 排序 (6)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html">http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html</a></p>By the time  your rss reader get this post here is <strong> 9 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/algorithm/" title="algorithm" rel="tag">algorithm</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%95%b0%e8%ae%ba/" title="数论" rel="tag">数论</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/basic-algorithm-1-number-theory.html/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>NOIP2008&#8217;s Desktop</title>
		<link>http://backtimer.missnkiss.com/noip2008s-desktop.html</link>
		<comments>http://backtimer.missnkiss.com/noip2008s-desktop.html#comments</comments>
		<pubDate>Sun, 07 Sep 2008 07:49:54 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[桌布]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=160</guid>
		<description><![CDATA[
You may like these posts:

不为 OI 的 OI (35)
FALSE (6)
暂停更新 for NOIP2008 (16)
NOIP2005普及组 解题报告 (4)
NOIP2006普及组 解题报告 (2)

&#169;2010 逆时. All Rights Reserved..
This article addresses:http://backtimer.missnkiss.c... ]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/images/noip2008.jpg" target="_blank"><img title="NOIP2008" src="/wp-content/uploads/images/noip2008.jpg" alt="点击查看大图" width="650" /></a><br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/false.html" title="FALSE">FALSE (6)</a></li>
<li><a href="http://backtimer.missnkiss.com/pause-update-for-noip2008.html" title="暂停更新 for NOIP2008">暂停更新 for NOIP2008 (16)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2008s-desktop.html">http://backtimer.missnkiss.com/noip2008s-desktop.html</a></p>By the time  your rss reader get this post here is <strong> 9 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%a1%8c%e5%b8%83/" title="桌布" rel="tag">桌布</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2008s-desktop.html/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>九连环&#8212;解法分析</title>
		<link>http://backtimer.missnkiss.com/9-chain-of-rings.html</link>
		<comments>http://backtimer.missnkiss.com/9-chain-of-rings.html#comments</comments>
		<pubDate>Tue, 22 Jul 2008 23:32:24 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[九连环]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=98</guid>
		<description><![CDATA[在读《算法艺术与信息学竞赛》时,在递推的习题中遇到一道有趣的题目:锁链(Polish Olympiad in Informatics,2001).其实,这题的本质是解九连环;因此,题目就不说了,有兴趣的就自己去搜搜看吧^^
简单的来... ]]></description>
			<content:encoded><![CDATA[<p>在读《算法艺术与信息学竞赛》时,在递推的习题中遇到一道有趣的题目:锁链(Polish Olympiad in Informatics,2001).其实,这题的本质是解九连环;因此,题目就不说了,有兴趣的就自己去搜搜看吧^^</p>
<p>简单的来说,九连环是这样的(具体的话,自己G一下吧^^)&#8212;</p>
<blockquote><p>一根棒子上有九个连环(从左到右依次编号),必须按照某种特殊的规则才能将九个连环全部解出:</p>
<ul>
<li>一次只能把一个环取下或套上;</li>
<li>编号为1的环无论何时都能取下或套上;</li>
<li>如果编号为1,&#8230;,k-1(1&lt;=k&lt;=9)的环已经取下,并且k还在棒上,那么可以取下编号为k+1的环.</li>
</ul>
</blockquote>
<p><span id="more-98"></span>小时候玩过&#8230;..很繁琐的过程来的&#8230;..<br />
实际上,我们可以从九连环拓展到n连环.</p>
<p>先来看看五连环的解法吧:<br />
共21步.</p>
<blockquote><p>0代表将环解下,1代表套上.</p>
<p>11111&#8211;&gt;初始状态,所有环都是套上的.<br />
01111&#8211;&gt;第一步,将1解下.<br />
01011&#8211;&gt;第二步,将3解下.<br />
11011<br />
10011<br />
00011<br />
00010<br />
10010<br />
11010<br />
01010<br />
01110<br />
11110<br />
10110<br />
00110<br />
00100<br />
10100<br />
11100<br />
01100<br />
01000<br />
11000<br />
10000<br />
00000</p></blockquote>
<p>简单分析可知,要解开5,必须解开3及以前的,保留4;解开3,必须解开1,保留2..<br />
这么一来,解五连环,<strong>关键在于解1-&gt;3-&gt;5</strong>,其中2、4相当于跳马..</p>
<p>将以上的步骤简记为:</p>
<blockquote><p>1↓ 3↓ 1↑ 2↓ 1↓ 5↓ {<span style="color: #000080;">[</span><span style="color: #ff0000;">(</span>1↑ 2↑ 1↓<span style="color: #ff0000;">)</span> 3↑ <span style="color: #ff0000;">(</span>1↑ 2↓ 1↓<span style="color: #ff0000;">)</span><span style="color: #000080;">]</span> 4↓ <span style="color: #000080;">[</span><span style="color: #ff0000;">(</span>1↑ 2↑ 1↓<span style="color: #ff0000;">)</span> 3↓ <span style="color: #ff0000;">(</span>1↑ 2↓ 1↓<span style="color: #ff0000;">)</span><span style="color: #000080;">]</span>}</p></blockquote>
<p>由上,不难看出其中出现了<strong>重复</strong>.<br />
1↑ 2↑ 1↓,1↑ 2↓ 1↓&#8212;这些是对环2的操作&#8220;且可知,<strong>套上实际上是解下的逆过程</strong>~<br />
1↑ 2↑ 1↓ 3↑ 1↑ 2↓ 1↓&#8212;对环3的操作<br />
1↑ 2↑ 1↓ 3↑ 1↑ 2↓ 1↓ 4↓ 1↑ 2↑ 1↓ 3↓ 1↑ 2↓ 1↓&#8212;对环5的操作.</p>
<p>定义F[k]为将环k套上或解下(并使得1~k-1环都不与其同状态)的总操作次数;f[k]为对环k套上或解下的单此操作.<br />
可以看出,环3的操作实际上是:F[2]+f[3]+F[2];<br />
环4的操作实际上是:F[3]+f[4]+F[3].<br />
而f[k]总是1.</p>
<p>由此可得出F[k]的递推方程:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">...</span></pre></div></div>

<p>再来分析关键环1、3、5的解下操作的前后.<br />
1:<span style="color: #ff0000;">1</span>↓<br />
3:<span style="color: #ff0000;">1</span>↓ <span style="color: #ff0000;">3</span>↓ 1↑ <span style="color: #ff0000;">2</span>↓ 1↓<br />
5:1↓ <span style="color: #ff0000;">3</span>↓ 1↑ 2↓ 1↓ <span style="color: #ff0000;">5</span>↓ 1↑ 2↑ 1↓ 3↑ 1↑ 2↓ 1↓ <span style="color: #ff0000;">4</span>↓ 1↑ 2↑ 1↓ 3↓ 1↑ 2↓ 1↓</p>
<p>定义G[k]为解下关键环总操作次数.<br />
类似于得出上一个递推方程的思路,可得:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">G<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>G<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>F<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span></pre></div></div>

<p>拓展五连环,就可以得出,九连环的总步骤数实际上就是解关键环1、3、5、7、9的总操作数罢了.<br />
结果是341步.</p>
<p>思考归纳后可得,以上方法即为解/套奇数连环的方法啦.<br />
那偶数连环呢?</p>
<p>这就简单啦.<br />
既然<strong>奇数连环的关键环是编号为奇数的环</strong>,那<strong>偶数连环的关键环就是编号为偶数的环</strong>啦~<br />
那么,第一个解下环2,往后类似就好了,就不再说一次啦.</p>
<p><em>九连环之成熟期</em>代码如下:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    steps<span style="color: #339933;">,</span>answer<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> int64;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> get_steps;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  steps<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> steps<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>steps<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>steps<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> get_ans_odd;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  answer<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">3</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">odd</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> answer<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>answer<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>steps<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> get_ans_not_odd;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  answer<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">not</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">odd</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> answer<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>answer<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>steps<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  get_steps;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">odd</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> get_ans_odd <span style="color: #000000; font-weight: bold;">else</span> get_ans_not_odd;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>answer<span style="color: #009900;">&#91;</span>n<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p>来看看1~5的输出:</p>
<ol>
<li>1</li>
<li>2</li>
<li>5</li>
<li>10</li>
<li>21</li>
</ol>
<p>找吖找规律&#8230;.<br />
OMG!规律竟然如此简单&#8230;.</p>
<p>归纳一下,设T[k]为解开k连环所需总操作数,则</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> odd<span style="color: #009900;">&#40;</span>k<span style="color: #009900;">&#41;</span> then T<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>T<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>
<span style="color: #b1b100;">else</span> T<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>T<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span></pre></div></div>

<p>over..更为简单的解法出现啦!(数学上可以证明其正确性吧,我没去证..)<br />
由此猜想,32连环的步数恰好爆长整型,64连环的步数恰好爆64位长整型.<br />
编程验证之,正确&#8230;so&#8230;想过要看100连环的步数..要高精度&#8230;算了,懒得写了-_-~!!</p>
<p>既然<strong>观察</strong>这么强悍,那么再观察一下.<br />
这回观察前面五连环解法的0/1表示,咦,有似曾相识的感觉?<br />
再看看解法的规则:<strong>一次只能把一个环取下或套上</strong>.</p>
<p>Get it.<br />
其实<strong>解法的第m步就是第n-m个格雷码的逆序输出</strong>&#8230;.<br />
反之,<strong>套上的方法,第m步就是第m个格雷码的逆序输出</strong>&#8230;.Orz..<br />
P.S.:关于<a href="http://en.wikipedia.org/wiki/Gray_code" target="_blank">格雷码</a><br />
再P.S.:哎&#8230;..中国伟大的古人们在西汉时期(最早提及九连环的MS是司马相如?)就在玩九连环了&#8230;可是,就是没人发现格雷码&#8230;.好吧,正如传说中&#8221;东方不亮罗国亮&#8221;的深中历史老师所言:中国古代有技术但没科学!</p>
<p><em>九连环之完全体</em>(总步数的递推计算+详细步骤的gray_code逆序输出)代码如下:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>ans<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> change<span style="color: #009900;">&#40;</span>m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    s<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..100<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">byte</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  p<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">while</span> m&lt;&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    inc<span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span>;
    s<span style="color: #009900;">&#91;</span>p<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>m <span style="color: #000000; font-weight: bold;">mod</span> <span style="color: #cc66cc;">2</span>;
    m<span style="color: #339933;">:=</span>m <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  s<span style="color: #009900;">&#91;</span>p<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> p <span style="color: #000000; font-weight: bold;">do</span> s<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>s<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">xor</span> s<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> p <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">if</span> p&lt;n <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>p<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'gray-code.out'</span><span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  ans<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">odd</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> ans<span style="color: #339933;">:=</span>ans<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">else</span> ans<span style="color: #339933;">:=</span>ans<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>ans <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> change<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span><span style="color: #009900;">&#41;</span>;writeln<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
  close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p>睡觉前突然想到&#8230;.<br />
既然套上的方法,第m步就是第m个格雷码&#8230;而最后一步总是n个1(逆序也一样吖&#8230;)&#8230;<br />
那么,<strong>将n个1解码成二进制,再换算成十进制不就是步数?!</strong></p>
<p>编程验证之,GAME OVER.</p>
<p><em>九连环之究极体</em>代码如下:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    step<span style="color: #339933;">:</span>int64;
    gray_code<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">byte</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> change<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>int64;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
    temp<span style="color: #339933;">,</span>two<span style="color: #339933;">:</span>int64;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> gray_code<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> gray_code<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>gray_code<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">xor</span> gray_code<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
  two<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;temp<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    temp<span style="color: #339933;">:=</span>temp<span style="color: #339933;">+</span>gray_code<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>two;
    two<span style="color: #339933;">:=</span>two <span style="color: #000000; font-weight: bold;">shl</span> <span style="color: #cc66cc;">1</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  exit<span style="color: #009900;">&#40;</span>temp<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  step<span style="color: #339933;">:=</span>change<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>step<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p>一个九连环问题,步步归纳,得出三种解法(存在递进关系的?).<br />
K.O.<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/fs4.html" title="幻想三国志肆">幻想三国志肆 (7)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/9-chain-of-rings.html">http://backtimer.missnkiss.com/9-chain-of-rings.html</a></p>By the time  your rss reader get this post here is <strong> 12 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/%e4%b9%9d%e8%bf%9e%e7%8e%af/" title="九连环" rel="tag">九连环</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%b8%b8%e6%88%8f/" title="游戏" rel="tag">游戏</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/9-chain-of-rings.html/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>暑假OI计划</title>
		<link>http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html</link>
		<comments>http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html#comments</comments>
		<pubDate>Tue, 15 Jul 2008 11:58:09 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[暑假]]></category>
		<category><![CDATA[计划]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=88</guid>
		<description><![CDATA[7月18号正式放假,估计是深圳最晚放假的一个学校了吧..?不过&#8230;.我们学校不用补课..
40+天的暑假&#8230;怎么能浪费!!
GDOI2008后,fengzi牛正式退役了.
今天,fengzi牛又给了我一堆书(或者说,我继承了?N... ]]></description>
			<content:encoded><![CDATA[<p>7月18号正式放假,估计是深圳最晚放假的一个学校了吧..?不过&#8230;.我们学校不用补课..<br />
40+天的暑假&#8230;怎么能浪费!!</p>
<p>GDOI2008后,fengzi牛正式退役了.<br />
今天,fengzi牛又给了我一堆书(或者说,我继承了?N多代代相传的&#8230;.最古老的是97年的&#8230;..)..<br />
我成了深中唯一一个OIer了..(先佩服一下深圳&#8230;GDOI从第一到第八都坐过&#8230;.这一记录,绝无仅有..-_-~!)</p>
<p>周末去买本本给自己了.<br />
本来想去香港买的&#8230;结果,港澳通行证必须要回户口所在地办理..我的户口在湛江不在深圳&#8211;!没戏了..只能乖乖去华强北了&#8230;<br />
今天偷偷去了华强北..看到了几款心仪的~准备就绪,只待周末~~!<br />
有了自己的本本(现在这个是姐姐的..)以后,就该开始奋斗了,说过的,暑假,我是疯子.<br />
<span id="more-88"></span><br />
先说下手头上有的资料:</p>
<ul>
<li>实体书籍.
<ol>
<li>&lt;NOI专刊&gt;若干</li>
<li>&lt;算法导论&gt;</li>
<li>&lt;算法艺术与信息学竞赛&gt;</li>
<li>&lt;图论的算法与程序设计&gt;</li>
<li>GDOI和GDKOI时候才发的所谓&lt;资料集&gt;×9</li>
<li>&lt;奥赛经典之奥林匹克数学中的组合问题&gt;(数学的&#8230;.对OI有用,学之.)</li>
<li>&lt;奥赛经典之信息学奥林匹克教程提高篇&gt;</li>
<li>&lt;国际大学生程序设计竞赛例题解(一)&gt;-&lt;数论、计算几何、搜索算法专集&gt;</li>
<li>&lt;国际大学生程序设计竞赛例题解(二)&gt;-&lt;广东省大学生程序设计竞赛试题(2003-2005年)&gt;</li>
<li>&lt;国际大学生程序设计竞赛例题解(三)&gt;-&lt;图论、动态规划算法、综合题专集&gt;</li>
<li>&lt;国际大学生程序设计竞赛例题解(四)&gt;-&lt;广东省信息学奥林匹克竞赛试题(2003-2006年)&gt;</li>
</ol>
</li>
<li>电子书籍.
<ol>
<li>&lt;贪心导论&gt;</li>
<li>&lt;基本算法&gt;</li>
<li>&lt;骗分导论&gt;(&#8230;.)</li>
<li>(黑书)</li>
<li>&lt;计算机程序设计艺术&gt;</li>
</ol>
</li>
</ul>
<p>好多&#8230;.可是我只有一年时间..啊.<br />
不疯不行了&#8230;</p>
<p>以下就是疯子的计划.</p>
<ul>
<li>看书
<ol>
<li>&lt;NOI专刊&gt;若干,<del datetime="2008-07-19T02:08:09+00:00">短期内消灭!</del>有一些还是看不懂的&#8230;等能力提升了再好好的看!</li>
<li>&lt;算法艺术与信息学竞赛&gt;要啃完啃好!</li>
<li>辅之以&lt;图论的算法与程序设计&gt;</li>
<li>&lt;奥赛经典之信息学奥林匹克教程提高篇&gt;透掉.</li>
<li>&lt;贪心导论&gt;KO掉.</li>
<li>&lt;基本算法&gt;同样KO之.</li>
<li>&lt;骗分导论&gt;&#8230;&#8230;赛前再看吧..</li>
</ol>
</li>
<li>做题
<ol>
<li>USACO刷完.</li>
<li>&lt;国际大学生程序设计竞赛例题解(一)&gt;-&lt;数论、计算几何、搜索算法专集&gt;要全AC.</li>
<li>&lt;国际大学生程序设计竞赛例题解(三)&gt;-&lt;图论、动态规划算法、综合题专集&gt;还是要全AC.</li>
</ol>
</li>
</ul>
<p style="text-align: right;">That&#8217;s not all,<br />
but waiting for I to finish them!</p>
<p style="text-align: right;">继承fengzi牛的又一疯子,<br />
Leewings牛即将出现.<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html" title="菜鸟是怎样用 vim 来编程的">菜鸟是怎样用 vim 来编程的 (11)</a></li>
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html">http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html</a></p>By the time  your rss reader get this post here is <strong> 18 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a>, <a href="http://backtimer.missnkiss.com/tag/%e6%9a%91%e5%81%87/" title="暑假" rel="tag">暑假</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%ae%a1%e5%88%92/" title="计划" rel="tag">计划</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>USACO刷题记录</title>
		<link>http://backtimer.missnkiss.com/usaco-record.html</link>
		<comments>http://backtimer.missnkiss.com/usaco-record.html#comments</comments>
		<pubDate>Sat, 12 Jul 2008 01:46:28 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[OI]]></category>
		<category><![CDATA[USACO]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=86</guid>
		<description><![CDATA[如题..这个页面是用来显示个人的USACO刷题记录的啦~
最后一个是代表我正在做的..~
手动刷新太麻烦了&#8230;.一次过贴入一个Section的吧&#8230;..最后一个Section表示我正在刷~
会在评论中加入我自己... ]]></description>
			<content:encoded><![CDATA[<p>如题..这个页面是用来显示个人的<a href="http://train.usaco.org/usacogate" target="_blank">USACO</a>刷题记录的啦~</p>
<p><del datetime="2008-07-19T08:21:16+00:00">最后一个是代表我正在做的..~</del></p>
<p>手动刷新太麻烦了&#8230;.一次过贴入一个<strong>Section</strong>的吧&#8230;..最后一个<strong>Section</strong>表示我正在刷~</p>
<p>会在评论中加入我自己的解题思路~(这篇文章写得晚&#8230;.解题会从1.4.1开始&#8230;)</p>
<p>呵呵,或许很幼稚的吧^^</p>
<p>Just for Fly&amp;Fun^^</p>
<p>P.S.:所有翻译来自:<a href="http://www.nocow.cn" target="_blank">NOCOW</a></p>
<p><span id="more-86"></span></p>
<h2>Chapter1</h2>
<h4>Section 1.1</h4>
<ul>
<li>Your Ride Is Here (ride) (<a title="Translate:USACO/ride" href="http://www.nocow.cn/index.php/Translate:USACO/ride">翻译</a>)</li>
<li>Greedy Gift Givers (gift1) (<a title="Translate:USACO/gift1" href="http://www.nocow.cn/index.php/Translate:USACO/gift1">翻译</a>)</li>
<li>Friday the Thirteenth (friday) (<a title="Translate:USACO/friday" href="http://www.nocow.cn/index.php/Translate:USACO/friday">翻译</a>)</li>
<li>Broken Necklace (beads) (<a title="Translate:USACO/beads" href="http://www.nocow.cn/index.php/Translate:USACO/beads">翻译</a>)</li>
</ul>
<h4>Section 1.2</h4>
<ul>
<li>Milking Cows (milk2)(<a title="Translate:USACO/milk2" href="http://www.nocow.cn/index.php/Translate:USACO/milk2">翻译</a>)</li>
<li>Transformations (transform)(<a title="Translate:USACO/transform" href="http://www.nocow.cn/index.php/Translate:USACO/transform">翻译</a>)</li>
<li>Name That Number (namenum)(<a title="Translate:USACO/namenum" href="http://www.nocow.cn/index.php/Translate:USACO/namenum">翻译</a>)</li>
<li>Palindromic Squares (palsquare)(<a title="Translate:USACO/palsquare" href="http://www.nocow.cn/index.php/Translate:USACO/palsquare">翻译</a>)</li>
<li>Dual Palindromes (dualpal)(<a title="Translate:USACO/dualpal" href="http://www.nocow.cn/index.php/Translate:USACO/dualpal">翻译</a>)</li>
</ul>
<h4>Section 1.3</h4>
<ul>
<li>Mixing Milk (milk)(<a title="Translate:USACO/milk" href="http://www.nocow.cn/index.php/Translate:USACO/milk">翻译</a>)</li>
<li>Barn Repair (barn1)(<a title="Translate:USACO/barn1" href="http://www.nocow.cn/index.php/Translate:USACO/barn1">翻译</a>)</li>
<li>Calf Flac (calfflac)(<a title="Translate:USACO/calfflac" href="http://www.nocow.cn/index.php/Translate:USACO/calfflac">翻译</a>)</li>
<li>Prime Cryptarithm (crypt1)(<a title="Translate:USACO/crypt1" href="http://www.nocow.cn/index.php/Translate:USACO/crypt1">翻译</a>)<span class="mw-headline">
<p></span></li>
</ul>
<h4>Section 1.4</h4>
<ul>
<li>Packing Rectangles (packrec)(<a title="Translate:USACO/packrec" href="http://www.nocow.cn/index.php/Translate:USACO/packrec">翻译</a>)</li>
<li>The Clocks (clocks)(<a title="Translate:USACO/clocks" href="http://www.nocow.cn/index.php/Translate:USACO/clocks">翻译</a>)</li>
<li>Arithmetic Progressions (ariprog)(<a title="Translate:USACO/ariprog" href="http://www.nocow.cn/index.php/Translate:USACO/ariprog">翻译</a>)</li>
<li>Mother&#8217;s Milk (milk3)(<a title="Translate:USACO/milk3" href="http://www.nocow.cn/index.php/Translate:USACO/milk3">翻译</a>)</li>
</ul>
<h4>Section 1.5</h4>
<ul>
<li>Number Triangles (numtri)(<a title="Translate:USACO/numtri" href="http://www.nocow.cn/index.php/Translate:USACO/numtri">翻译</a>)</li>
<li>Prime Palindromes (pprime)(<a title="Translate:USACO/pprime" href="http://www.nocow.cn/index.php/Translate:USACO/pprime">翻译</a>)</li>
<li>SuperPrime Rib (sprime)(<a title="Translate:USACO/sprime" href="http://www.nocow.cn/index.php/Translate:USACO/sprime">翻译</a>)</li>
<li>Checker Challenge (checker)(<a title="Translate:USACO/checker" href="http://www.nocow.cn/index.php/Translate:USACO/checker">翻译</a>)</li>
</ul>
<h2>Chapter2</h2>
<h4>Section 2.1</h4>
<ul>
<li>The Castle (castle) (<a title="Translate:USACO/castle" href="http://www.nocow.cn/index.php/Translate:USACO/castle">翻译</a>)</li>
<li>Ordered Fractions (frac1) (<a title="Translate:USACO/frac1" href="http://www.nocow.cn/index.php/Translate:USACO/frac1">翻译</a>)</li>
<li>Sorting A Three-Valued Sequence (sort3) (<a title="Translate:USACO/sort3" href="http://www.nocow.cn/index.php/Translate:USACO/sort3">翻译</a>)</li>
<li>Healthy Holsteins (holstein) (<a title="Translate:USACO/holstein" href="http://www.nocow.cn/index.php/Translate:USACO/holstein">翻译</a>)</li>
<li>Hamming Codes (hamming) (<a title="Translate:USACO/hamming" href="http://www.nocow.cn/index.php/Translate:USACO/hamming">翻译</a>)</li>
</ul>
<h4>Section 2.2</h4>
<ul>
<li>Preface Numbering (preface) (<a title="Translate:USACO/preface" href="http://www.nocow.cn/index.php/Translate:USACO/preface">翻译</a>)</li>
<li>Subset Sums (subset) (<a title="Translate:USACO/subset" href="http://www.nocow.cn/index.php/Translate:USACO/subset">翻译</a>)</li>
<li>Runaround Numbers (runround) (<a title="Translate:USACO/runround" href="http://www.nocow.cn/index.php/Translate:USACO/runround">翻译</a>)</li>
<li>Party Lamps (lamps) (<a title="Translate:USACO/lamps" href="http://www.nocow.cn/index.php/Translate:USACO/lamps">翻译</a>)</li>
</ul>
<h4>Section 2.3</h4>
<ul>
<li>The Longest Prefix (prefix) (<a title="Translate:USACO/prefix" href="http://www.nocow.cn/index.php/Translate:USACO/prefix">翻译</a>)</li>
<li>Cow Pedigrees (nocows) (<a title="Translate:USACO/nocows" href="http://www.nocow.cn/index.php/Translate:USACO/nocows">翻译</a>)</li>
<li>Zero Sum (zerosum) (<a title="Translate:USACO/zerosum" href="http://www.nocow.cn/index.php/Translate:USACO/zerosum">翻译</a>)</li>
<li>Money Systems (money) (<a title="Translate:USACO/money" href="http://www.nocow.cn/index.php/Translate:USACO/money">翻译</a>)</li>
<li>Controlling Companies (concom) (<a title="Translate:USACO/concom" href="http://www.nocow.cn/index.php/Translate:USACO/concom">翻译</a>)</li>
</ul>
<h4>Section 2.4</h4>
<ul>
<li>The Tamworth Two (ttwo) (<a title="Translate:USACO/ttwo" href="http://www.nocow.cn/index.php/Translate:USACO/ttwo">翻译</a>)</li>
<li>Overfencing (maze1) (<a title="Translate:USACO/maze1" href="http://www.nocow.cn/index.php/Translate:USACO/maze1">翻译</a>)</li>
<li>Cow Tours (cowtour) (<a title="Translate:USACO/cowtour" href="http://www.nocow.cn/index.php/Translate:USACO/cowtour">翻译</a>)</li>
<li>Bessie Come Home (comehome) (<a title="Translate:USACO/comehome" href="http://www.nocow.cn/index.php/Translate:USACO/comehome">翻译</a>)</li>
<li>Fractions to Decimals (fracdec) (<a title="Translate:USACO/fracdec" href="http://www.nocow.cn/index.php/Translate:USACO/fracdec">翻译</a>)</li>
</ul>
<h2>Chapter3</h2>
<h4>Section 3.1</h4>
<ul>
<li>Agri-Net (agrinet)(<a title="Translate:USACO/agrinet" href="http://www.nocow.cn/index.php/Translate:USACO/agrinet">翻译</a>)</li>
<li>Score Inflation (inflate) (<a title="Translate:USACO/inflate" href="http://www.nocow.cn/index.php/Translate:USACO/inflate">翻译</a>)</li>
<li>Humble Numbers (humble) (<a title="Translate:USACO/humble" href="http://www.nocow.cn/index.php/Translate:USACO/humble">翻译</a>)</li>
<li>Shaping Regions (rect1) (<a title="Translate:USACO/rect1" href="http://www.nocow.cn/index.php/Translate:USACO/rect1">翻译</a>)</li>
<li>Contact (contact) (<a title="Translate:USACO/contact" href="http://www.nocow.cn/index.php/Translate:USACO/contact">翻译</a>)</li>
<li>Stamps (stamps) (<a title="Translate:USACO/stamps" href="http://www.nocow.cn/index.php/Translate:USACO/stamps">翻译</a>)</li>
</ul>
<h4><span class="mw-headline">Section 3.2</span></h4>
<ul>
<li>Factorials (fact4) (<a title="Translate:USACO/fact4" href="http://www.nocow.cn/index.php/Translate:USACO/fact4">翻译</a>)</li>
<li>Stringsobits (kimbits) (<a title="Translate:USACO/kimbits" href="http://www.nocow.cn/index.php/Translate:USACO/kimbits">翻译</a>)</li>
<li>Spinning Wheels (spin) (<a title="Translate:USACO/spin" href="http://www.nocow.cn/index.php/Translate:USACO/spin">翻译</a>)</li>
<li>Feed Ratios (ratios) (<a title="Translate:USACO/ratios" href="http://www.nocow.cn/index.php/Translate:USACO/ratios">翻译</a>)</li>
<li>Magic Squares (msquare) (<a title="Translate:USACO/msquare" href="http://www.nocow.cn/index.php/Translate:USACO/msquare">翻译</a>)</li>
<li>Sweet Butter (butter) (<a title="Translate:USACO/butter" href="http://www.nocow.cn/index.php/Translate:USACO/butter">翻译</a>)</li>
</ul>
<h4><span class="mw-headline">Section 3.3</span></h4>
<ul>
<li>Riding The Fences (fence) (<a title="Translate:USACO/fence" href="http://www.nocow.cn/index.php/Translate:USACO/fence">翻译</a>)</li>
<li>Shopping Offers (shopping) (<a title="Translate:USACO/shopping" href="http://www.nocow.cn/index.php/Translate:USACO/shopping">翻译</a>)</li>
<li>Camelot (camelot) (<a title="Translate:USACO/camelot" href="http://www.nocow.cn/index.php/Translate:USACO/camelot">翻译</a>)</li>
<li>Home on the Range (range) (<a title="Translate:USACO/range" href="http://www.nocow.cn/index.php/Translate:USACO/range">翻译</a>)</li>
<li>A Game (game1) (<a title="Translate:USACO/game1" href="http://www.nocow.cn/index.php/Translate:USACO/game1">翻译</a>)</li>
</ul>
<h4><span>Section 3.4</span></h4>
<ul>
<li>Closed Fences (fence4) (<a title="Translate:USACO/fence4" href="http://www.nocow.cn/index.php/Translate:USACO/fence4">翻译</a>)</li>
<li>American Heritage (heritage) (<a title="Translate:USACO/heritage" href="http://www.nocow.cn/index.php/Translate:USACO/heritage">翻译</a>)</li>
<li>Electric Fence (fence9) (<a title="Translate:USACO/fence9" href="http://www.nocow.cn/index.php/Translate:USACO/fence9">翻译</a>)</li>
<li>Raucous Rockers (rockers) (<a title="Translate:USACO/rockers" href="http://www.nocow.cn/index.php/Translate:USACO/rockers">翻译</a>)</li>
</ul>
<h2>Chapter4</h2>
<h4><span>Section 4.1</span></h4>
<ul>
<li>Beef McNuggets (nuggets) (<a title="Translate:USACO/nuggets" href="http://www.nocow.cn/index.php/Translate:USACO/nuggets">翻译</a>)</li>
<li>Fence Rails (fence8) (<a title="Translate:USACO/fence8" href="http://www.nocow.cn/index.php/Translate:USACO/fence8">翻译</a>)</li>
<li>Fence Loops (fence6) (<a title="Translate:USACO/fence6" href="http://www.nocow.cn/index.php/Translate:USACO/fence6">翻译</a>)</li>
<li>Cryptcowgraphy (cryptcow) (<a title="Translate:USACO/cryptcow" href="http://www.nocow.cn/index.php/Translate:USACO/cryptcow">翻译</a>)</li>
</ul>
<h4><span>Section 4.2</span></h4>
<ul>
<li>Drainage Ditches (ditch) (<a title="Translate:USACO/ditch" href="http://www.nocow.cn/index.php/Translate:USACO/ditch">翻译</a>)</li>
<li>The Perfect Stall (stall4) (<a title="Translate:USACO/stall4" href="http://www.nocow.cn/index.php/Translate:USACO/stall4">翻译</a>)</li>
<li>Job Processing (job) (<a title="USACO/job" href="http://www.nocow.cn/index.php/USACO/job">题解</a>)</li>
<li>Cowcycles (cowcycle) (<a title="Translate:USACO/cowcycle" href="http://www.nocow.cn/index.php/Translate:USACO/cowcycle">翻译</a>)</li>
</ul>
<h4><span>Section 4.3</span></h4>
<ul>
<li>Buy Low, Buy Lower (buylow) (<a title="Translate:USACO/buylow" href="http://www.nocow.cn/index.php/Translate:USACO/buylow">翻译</a>)</li>
<li>The Primes (prime3) (<a title="Translate:USACO/prime3" href="http://www.nocow.cn/index.php/Translate:USACO/prime3">翻译</a>)</li>
<li>Street Race (race3) (<a title="Translate:USACO/race3" href="http://www.nocow.cn/index.php/Translate:USACO/race3">翻译</a></li>
<li>Letter Game (lgame) (<a title="Translate:USACO/lgame" href="http://www.nocow.cn/index.php/Translate:USACO/lgame">翻译</a>)</li>
</ul>
<h4><span>Section 4.4</span></h4>
<ul>
<li>Shuttle Puzzle (shuttle)(<a title="Translate:USACO/shuttle" href="http://www.nocow.cn/index.php/Translate:USACO/shuttle">翻译</a>)</li>
<li>Pollutant Control (milk6) (<a title="Translate:USACO/milk6" href="http://www.nocow.cn/index.php/Translate:USACO/milk6">翻译</a>)</li>
<li>Frame Up (frameup) (<a title="Translate:USACO/frameup" href="http://www.nocow.cn/index.php/Translate:USACO/frameup">翻译</a>)</li>
</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html" title="菜鸟是怎样用 vim 来编程的">菜鸟是怎样用 vim 来编程的 (11)</a></li>
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html" title="暑假OI计划">暑假OI计划 (18)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/usaco-record.html">http://backtimer.missnkiss.com/usaco-record.html</a></p>By the time  your rss reader get this post here is<strong> 73 </strong>comments,Heated discussion,Why not to come to check it out ?!<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a>, <a href="http://backtimer.missnkiss.com/tag/usaco/" title="USACO" rel="tag">USACO</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/usaco-record.html/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>GDOI2008,GAME OVER</title>
		<link>http://backtimer.missnkiss.com/gdoi2008-game-over.html</link>
		<comments>http://backtimer.missnkiss.com/gdoi2008-game-over.html#comments</comments>
		<pubDate>Mon, 07 Jul 2008 12:38:59 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=85</guid>
		<description><![CDATA[写个总结,短的,不想写长了.

No.1

送分题,AC(30分)
双广,0分.我的做法是单广,4000W的状态,判重很猥琐&#8230;.挂定.
图论的题目&#8230;.我随便弄了个蒙点的程序&#8230;15分
&#8220;4个关键字排序比较的问题... ]]></description>
			<content:encoded><![CDATA[<p>写个总结,短的,不想写长了.</p>
<ul>
<li>No.1
<ol>
<li>送分题,AC(<strong>30分</strong>)</li>
<li>双广,<em>0分</em>.我的做法是单广,4000W的状态,判重很猥琐&#8230;.挂定.</li>
<li>图论的题目&#8230;.我随便弄了个蒙点的程序&#8230;<strong>15分</strong></li>
<li>&#8220;4个关键字排序比较的问题&#8230;弄颗树来扫啊.&#8221;评讲时人家说的&#8230;我<em>0分</em></li>
</ol>
</li>
</ul>
<ul>
<li>No.2
<ol>
<li>送分题,找规律的.糊里糊涂没弄出来,<em>0分</em>&#8230;</li>
<li>DP&#8230;难题,没弄出来,<em>0分</em>.</li>
<li>贪心.策略完全正确,弄了个n^2的算法&#8230;.<strong>20分</strong>,50%的点.实际上,n的算法想到了,但没去编&#8230;.</li>
<li>能力+技巧要求很高的一道题&#8230;二分的,不知道该怎么去说这道题(我的水平很低&#8230;..).n^5的程序,蒙到了<strong>8分</strong>.(全场没有满分的..)..</li>
</ol>
</li>
</ul>
<p>两试总分:73.<br />
GDOI2008三等线:74,好了,郁闷了下&#8230;</p>
<p>总的来说,这次其实应该能AC掉第二试的1、3题的..100分就上去了吖&#8230;二等线才107&#8230;.<br />
多有价值的二等啊&#8230;废了.反而深圳两个初中的都比我高分..郁闷了.</p>
<p>这次比赛,最难受的还是fengzi牛.<br />
深圳最有希望进省队的牛,第一试郁闷了&#8230;第二试电脑出问题了&#8230;.<br />
才三等奖了&#8230;<br />
fengzi牛不甘到中大,要拼高考了&#8230;.</p>
<p>好吧,第一次GDOI,就这样废了&#8230;.好了,不理了.</p>
<p>距NOIP2008还有百来天..<br />
拼了,打死都要弄到个一等奖,这样才好说话了吖.!!<br />
要是这个一等奖没有..哎,估计我的OI路从此终结.</p>
<p>这个暑假,一个疯子即将出现..<br />
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/74-78-gdoi2008.html" title="7.4-7.8,GDOI2008">7.4-7.8,GDOI2008 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html" title="菜鸟是怎样用 vim 来编程的">菜鸟是怎样用 vim 来编程的 (11)</a></li>
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html" title="暑假OI计划">暑假OI计划 (18)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html">http://backtimer.missnkiss.com/gdoi2008-game-over.html</a></p>By the time  your rss reader get this post here is <strong> 20 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/gdoi2008-game-over.html/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>7.4-7.8,GDOI2008</title>
		<link>http://backtimer.missnkiss.com/74-78-gdoi2008.html</link>
		<comments>http://backtimer.missnkiss.com/74-78-gdoi2008.html#comments</comments>
		<pubDate>Thu, 03 Jul 2008 11:52:21 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[OI]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=84</guid>
		<description><![CDATA[明天去珠海了..!!呼呼.~
for GDOI2008..
P.S.:昨天要交政治作业&#8230;.没交.今天刘总(政治老师)问限令我明天下午前交&#8230;.
课后,跟他说明天要去比赛一个星期,
刘总say:噢噢,好好比赛吧,这个没事,特... ]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">明天去珠海了..!!呼呼.~<br />
for GDOI2008..</p>
<p>P.S.:昨天要交政治作业&#8230;.没交.今天刘总(政治老师)问限令我明天下午前交&#8230;.<br />
课后,跟他说明天要去比赛一个星期,<br />
刘总say:噢噢,好好比赛吧,这个没事,特殊情况,没事的.</p>
<p>KO.<br />
刘总真棒~!!<br />
爽~^^</p>
<p style="text-align: center;">GDOI2008,<br />
目标:前30.冲击!!</p>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
<li><a href="http://backtimer.missnkiss.com/how-i-use-vim-to-program.html" title="菜鸟是怎样用 vim 来编程的">菜鸟是怎样用 vim 来编程的 (11)</a></li>
<li><a href="http://backtimer.missnkiss.com/things-these-days.html" title="这些天的事儿">这些天的事儿 (21)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-not-for-oi.html" title="不为 OI 的 OI">不为 OI 的 OI (35)</a></li>
<li><a href="http://backtimer.missnkiss.com/oi-plan-for-summer-holiday.html" title="暑假OI计划">暑假OI计划 (18)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/74-78-gdoi2008.html">http://backtimer.missnkiss.com/74-78-gdoi2008.html</a></p>By the time  your rss reader get this post here is <strong> 3 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/oi/" title="OI" rel="tag">OI</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/74-78-gdoi2008.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>《购物问题》解题报告</title>
		<link>http://backtimer.missnkiss.com/shopping-report.html</link>
		<comments>http://backtimer.missnkiss.com/shopping-report.html#comments</comments>
		<pubDate>Tue, 17 Jun 2008 01:49:16 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=78</guid>
		<description><![CDATA[

题目描述


GDOI商场(这题是弄GDOI的人出的….)…….(忽略故事性描述.~)
有一堆商品,每种都能省到一定的钱,但每种只能买一件,而且有些是不能同时买的.不能同时买的商品中,不会出现一个环(即... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<h2>题目描述</h2>
</li>
<blockquote><p>
GDOI商场(这题是弄GDOI的人出的….)…….(忽略故事性描述.~)</p>
<p>有一堆商品,每种都能省到一定的钱,但每种只能买一件,而且有些是不能同时买的.不能同时买的商品中,不会出现一个环(即类似于”C1与C2不能同时买,C2与C3不能同时买,C3与C1不能同时买”这样的情况是不会出现的).</p>
<p>编程求能节省的最大金额数.
</p></blockquote>
<p><span id="more-78"></span><br />
这回稍微说明下输入:</p>
<blockquote><p>输入中,第一行K(商品种数),M(不能同时买的对数).<br />
接下来K行,第i行有一个整数表示购买编号i的商品可以节省的金额;再接下来M行,每行两个数,表示这两件商品不能同时购买.</p></blockquote>
<li>
<h2>题目分析</h2>
</li>
<p>图啊图啊图….对于图知识约等于0的我来说..分析这题花了很多时间…..</p>
<p>据说,这题的关键是构造一个结点带权的图,结点表示商品,结点的权就是购买该商品能节省的$$,边表示边所连的两个点的商品不能同时购买.这就相当于在这幅图中找出一系列的没有边相连的点,且权值之和最大~~<br />
由于题目的最后一个条件,这张图里面是没有环滴..也就是,是树林吖….我们的目的就是算出每棵树的最大节省金额,然后求和.</p>
<p>这题DP起来,状态方程倒不难得出,一颗颗树来做啦,请看~~</p>
<blockquote><p>F[i]表示选择这个结点的最优值;G[i]表示不选择这个结点的最优值;S[i]表示这个结点原来的权值.</p>
<ul>
<li>对于叶子来说,F[i]=S[i],G[i]=0;</li>
<li>对于非叶子,
<ul>
<li> F[i]=∑G[j] +S[i]</li>
<li>G[i]=∑max(F[j],G[j])</li>
</ul>
<p>    其中,j是i儿子~</li>
<li>r为根,该树的结果就是max(F[r],G[r])啦^^</li>
</ul>
</blockquote>
<p>问题是….菜鸟的我不知道怎么构建树….看了例程,是C++写的,而且用了指针….好吧,看不懂.没办法…..还是硬着头皮自己想怎么去构建吧.</p>
<p>想啊想,想啊想,想到啦!!<br />
想到建立一个二维数组T[i,j,k],i表示层数,j表示这一层的老爸,k肯定就是这个老爸的儿子们啦.按照宽度优先的规则将结点存进去就是了….<br />
不过,在实际编程的时候,运用了深搜来建造这颗树,结合上面说的思路,发现从最低层开始,访问每个结点,顺便计算….这样,就不用记录下这颗树了,也就不用开数组来存它啦^^<br />
这个可能是最笨的方法吧?&#8230;.</p>
<li>
<h2>源代码</h2>
</li>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> shopping;
<span style="color: #000000; font-weight: bold;">type</span> style<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">record</span> <span style="color: #666666; font-style: italic;">//突然发现,记录类型太好用了…</span>
             F<span style="color: #339933;">,</span>G<span style="color: #339933;">,</span>S<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>; <span style="color: #666666; font-style: italic;">//F:选择该结点的最优值;G:不选择该结点的最优值;S:该结点原来的权值.</span>
             son<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>; <span style="color: #666666; font-style: italic;">//该结点的儿子们~</span>
             used<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>; <span style="color: #666666; font-style: italic;">//该结点是否被访问过</span>
           <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> thing<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> style; <span style="color: #666666; font-style: italic;">//商品</span>
    k<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>temp<span style="color: #339933;">,</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>ans<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> max<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> a&gt;b <span style="color: #000000; font-weight: bold;">then</span> max<span style="color: #339933;">:=</span>a <span style="color: #000000; font-weight: bold;">else</span> max<span style="color: #339933;">:=</span>b;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> <span style="color: #000066;">get</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//建造树,并顺便算最优值</span>
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">used</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">//如果该结点已被访问过或他没有儿子</span>
    thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">:=</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">S</span>;
    thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">used</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
    exit;
  <span style="color: #000000; font-weight: bold;">end</span>;
  thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">used</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">get</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//对每个儿子构造一次</span>
  thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">:=</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">S</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">//顺便计算每个结点的最优值</span>
    thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">:=</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">+</span>thing<span style="color: #009900;">&#91;</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">G</span>; <span style="color: #666666; font-style: italic;">//F[i]=∑G[j] +S[i]</span>
    thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">G</span><span style="color: #339933;">:=</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">G</span><span style="color: #339933;">+</span>max<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">,</span>thing<span style="color: #009900;">&#91;</span>thing<span style="color: #009900;">&#91;</span>f<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">G</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//G[i]=∑max(F[j],G[j])</span>
  <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'shopping.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'shopping.out'</span><span style="color: #009900;">&#41;</span>;
  reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
  fillchar<span style="color: #009900;">&#40;</span>thing<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> k <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    fillchar<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">S</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">//帮老爸找到儿子</span>
    <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">if</span> a&gt;b <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">//为避免重复,不能同时购买的商品中,编号小的是老爸</span>
      temp<span style="color: #339933;">:=</span>a;a<span style="color: #339933;">:=</span>b;b<span style="color: #339933;">:=</span>temp;
    <span style="color: #000000; font-weight: bold;">end</span>;
    inc<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
    thing<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span>thing<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">son</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>b;
  <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  ans<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> k <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #666666; font-style: italic;">//枚举每棵树</span>
    <span style="color: #000000; font-weight: bold;">if</span> thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">used</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//造树+计算最优值..</span>
      ans<span style="color: #339933;">:=</span>ans<span style="color: #339933;">+</span>max<span style="color: #009900;">&#40;</span>thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">F</span><span style="color: #339933;">,</span>thing<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">G</span><span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//累加最优值</span>
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#41;</span>;
  close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/group-report.html" title="《分组游戏》解题报告">《分组游戏》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/sheep-report.html" title="《可怜的绵羊问题》解题报告">《可怜的绵羊问题》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/triangle-report.html" title="《直角三角形计数问题》解题报告">《直角三角形计数问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/shopping-report.html">http://backtimer.missnkiss.com/shopping-report.html</a></p>By the time  your rss reader get this post here is <strong> 3 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/shopping-report.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>《分组游戏》解题报告</title>
		<link>http://backtimer.missnkiss.com/group-report.html</link>
		<comments>http://backtimer.missnkiss.com/group-report.html#comments</comments>
		<pubDate>Sun, 15 Jun 2008 07:56:31 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=77</guid>
		<description><![CDATA[

题目描述


有一群人,他们之中任意两个人的关系是认识或不认识(当然,也可能出现A认识B而B不认识A的情况),现在需要你按照一定的规则将他们分成两组,分组的规则如下:

每个人属于其中的一... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<h2>题目描述</h2>
</li>
<blockquote><p>
有一群人,他们之中任意两个人的关系是认识或不认识(当然,也可能出现A认识B而B不认识A的情况),现在需要你按照一定的规则将他们分成两组,分组的规则如下:</p>
<ol>
<li>每个人属于其中的一组;</li>
<li>每组至少有一个人;</li>
<li>同一组种任何一个人都认识该组中的其他人;</li>
<li>两组的人数要尽可能的接近</li>
</ol>
<p>这个任务可能有多个解,你只需要输出其中任意一个或者输出无解信息.
</p></blockquote>
<p><span id="more-77"></span></p>
<li>
<h2>题目分析</h2>
</li>
<p>这题例程是用DP+集合的方法的,写了瞒长的….</p>
<p>我是用什么方法我自己都不知道….只是,这个思路MS很棒(自恋下..).当然,基本思想还是有滴,是集合啦.</p>
<ul>
<li>读完数据,也就是每个人的关系后,创建两个集合A、B(不是真的集合类型,是两个数组….).A[0](B[0])记录集合元素的个数.</li>
<li>然后把第一个人仍进集合A.</li>
<li>接着按照以下规则依次把人扔进集合中:
<ul>
<li>若此人与A中任何一个人都认识,仍进A中;</li>
<li>否则,若此人与B中任何一个人都认识,仍进B中;</li>
<li>否则,输出无解,结束程序.</li>
</ul>
</li>
</ul>
<p>这样就保证了两个集合中人员编号的有序(输出要求..),同时也可以及时判断无解.这样有一个问题,就是无法满足条件4:两组的人数要尽可能的接近.</p>
<p>这个问题嘛,也不难.使A为人数多的集合,B为人数少的.每次从A中抽出B中任何一个人都认识的人插入到B中直到两个集合人数相等或不能再A中不能再向B插入任何人.</p>
<p>KO.</p>
<li>
<h2>源代码</h2>
</li>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> group;
<span style="color: #000000; font-weight: bold;">const</span> mp<span style="color: #666666; font-style: italic;">{maxpeople}</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1000</span>;
<span style="color: #000000; font-weight: bold;">var</span> g1<span style="color: #339933;">,</span>g2<span style="color: #339933;">,</span>tg<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..<span style="color: #0066ee;">mp</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #666666; font-style: italic;">//g1=集合A,g2=集合B,tg=处理条件4时的中间变量</span>
    re<span style="color: #666666; font-style: italic;">{relation}</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..<span style="color: #0066ee;">mp</span><span style="color: #339933;">,</span>1..<span style="color: #0066ee;">mp</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
    n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>k<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
    check<span style="color: #339933;">,</span>swap<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'group.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'group.out'</span><span style="color: #009900;">&#41;</span>;
  reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">if</span> n<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #666666; font-style: italic;">//如果是2个人….想都别想,理他3721,答案肯定是这样的..</span>
    <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'1 1'</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'1 2'</span><span style="color: #009900;">&#41;</span>;
    close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
    halt;
  <span style="color: #000000; font-weight: bold;">end</span>;
  fillchar<span style="color: #009900;">&#40;</span>re<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">while</span> j&lt;&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      re<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000066;">readln</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  fillchar<span style="color: #009900;">&#40;</span>g1<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
  g2<span style="color: #339933;">:=</span>g1;
  g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>; <span style="color: #666666; font-style: italic;">//将第一个人仍进集合A</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">//依次将人扔进集合中</span>
    check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>g1<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>g1<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #666666; font-style: italic;">//如果和A中某个人不认识</span>
        check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
        <span style="color: #000000; font-weight: bold;">break</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000000; font-weight: bold;">if</span> check <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #666666; font-style: italic;">//如果和A中任何一个人都认识,扔进集合A中</span>
      inc<span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      g1<span style="color: #009900;">&#91;</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>i;
    <span style="color: #000000; font-weight: bold;">end</span>
    <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #666666; font-style: italic;">//否则,判断下是否和B中的任何一个人都人之</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        <span style="color: #666666; font-style: italic;">//惨了….和B中的某个人不认识.好吧,此题无解</span>
          <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'No solution'</span><span style="color: #009900;">&#41;</span>;
          close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
          halt;
        <span style="color: #000000; font-weight: bold;">end</span>;
      <span style="color: #666666; font-style: italic;">//都认识噢?扔进集合B中..</span>
      inc<span style="color: #009900;">&#40;</span>g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      g2<span style="color: #009900;">&#91;</span>g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>i;
    <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>&lt;g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #666666; font-style: italic;">//使A为人数多的集合,B为人数少的</span>
    tg<span style="color: #339933;">:=</span>g1;g1<span style="color: #339933;">:=</span>g2;g2<span style="color: #339933;">:=</span>tg;
  <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">if</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> swap<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span> <span style="color: #000000; font-weight: bold;">else</span> swap<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
  <span style="color: #666666; font-style: italic;">//如果两个集合人数相等,就不用再处理什么啦啦..</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>&gt;g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> swap <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #666666; font-style: italic;">//处理条件4</span>
    temp<span style="color: #339933;">:=</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #666666; font-style: italic;">//枚举A中的每个元素</span>
      check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>g1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>re<span style="color: #009900;">&#91;</span>g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>g1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        <span style="color: #666666; font-style: italic;">//如果和B中某个人不认识,那就不能把他T出去了</span>
          check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
          <span style="color: #000000; font-weight: bold;">break</span>;
        <span style="color: #000000; font-weight: bold;">end</span>;
        <span style="color: #000000; font-weight: bold;">if</span> check <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        <span style="color: #666666; font-style: italic;">//如何条件,他被无情的T过去了</span>
          <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span>
            <span style="color: #000000; font-weight: bold;">if</span> g1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&lt;g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            <span style="color: #666666; font-style: italic;">//保证有序,把他插进去..</span>
              <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span>j <span style="color: #000000; font-weight: bold;">to</span> g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> g2<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>g2<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>;
              g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>g1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
              inc<span style="color: #009900;">&#40;</span>g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
              <span style="color: #000000; font-weight: bold;">break</span>;
            <span style="color: #000000; font-weight: bold;">end</span>;
          <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span>i <span style="color: #000000; font-weight: bold;">to</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">do</span> g1<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>g1<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
          g1<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
          dec<span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
          <span style="color: #000000; font-weight: bold;">break</span>;
        <span style="color: #000000; font-weight: bold;">end</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
    <span style="color: #000000; font-weight: bold;">if</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>temp <span style="color: #000000; font-weight: bold;">then</span> swap<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #666666; font-style: italic;">//说明集合A中没有任何人给T出去了,也就是不用再T人了…</span>
  <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>g1<span style="color: #009900;">&#91;</span>g1<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>g2<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>g2<span style="color: #009900;">&#91;</span>g2<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;;
  close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/shopping-report.html" title="《购物问题》解题报告">《购物问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/sheep-report.html" title="《可怜的绵羊问题》解题报告">《可怜的绵羊问题》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/triangle-report.html" title="《直角三角形计数问题》解题报告">《直角三角形计数问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/group-report.html">http://backtimer.missnkiss.com/group-report.html</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up <p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/group-report.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《可怜的绵羊问题》解题报告</title>
		<link>http://backtimer.missnkiss.com/sheep-report.html</link>
		<comments>http://backtimer.missnkiss.com/sheep-report.html#comments</comments>
		<pubDate>Sun, 15 Jun 2008 01:49:31 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=76</guid>
		<description><![CDATA[

题目描述


忽略无聊的故事性描述….直接写上这个问题的本质吧。实质上，这道题是这样的：
按逆时针顺序给出n个点（类型A）的坐标，这些点顺次相连成一个凸多边形（该多边形只是形状... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<h2>题目描述</h2>
</li>
<blockquote><p>
忽略无聊的故事性描述….直接写上这个问题的本质吧。实质上，这道题是这样的：</p>
<p>按逆时针顺序给出n个点（类型A）的坐标，这些点顺次相连成一个凸多边形（该多边形只是形状是凸的，即某些点可能落在多边形边上）。还给出一些点（类型B）的坐标，这些点可能在平面任何一个地方，当然，不与类型A的点重合。</p>
<p>你的任务是选出一些类型A的点围成一个新的凸多边形，并使它不包含类型B的点（类型B的点可以在边上）且面积尽可能的大。如果无法找到这样的多边形，则输出”die”;否则输出最大面积（保留两位小数）。
</p></blockquote>
<p><span id="more-76"></span></p>
<li>
<h2>题目分析</h2>
</li>
<p>进一步浓缩题目可得出，本题的实质是在凸多边形内求一面积最大的新的凸多边形，且该多边形内无点。</p>
<p>如果以点u为起点，可以找到一个最大凸n边形VuV1V2…Vn，这个多边形以点n为尾且n与u相连；则凸n＋1边形也必是以u为起点，n＋1为尾的最大凸多边形。由此可见，此题满足最优化原理，可用动态规划解决。</p>
<p>如何划分状态呢？<br />
我是将多边形划分成三角形的，从3个点开始，每次加一个点，即加一个三角形，原图形的面积加上新加三角形的面积即为此次的状态。</p>
<p>综上便可得出状态转移方程：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #990000;">max</span><span style="color: #009900;">&#123;</span>ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>s<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">&lt;</span>u<span style="color: #339933;">&lt;=</span>n<span style="color: #339933;">,</span>u<span style="color: #339933;">&lt;</span>i<span style="color: #339933;">&lt;</span>j<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">+</span>u<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>此方程中，u是枚举起点，i、j是往后的2个点(这两点不一定是连续的,因为某些点是不会成为新凸多边形的顶点的,要枚举忽略掉).</p>
<p>但是,这样还不算完成.还有一个条件,新凸多边形中不包含类型B的点.这条的实现要有数学的基础了(好吧,我承认,我是G出来的公式…)….<br />
首先,用下面这条公式来计算三角形的面积(其实我也不知道是怎么得到的..):<br />
公式一:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">s<span style="color: #339933;">=</span><span style="color: #990000;">abs</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">*</span>y2<span style="color: #339933;">+</span>x2<span style="color: #339933;">*</span>y3<span style="color: #339933;">+</span>x3<span style="color: #339933;">*</span>y1<span style="color: #339933;">-</span>x1<span style="color: #339933;">*</span>y3<span style="color: #339933;">-</span>x2<span style="color: #339933;">*</span>y1<span style="color: #339933;">-</span>x3<span style="color: #339933;">*</span>y2<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>用下面这条公式来判断点是否在直线上,成立则在.(高中数学必修一的内容了.~)<br />
公式二:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#40;</span>x1<span style="color: #339933;">-</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>y2<span style="color: #339933;">-</span>y<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>x2<span style="color: #339933;">-</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>y1<span style="color: #339933;">-</span>y<span style="color: #009900;">&#41;</span></pre></div></div>

<p>判断点是否在三角形内的方法:<br />
计算每条边和这个点组成的三个三角形的面积之和,若等于原三角形面积,则点在三角形上(用公式二排除掉)或三角形内;不等于则说明点在三角形外.<br />
这样一来,就不难得出,最后的状态转移方程是这样的:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #990000;">max</span><span style="color: #009900;">&#123;</span>
      s<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//边上有类型B的点</span>
      ms<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>s<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//边上无类型B的点</span>
      <span style="color: #009900;">&#125;</span></pre></div></div>

<p>其中, 0 < u <= n, u < i < j < n+u-1,三角形VuViVj内无类型B的点.</p>
<p>说得不清楚?或许….你可以直接读源代码….</p>
<li>
<h2>源代码</h2>
</li>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> sheep;
<span style="color: #000000; font-weight: bold;">type</span> map<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">record</span> <span style="color: #666666; font-style: italic;">//记录点坐标的记录类型</span>
     x<span style="color: #339933;">,</span>y<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..300<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> map;
 <span style="color: #666666; font-style: italic;">//前100个为类型A的点;为了枚举起点需要,中间100个同前100个一摸一样;后100个为类型B的点</span>
   n<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>u<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
   ms<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..100<span style="color: #339933;">,</span>0..200<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">real</span>; <span style="color: #666666; font-style: italic;">//保存状态</span>
   ts<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">real</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> gets<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>c<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">real</span>;
<span style="color: #666666; font-style: italic;">//计算三角形面积</span>
<span style="color: #000000; font-weight: bold;">begin</span>
gets<span style="color: #339933;">:=</span><span style="color: #000066;">abs</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">+</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">+</span>p<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">*</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> checkside<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #666666; font-style: italic;">//检查边上是否有类型B的点,有则返回true;</span>
<span style="color: #000000; font-weight: bold;">var</span> d<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  checkside<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
  <span style="color: #000000; font-weight: bold;">for</span> d<span style="color: #339933;">:=</span><span style="color: #cc66cc;">201</span> <span style="color: #000000; font-weight: bold;">to</span> m<span style="color: #339933;">+</span><span style="color: #cc66cc;">200</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      checkside<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">break</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> cside<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>d<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #666666; font-style: italic;">//为方便在检查三角形边上是否有点而在上一个函数的基础上增加一个参数</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  cside<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>b<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>a<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">-</span>p<span style="color: #009900;">&#91;</span>d<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
    cside<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> checkin<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>c<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #666666; font-style: italic;">//检查三角形内是否有点,有则返回true</span>
<span style="color: #000000; font-weight: bold;">var</span> d<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  checkin<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
  <span style="color: #000000; font-weight: bold;">for</span> d<span style="color: #339933;">:=</span><span style="color: #cc66cc;">201</span> <span style="color: #000000; font-weight: bold;">to</span> m<span style="color: #339933;">+</span><span style="color: #cc66cc;">200</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>gets<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>c<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>gets<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>d<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>gets<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>c<span style="color: #339933;">,</span>d<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>gets<span style="color: #009900;">&#40;</span>b<span style="color: #339933;">,</span>c<span style="color: #339933;">,</span>d<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>cside<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">,</span>d<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      checkin<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">break</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> max<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">real</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">real</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> a&gt;b <span style="color: #000000; font-weight: bold;">then</span> max<span style="color: #339933;">:=</span>a <span style="color: #000000; font-weight: bold;">else</span> max<span style="color: #339933;">:=</span>b;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'sheep.in'</span><span style="color: #009900;">&#41;</span>;
  assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'sheep.out'</span><span style="color: #009900;">&#41;</span>;
  reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">,</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span>;
    p<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">:=</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span>;p<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #339933;">:=</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">x</span><span style="color: #339933;">,</span>p<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#93;</span>.<span style="color: #0066ee;">y</span><span style="color: #009900;">&#41;</span>;
  fillchar<span style="color: #009900;">&#40;</span>ms<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>ms<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">for</span> u<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
  <span style="color: #666666; font-style: italic;">//枚举起点</span>
    <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>u<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">+</span>u<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #666666; font-style: italic;">//枚举起点以后的另一个点</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">+</span>u<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #666666; font-style: italic;">//枚举新增的点</span>
        <span style="color: #000000; font-weight: bold;">if</span> checkin<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        <span style="color: #666666; font-style: italic;">//如果三角形内无点,则可加入此三角形到多边形中</span>
          ts<span style="color: #339933;">:=</span>gets<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span>;
          <span style="color: #000000; font-weight: bold;">if</span> checkside<span style="color: #009900;">&#40;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>max<span style="color: #009900;">&#40;</span>ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>ts<span style="color: #009900;">&#41;</span>
          <span style="color: #000000; font-weight: bold;">else</span> ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>max<span style="color: #009900;">&#40;</span>ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>ts<span style="color: #009900;">&#41;</span>;
        <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  ts<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  <span style="color: #000000; font-weight: bold;">for</span> u<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
  <span style="color: #666666; font-style: italic;">//寻找枚举顶点得到的面积最大的多边形</span>
    <span style="color: #000000; font-weight: bold;">if</span> ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>n<span style="color: #339933;">+</span>u<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>&gt;ts <span style="color: #000000; font-weight: bold;">then</span> ts<span style="color: #339933;">:=</span>ms<span style="color: #009900;">&#91;</span>u<span style="color: #339933;">,</span>n<span style="color: #339933;">+</span>u<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
  <span style="color: #000000; font-weight: bold;">if</span> ts<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'die'</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>ts<span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
  close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/shopping-report.html" title="《购物问题》解题报告">《购物问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/group-report.html" title="《分组游戏》解题报告">《分组游戏》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/triangle-report.html" title="《直角三角形计数问题》解题报告">《直角三角形计数问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/sheep-report.html">http://backtimer.missnkiss.com/sheep-report.html</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up <p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/sheep-report.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Pascal Run-time errors</title>
		<link>http://backtimer.missnkiss.com/free-pascal-run-time-errors.html</link>
		<comments>http://backtimer.missnkiss.com/free-pascal-run-time-errors.html#comments</comments>
		<pubDate>Sun, 15 Jun 2008 01:44:44 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[pascal]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=75</guid>
		<description><![CDATA[每次都要去查&#8230;.干脆直接从FP的help doc里面copy下来好了..~

Applications generated by Free Pascal might generate Run-time error when certain abnormal conditions
are detected in the application. This appendix lists the possible run-ti... ]]></description>
			<content:encoded><![CDATA[<p>每次都要去查&#8230;.干脆直接从FP的help doc里面copy下来好了..~</p>
<blockquote><p>
Applications generated by Free Pascal might generate Run-time error when certain abnormal conditions<br />
are detected in the application. This appendix lists the possible run-time errors and gives<br />
information on why they might be produced.
</p></blockquote>
<p><span id="more-75"></span></p>
<ul>
<li>1 Invalid function number An invalid operating system call was attempted.</li>
<li>2 File not found Reported when trying to erase, rename or open a non-existent file.</li>
<li>3 Path not found Reported by the directory handling routines when a path does not exist or is invalid.<br />
Also reported when trying to access a non-existent file.</li>
<li>4 Too many open files The maximum number of currently opened files by your process has been<br />
reached. Certain operating systems limit the number of files which can be opened concurrently,<br />
and this error can occur when this limit has been reached.
</li>
<li>5 File access denied Permission accessing the file is denied. This error might be caused by several<br />
reasons:</p>
<ul>
<li> Trying to open for writing a file which is read only, or which is actually a directory.</li>
<li> File is currently locked or used by another process.</li>
<li> Trying to create a new file, or directory while a file or directory of the same name already<br />
exists.</li>
<li> Trying to read from a file which was opened in write only mode.</li>
<li> Trying to write from a file which was opened in read only mode.</li>
<li> Trying to remove a directory or file while it is not possible.</li>
<li> No permission to access the file or directory.</li>
</ul>
</li>
<li>6 Invalid file handle If this happens, the file variable you are using is trashed; it indicates that your<br />
memory is corrupted.
</li>
<li>12 Invalid file access code Reported when a reset or rewrite is called with an invalid FileMode<br />
value.
</li>
<li>15 Invalid drive number The number given to the Getdir or ChDir function specifies a nonexistent<br />
disk.
</li>
<li>16 Cannot remove current directory Reported when trying to remove the currently active directory.
</li>
<li>17 Cannot rename across drives You cannot rename a file such that it would end up on another<br />
disk or partition.
</li>
<li>100 Disk read error An error occurred when reading from disk. Typically when you try to read past<br />
the end of a file.
</li>
<li>101 Disk write error Reported when the disk is full, and you&#8217;re trying to write to it.
</li>
<li>102 File not assigned This is reported by Reset, Rewrite, Append, Rename and Erase, if<br />
you call them with an unassigned file as a parameter.
</li>
<li>103 File not open Reported by the following functions : Close, Read, Write, Seek, EOf,<br />
FilePos, FileSize, Flush, BlockRead, and BlockWrite if the file is not open.
</li>
<li>104 File not open for input Reported by Read, BlockRead, Eof, Eoln, SeekEof or SeekEoln<br />
if the file is not opened with Reset.
</li>
<li>105 File not open for output Reported by write if a text file isn&#8217;t opened with Rewrite.</li>
<li>106 Invalid numeric format Reported when a non-numeric value is read from a text file, when a numeric value was expected.
</li>
<li>150 Disk is write-protected (Critical error)
</li>
<li>151 Bad drive request struct length (Critical error)
</li>
<li>152 Drive not ready (Critical error)
</li>
<li>154 CRC error in data (Critical error)
</li>
<li>156 Disk seek error (Critical error)
</li>
<li>157 Unknown media type (Critical error)
</li>
<li>158 Sector Not Found (Critical error)
</li>
<li>159 Printer out of paper (Critical error)
</li>
<li>160 Device write fault (Critical error)
</li>
<li>161 Device read fault (Critical error)
</li>
<li>162 Hardware failure (Critical error)
</li>
<li>200 Division by zero The application attempted to divide a number by zero.
</li>
<li>201 Range check error If you compiled your program with range checking on, then you can get<br />
this error in the following cases:<br />
1. An array was accessed with an index outside its declared range.<br />
2. Trying to assign a value to a variable outside its range (for instance an enumerated type).
</li>
<li>202 Stack overflow error The stack has grown beyond its maximum size (in which case the size of<br />
local variables should be reduced to avoid this error), or the stack has become corrupt. This<br />
error is only reported when stack checking is enabled.
</li>
<li>203 Heap overflow error The heap has grown beyond its boundaries. This is caused when trying<br />
to allocate memory exlicitly with New, GetMem or ReallocMem, or when a class or object<br />
instance is created and no memory is left. Please note that, by default, Free Pascal provides a<br />
growing heap, i.e. the heap will try to allocate more memory if needed. However, if the heap<br />
has reached the maximum size allowed by the operating system or hardware, then you will get<br />
this error.
</li>
<li>204 Invalid pointer operation This you will get if you call Dispose or Freemem with an invalid<br />
pointer (notably, Nil)
</li>
<li>205 Floating point overflow You are trying to use or produce too large real numbers.
</li>
<li>206 Floating point underflow You are trying to use or produce too small real numbers.
</li>
<li>207 Invalid floating point operation Can occur if you try to calculate the square root or logarithm<br />
of a negative number.
</li>
<li>210 Object not initialized When compiled with range checking on, a program will report this error<br />
if you call a virtual method without having called istr constructor.
</li>
<li>211 Call to abstract method Your program tried to execute an abstract virtual method. Abstract<br />
methods should be overridden, and the overriding method should be called.
</li>
<li>212 Stream registration error This occurs when an invalid type is registered in the objects unit.
</li>
<li>213 Collection index out of range You are trying to access a collection item with an invalid index<br />
(objects unit).
</li>
<li>214 Collection overflow error The collection has reached its maximal size, and you are trying to<br />
add another element (objects unit).
</li>
<li>215 Arithmetic overflow error This error is reported when the result of an arithmetic operation is<br />
outside of its supported range. Contrary to Turbo Pascal, this error is only reported for 32-bit<br />
or 64-bit arithmetic overflows. This is due to the fact that everything is converted to 32-bit or<br />
64-bit before doing the actual arithmetic operation.
</li>
<li>216 General Protection fault The application tried to access invalid memory space. This can be<br />
caused by several problems:<br />
1. Deferencing a nil pointer<br />
2. Trying to access memory which is out of bounds (for example, calling move with an<br />
invalid length).
</li>
<li>217 Unhandled exception occurred An exception occurred, and there was no exception handler<br />
present. The sysutils unit installs a default exception handler which catches all excpetions<br />
and exits gracefully.
</li>
<li>219 Invalid typecast Thrown when an invalid typecast is attempted on a class using the as operator.<br />
This error is also thrown when an object or class is typecast to an invalid class or object and<br />
a virtual method of that class or object is called. This last error is only detected if the -CR<br />
compiler option is used.
</li>
<li>223 Threads not supported Thread management relies on a separate driver on some operating systems<br />
(notably, unixes). The unit with this driver needs to be specified on the uses clause of the<br />
program, preferably as the first unit. (cthreads on unix)
</li>
<li>227 Assertion failed error An assertion failed, and no AssertErrorProc procedural variable<br />
was installed.</li>
</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/nemiver.html" title="Nemiver：图形化的 C/C++ 调试器">Nemiver：图形化的 C/C++ 调试器 (0)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/free-pascal-run-time-errors.html">http://backtimer.missnkiss.com/free-pascal-run-time-errors.html</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up <p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/debug/" title="debug" rel="tag">debug</a>, <a href="http://backtimer.missnkiss.com/tag/error/" title="error" rel="tag">error</a>, <a href="http://backtimer.missnkiss.com/tag/pascal/" title="pascal" rel="tag">pascal</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/free-pascal-run-time-errors.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《直角三角形计数问题》解题报告</title>
		<link>http://backtimer.missnkiss.com/triangle-report.html</link>
		<comments>http://backtimer.missnkiss.com/triangle-report.html#comments</comments>
		<pubDate>Sat, 14 Jun 2008 03:00:07 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=74</guid>
		<description><![CDATA[

题目描述

一个由大写字母组成的方阵里可能包含有一些等腰直角三角形(由同一种大写字母组成).你的任务就是写一个程序来统计方阵中由各种字母组成的等腰直角三角形的数目,以及等腰直角... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<h2>题目描述</h2>
</li>
<blockquote><p>一个由大写字母组成的方阵里可能包含有一些等腰直角三角形(由同一种大写字母组成).你的任务就是写一个程序来统计方阵中由各种字母组成的等腰直角三角形的数目,以及等腰直角三角形的总数.</p>
<p>方阵中的等腰直角三角形只有下面两种情况:<br />
(1)	两条直角边分别跟方阵的边平行,例如:</p>
<table align="center">
<tr>
<td width="100">
AAA<br />
AA<br />
A
</td>
<td width="100">
B<br />
BB<br />
BBB
</td>
</tr>
</table>
<p>(2)	斜边与方阵的边平行,例如:</p>
<table align="center">
<tr>
<td width="100">
&#8212;A<br />
&#8211;AAA<br />
AAAAA
</td>
<td width="100">
B<br />
BB<br />
BBB<br />
BB<br />
B
</td>
</tr>
</table>
</blockquote>
<p><span id="more-74"></span></p>
<li>
<h2>题目分析</h2>
</li>
<p>模拟题,很烦的模拟题….测的是你思维的严谨程度吧..</p>
<p>枚举每个点,每个点有8个拓展规则,实际上就是这个点向8个方向可形成的等腰直角三角形的个数.最后累加即可.</p>
<p>编起来是很繁琐的..直接看+了注释的代码吧.</p>
<li>
<h2>源代码</h2>
</li>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> triangle
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>all<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #666666; font-style: italic;">//这些变量分别是:方阵大小、2个枚举变量、总个数</span>
    san<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>1000..1000<span style="color: #339933;">,-</span>1000..1000<span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">char</span>;
<span style="color: #666666; font-style: italic;">//方阵信息,为了方便(其实是偷懒….),范围定了个夸张的..</span>
    tot<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span><span style="color: #ff0000;">'A'</span>..<span style="color: #ff0000;">'Z'</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #666666; font-style: italic;">//各个字母组成等腰直角三角形的个数</span>
    m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">char</span>; <span style="color: #666666; font-style: italic;">//输出使用</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon1<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
<span style="color: #666666; font-style: italic;">//右边是否与中心相同</span>
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>t<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
<span style="color: #666666; font-style: italic;">//下面是否与中心相同</span>
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> t <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #339933;">-</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
<span style="color: #666666; font-style: italic;">//斜边是否与中心相同</span>
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon1<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #666666; font-style: italic;">//其实不需要递归的….外+一个for循环就可以搞定了</span>
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon2<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>t<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> t <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #339933;">+</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon2<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon3<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>t<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> t <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #339933;">-</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon3<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon4<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>t<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> t <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #339933;">+</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon4<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon5<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>t<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>t<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">end</span>;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon5<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon6<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>t<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>t<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>m<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">end</span>;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon6<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon7<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">end</span>;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon7<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> goon8<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #009900;">&#40;</span>t<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
    <span style="color: #000000; font-weight: bold;">if</span> san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>m<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>t<span style="color: #009900;">&#93;</span>&lt;&gt;san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> exit;
  <span style="color: #000000; font-weight: bold;">end</span>;
  inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  goon8<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>t<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> search<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #666666; font-style: italic;">//进行枚举搜索</span>
<span style="color: #000000; font-weight: bold;">begin</span>
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//直角边与方阵边平行,右下</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>; <span style="color: #666666; font-style: italic;">//累计</span>
      goon1<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
<span style="color: #666666; font-style: italic;">//其实是没必要的….可以直接就写在这里的.下同</span>
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//直角边与方阵边平行,左下</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon2<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//直角边与方阵边平行,右上</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon3<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//直角边与方阵边平行,左上</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon4<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//斜边与方阵边平行,朝上</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon5<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//斜边与方阵边平行,朝下</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon6<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//斜边与方阵边平行,朝右</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon7<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;n<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>j&lt;&gt;<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #666666; font-style: italic;">//斜边与方阵边平行,朝左</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      inc<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#91;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;inc<span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
      goon8<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
  assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'triangle.in'</span><span style="color: #009900;">&#41;</span>;
  assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'triangle.out'</span><span style="color: #009900;">&#41;</span>;
  reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
  <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;  all<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
  fillchar<span style="color: #009900;">&#40;</span>tot<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>tot<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
  fillchar<span style="color: #009900;">&#40;</span>san<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>san<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
    <span style="color: #000066;">readln</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
    <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      search<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span>;
<span style="color: #666666; font-style: italic;">//对每个位置进行枚举搜索</span>
    <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000000; font-weight: bold;">end</span>;
  <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>all<span style="color: #009900;">&#41;</span>;
  <span style="color: #000000; font-weight: bold;">for</span> m<span style="color: #339933;">:=</span><span style="color: #ff0000;">'A'</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #ff0000;">'Z'</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>m<span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #339933;">,</span>tot<span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
  close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;
  close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/shopping-report.html" title="《购物问题》解题报告">《购物问题》解题报告 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/group-report.html" title="《分组游戏》解题报告">《分组游戏》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/sheep-report.html" title="《可怜的绵羊问题》解题报告">《可怜的绵羊问题》解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/usaco-record.html" title="USACO刷题记录">USACO刷题记录 (73)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/triangle-report.html">http://backtimer.missnkiss.com/triangle-report.html</a></p>By the time  your rss reader get this post here is <strong> 3 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/triangle-report.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>要忙了&#8220;</title>
		<link>http://backtimer.missnkiss.com/is-time-to-be-busy.html</link>
		<comments>http://backtimer.missnkiss.com/is-time-to-be-busy.html#comments</comments>
		<pubDate>Fri, 13 Jun 2008 11:03:32 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[GDOI]]></category>
		<category><![CDATA[主题]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=73</guid>
		<description><![CDATA[GDOI,7月5日至7月8日.参赛权未定,争取中. 2008-06-13 17:24 
已定.GDOI,I AM COMING!!
除OI,一切事情,暂停.当然,要是久等的机会出现,不会放过. 2008-06-13 17:27
Sky-Blue_L,直接应用.短时间内不再有时间修改. 2008-06... ]]></description>
			<content:encoded><![CDATA[<blockquote><p><del datetime="2008-06-17T12:20:29+00:00"><span class="content">GDOI,7月5日至7月8日.参赛权未定,争取中.</span> <span class="stamp"><a class="time" title="2008-06-13 17:24" href="http://fanfou.com/statuses/fDzAlhHeFlU">2008-06-13 17:24</a> </span></del><br />
已定.GDOI,I AM COMING!!</p></blockquote>
<blockquote><p><span class="content">除OI,一切事情,暂停.当然,要是久等的机会出现,不会放过.</span> <span class="stamp"><a class="time" title="2008-06-13 17:27" href="http://fanfou.com/statuses/nVW6uNamDao">2008-06-13 17:27</a></span></p></blockquote>
<blockquote><p><span class="content">Sky-Blue_L,直接应用.短时间内不再有时间修改.</span> <span class="stamp"><a class="time" title="2008-06-13 17:28" href="http://fanfou.com/statuses/JBEzytACNwo">2008-06-13 17:28</a></span></p></blockquote>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/how-to-contain-reply-to-in-theme.html" title="如何在主题中集成 ＠reply">如何在主题中集成 ＠reply (14)</a></li>
<li><a href="http://backtimer.missnkiss.com/new-theme-garland.html" title="新主题&#8212;-Garland">新主题&#8212;-Garland (17)</a></li>
<li><a href="http://backtimer.missnkiss.com/gdoi2008-game-over.html" title="GDOI2008,GAME OVER">GDOI2008,GAME OVER (20)</a></li>
<li><a href="http://backtimer.missnkiss.com/74-78-gdoi2008.html" title="7.4-7.8,GDOI2008">7.4-7.8,GDOI2008 (3)</a></li>
<li><a href="http://backtimer.missnkiss.com/shopping-report.html" title="《购物问题》解题报告">《购物问题》解题报告 (3)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/is-time-to-be-busy.html">http://backtimer.missnkiss.com/is-time-to-be-busy.html</a></p>By the time  your rss reader get this post here is <strong> 2 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/gdoi/" title="GDOI" rel="tag">GDOI</a>, <a href="http://backtimer.missnkiss.com/tag/%e4%b8%bb%e9%a2%98/" title="主题" rel="tag">主题</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/is-time-to-be-busy.html/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NOIP2005普及组 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2005-junior.html</link>
		<comments>http://backtimer.missnkiss.com/noip2005-junior.html#comments</comments>
		<pubDate>Thu, 15 May 2008 11:55:39 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=57</guid>
		<description><![CDATA[Leewings小言:
本人笔拙,写得不好..仅记我解题时的思路.如有不对或不足之处,望不吝赐教,谢谢^^
如有幸给您提供了帮助,不甚荣幸&#62;.&#60;
若有赐教或疑问,欢迎留言 or email我^^
My Email: wzf277028527 {at... ]]></description>
			<content:encoded><![CDATA[<p><a title="逆时" href="http://www.BackTimer.com" target="_blank">Leewings</a>小言:</p>
<blockquote><p>本人笔拙,写得不好..仅记我解题时的思路.如有不对或不足之处,望不吝赐教,谢谢^^<br />
如有幸给您提供了帮助,不甚荣幸&gt;.&lt;<br />
若有赐教或疑问,欢迎留言 or email我^^<br />
My Email: wzf277028527 {at} gmail.com<br />
其他联系方式:<a title="联系本人" href="/contact/" target="_blank">点我^^</a><br />
<del datetime="2008-05-16T03:02:54+00:00">P.S.:由于主题过滤缩进的空格,所以源代码中的空格均以下划线(&#8221;_&#8221;)代替~</del><br />
<del datetime="2008-06-15T01:55:41+00:00">已启用coolcode插件</del>.<br />
改用<a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a></p></blockquote>
<p><span id="more-57"></span></p>
<blockquote><p><a name="目录" id="0"></a>目录</p>
<ul>
<li><a href="#1">No.1 apple</a></li>
<li><a href="#2">No.2 tree</a></li>
<li><a href="#3">No.3 medic</a></li>
<li><a href="#4">No.4 circle</a></li>
</ul>
</blockquote>
<ul>
<li>
<h2><a name="No.1" id="1"></a>No.1 apple</h2>
</li>
<p>很好很强大很和谐的一道超级模拟题。.<br />
读入身高时+上30，apple数组中比它大的KO掉。</p>
<p>源代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> apple;
<span style="color: #000000; font-weight: bold;">var</span> a<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..10<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">integer</span>;
     tt<span style="color: #339933;">,</span><span style="color: #000066;">get</span><span style="color: #339933;">,</span>i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'apple.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'apple.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">10</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>tt<span style="color: #009900;">&#41;</span>;
   inc<span style="color: #009900;">&#40;</span>tt<span style="color: #339933;">,</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">get</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">10</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> tt&gt;<span style="color: #339933;">=</span>a<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> inc<span style="color: #009900;">&#40;</span><span style="color: #000066;">get</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">get</span><span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p align="right"><a href="#0">返回目录</a></p>
<li>
<h2><a name="No.2" id="2"></a>No.2 tree</h2>
<p>又是很好很强大很和谐的一道超级模拟题。<br />
用trees[boolean]表示树还在不在….读入数据的时候顺便就把施工段的树给false掉，最后数数true的个数就OK了</p>
<p>源代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> tree;
<span style="color: #000000; font-weight: bold;">var</span> l<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>left<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
      trees<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..10000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'tree.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'tree.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
   fillchar<span style="color: #009900;">&#40;</span>trees<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>trees<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>x <span style="color: #000000; font-weight: bold;">to</span> y <span style="color: #000000; font-weight: bold;">do</span> trees<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> l <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">if</span> trees<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> inc<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p align="right"><a href="#0">返回目录</a></p>
</li>
<li>
<h2><a name="No.3" id="3"></a>No.3 medic</h2>
<p>又是0/1背包问题….<br />
wi为时间，vi为价值。</p>
<ul>
<li>V[i,j]=0(若i=0或j=0)</li>
<li>V[i,j]=V[i-1,j](若j&lt;wi)</li>
<li>V[i,j]=max{V[i-1,j]，V[i-1，j-wi]+vi}(若i&gt;0和j≥wi)</li>
</ul>
</li>
<p>源代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> medic;
<span style="color: #000000; font-weight: bold;">var</span> t<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
     v<span style="color: #339933;">,</span>w<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
     f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..100<span style="color: #339933;">,</span>0..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'medic.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'medic.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   fillchar<span style="color: #009900;">&#40;</span>f<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> t <span style="color: #000000; font-weight: bold;">do</span>
         <span style="color: #000000; font-weight: bold;">if</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>
               <span style="color: #000000; font-weight: bold;">else</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>m<span style="color: #339933;">,</span>t<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<p align="right"><a href="#0">返回目录</a></p>
<li>
<h2><a name="No.4" id="4"></a>No.4 circle</h2>
</li>
<p>显然，考察的是高精度加法。但是,我还不会做&#8230;.</p>
<p>源代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> circle;
&nbsp;
waiting..</pre></td></tr></table></div>

<p align="right"><a href="#0">返回目录</a></p>
</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-fire.html" title="NOIP2005 fire 解题报告">NOIP2005 fire 解题报告 (1)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-energy.html" title="NOIP2006 energy 解题报告">NOIP2006 energy 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-equal.html" title="NOIP2005 equal 解题报告">NOIP2005 equal 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2007-game.html" title="NOIP2007 矩阵取数游戏 解题报告">NOIP2007 矩阵取数游戏 解题报告 (4)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2005-junior.html">http://backtimer.missnkiss.com/noip2005-junior.html</a></p>By the time  your rss reader get this post here is <strong> 4 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2005-junior.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>NOIP2006普及组 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2006-junior.html</link>
		<comments>http://backtimer.missnkiss.com/noip2006-junior.html#comments</comments>
		<pubDate>Tue, 13 May 2008 00:49:17 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=56</guid>
		<description><![CDATA[Leewings小言:
本人笔拙,写得不好..仅记我解题时的思路.如有不对或不足之处,望不吝赐教,谢谢^^
如有幸给您提供了帮助,不甚荣幸&#62;.&#60;
若有赐教或疑问,欢迎留言 or email我^^
My Email: wzf277028527 {at... ]]></description>
			<content:encoded><![CDATA[<p><a title="逆时" href="http://www.BackTimer.com" target="_blank">Leewings</a>小言:</p>
<blockquote><p>本人笔拙,写得不好..仅记我解题时的思路.如有不对或不足之处,望不吝赐教,谢谢^^<br />
如有幸给您提供了帮助,不甚荣幸&gt;.&lt;<br />
若有赐教或疑问,欢迎留言 or email我^^<br />
My Email: wzf277028527 {at} gmail.com<br />
其他联系方式:<a title="联系本人" href="/contact/" target="_blank">点我^^</a><br />
<del datetime="2008-05-16T03:05:24+00:00">P.S.:由于主题过滤缩进的空格,所以源代码中的空格均以下划线(&#8221;_&#8221;)代替~</del><br />
<del datetime="2008-06-15T01:55:41+00:00">已启用coolcode插件</del>.<br />
改用<a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a></p></blockquote>
<p><span id="more-56"></span></p>
<blockquote><p>
<a name="目录" id="0"></a>目录</p>
<ul>
<li><a href="#1">No.1 random</a></li>
<li><a href="#2">No.2 happy</a></li>
<li><a href="#3">No.3 count</a></li>
<li><a href="#4">No.4 sequence</a></li>
</ul>
</blockquote>
<ul>
<li>
<h2><a name="No.1" id="1"></a>No.1 random</h2>
</li>
<p>在读入数据的时候顺便查重，然后qsort……KO.</p>
<p>源代码:</p>
<blockquote>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> random;
<span style="color: #000000; font-weight: bold;">type</span> arr<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>temp<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
     num<span style="color: #339933;">:</span>arr;
     check<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..1000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> sort<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>r<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>mid<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   i<span style="color: #339933;">:=</span>l;j<span style="color: #339933;">:=</span>r;mid<span style="color: #339933;">:=</span>num<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>l<span style="color: #339933;">+</span>r<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span>;
   <span style="color: #000000; font-weight: bold;">repeat</span>
     <span style="color: #000000; font-weight: bold;">while</span> num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&lt;mid <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
     <span style="color: #000000; font-weight: bold;">while</span> num<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>&gt;mid <span style="color: #000000; font-weight: bold;">do</span> dec<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
     <span style="color: #000000; font-weight: bold;">if</span> i&lt;<span style="color: #339933;">=</span>j <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
       temp<span style="color: #339933;">:=</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>num<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>;num<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
       inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;dec<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
     <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">until</span> i&gt;j;
   <span style="color: #000000; font-weight: bold;">if</span> i&lt;r <span style="color: #000000; font-weight: bold;">then</span> sort<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>r<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">if</span> l&lt;j <span style="color: #000000; font-weight: bold;">then</span> sort<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'random.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'random.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
   fillchar<span style="color: #009900;">&#40;</span>check<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>check<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>temp<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">not</span> check<span style="color: #009900;">&#91;</span>temp<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
        inc<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
        num<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
        check<span style="color: #009900;">&#91;</span>temp<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   sort<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</blockquote>
<p align="right"><a href="#0">返回目录</a></p>
<li>
<h2><a name="No.2" id="2"></a>No.2 happy</h2>
<p>DP，经典的0/1背包问题。<br />
wi为价格，vi为价值。</p>
<ul>
<li>0(若i=0或j=0)</li>
<li>V[i,j]=   V[i-1,j](若j&lt; wi)</li>
<li>max{V[i-1,j]，V[i-1，j-wi]+vi}(若i&gt;0和j≥wi)</li>
</ul>
</li>
<p>
源代码:</p>
<blockquote>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> happy;
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
      f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..30<span style="color: #339933;">,</span>0..100000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
      v<span style="color: #339933;">,</span>w<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..100000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'happy.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'happy.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>p<span style="color: #009900;">&#41;</span>;
      w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>p;
   <span style="color: #000000; font-weight: bold;">end</span>;
   fillchar<span style="color: #009900;">&#40;</span>f<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
         <span style="color: #000000; font-weight: bold;">if</span> j&lt;v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>
         <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&gt;<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>
                <span style="color: #000000; font-weight: bold;">else</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">-</span>v<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>w<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>m<span style="color: #339933;">,</span>n<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</blockquote>
<p align="right"><a href="#0">返回目录</a></p>
<li>
<h2><a name="No.3" id="3"></a>No.3 count</h2>
</li>
<p>先确定字母范围，然后从字符串后往前推，当推到可以+1的位置a，后面的顺次为前面的+1。最后注意输出。<br />
BS最后一个点，超出数据范围了。</p>
<p>源代码:</p>
<blockquote>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> count;
<span style="color: #000000; font-weight: bold;">var</span> s<span style="color: #339933;">,</span>t<span style="color: #339933;">,</span>w<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>k<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      sum<span style="color: #339933;">,</span>sumend<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
      be<span style="color: #339933;">,</span>en<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">char</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'count.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'count.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span>t<span style="color: #339933;">,</span>w<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>sum<span style="color: #009900;">&#41;</span>;
   be<span style="color: #339933;">:=</span><span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span><span style="color: #000066;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
   en<span style="color: #339933;">:=</span><span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span>t<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span><span style="color: #000066;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
   sumend<span style="color: #339933;">:=</span><span style="color: #ff0000;">''</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> w <span style="color: #000000; font-weight: bold;">do</span> sumend<span style="color: #339933;">:=</span><span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">ord</span><span style="color: #009900;">&#40;</span>en<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>sumend;
   i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">repeat</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span>w <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
         <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">ord</span><span style="color: #009900;">&#40;</span>sum<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>w<span style="color: #339933;">-</span>j<span style="color: #009900;">&#41;</span>&lt;en <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            temp<span style="color: #339933;">:=</span>sum<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>;
            <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span>j <span style="color: #000000; font-weight: bold;">to</span> w <span style="color: #000000; font-weight: bold;">do</span> sum<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">ord</span><span style="color: #009900;">&#40;</span>temp<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>k<span style="color: #339933;">-</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
            inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">if</span> i&lt;<span style="color: #339933;">=</span><span style="color: #cc66cc;">5</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>sum<span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">break</span>;
         <span style="color: #000000; font-weight: bold;">end</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">until</span> <span style="color: #009900;">&#40;</span>sum<span style="color: #339933;">=</span>sumend<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</blockquote>
<p align="right"><a href="#0">返回目录</a></p>
<li>
<h2><a name="No.4" id="4"></a>No.4 sequence</h2>
</li>
<p><!--[if gte mso 9]><xml> Normal   0            7.8 磅   0   2      false   false   false      EN-US   ZH-CN   X-NONE                                                                                 MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--> <!--[if gte mso 10]></p>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<p><![endif]--></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="69" valign="top">3<sup>0</sup></td>
<td width="69" valign="top">3<sup>1</sup></td>
<td width="70" valign="top">3<sup>0</sup>+3<sup>1</sup></td>
<td width="69" valign="top">3<sup>2</sup></td>
<td width="70" valign="top">3<sup>0</sup>+3<sup>2</sup></td>
<td width="70" valign="top">3<sup>1</sup>+3<sup>2</sup></td>
<td width="82" valign="top">3<sup>0</sup>+3<sup>1</sup>+3<sup>2</sup></td>
<td width="70" valign="top">3<sup>3</sup></td>
</tr>
<tr>
<td width="69" valign="top">1</td>
<td width="69" valign="top">10</td>
<td width="70" valign="top">11</td>
<td width="69" valign="top">100</td>
<td width="70" valign="top">101</td>
<td width="70" valign="top">110</td>
<td width="82" valign="top">111</td>
<td width="70" valign="top">1000</td>
</tr>
</tbody>
</table>
<p>
看出点东西了吧～其实，就是一个二进制序列，每位对应一个幂，如：末位对应0次，次末尾对应1次……<br />
这题的做法就这样了，将n转换为二进制，计算即可。</p>
<p>源程序:</p>
<blockquote>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> sequence;
<span style="color: #000000; font-weight: bold;">var</span> k<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>p<span style="color: #339933;">,</span>ans<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'sequence.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'sequence.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">,</span>n<span style="color: #009900;">&#41;</span>;
   ans<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;p<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
   <span style="color: #000000; font-weight: bold;">repeat</span>
      m<span style="color: #339933;">:=</span>n <span style="color: #000000; font-weight: bold;">mod</span> <span style="color: #cc66cc;">2</span>;
      n<span style="color: #339933;">:=</span>n <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">2</span>;
      ans<span style="color: #339933;">:=</span>ans<span style="color: #339933;">+</span>p<span style="color: #339933;">*</span>m;
      <span style="color: #000000; font-weight: bold;">if</span> n&lt;&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> p<span style="color: #339933;">:=</span>p<span style="color: #339933;">*</span>k;
   <span style="color: #000000; font-weight: bold;">until</span> n<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

</blockquote>
<p align="right"><a href="#0">返回目录</a></p>
</ul>
<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-fire.html" title="NOIP2005 fire 解题报告">NOIP2005 fire 解题报告 (1)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-energy.html" title="NOIP2006 energy 解题报告">NOIP2006 energy 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-equal.html" title="NOIP2005 equal 解题报告">NOIP2005 equal 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2007-game.html" title="NOIP2007 矩阵取数游戏 解题报告">NOIP2007 矩阵取数游戏 解题报告 (4)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2006-junior.html">http://backtimer.missnkiss.com/noip2006-junior.html</a></p>By the time  your rss reader get this post here is <strong> 2 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2006-junior.html/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NOIP2005 fire 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2005-fire.html</link>
		<comments>http://backtimer.missnkiss.com/noip2005-fire.html#comments</comments>
		<pubDate>Sun, 06 Apr 2008 02:12:50 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=39</guid>
		<description><![CDATA[
解题分析

题意理解错误。得分：0；
这题的b1，b2…..bm可以跳着来的….faint..
参照薛原的做法：
先构造出2个“1”开头的目标状态，然后顺次移动0～n-1与{1,2,3,….n}比较，min(不同的个数)即为所... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>解题分析</li>
</ul>
<p>题意理解错误。得分：0；</p>
<p>这题的b1，b2…..bm可以跳着来的….faint..</p>
<p>参照薛原的做法：</p>
<p>先构造出2个“1”开头的目标状态，然后顺次移动0～n-1与{1,2,3,….n}比较，min(不同的个数)即为所求。时间复杂度为O(n^2)….对于50000的数据，第4个点就超时了….</p>
<p>要加入适当的剪枝。</p>
<p><span id="more-39"></span></p>
<p>仔细研究发现，不必要真的去移动….可以算出这个点的数据移动k次后到达该到的点，那么此点是移动k次后不需交换的点，inc（num[k]）；即：</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">mod</span> n<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>对于2个目标状态做2次。如此以来，最后扫两遍num[0～n-1]得出最大值max，ans=n-max；</p>
<ul>
<li>程序代码</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> fire;
<span style="color: #000000; font-weight: bold;">type</span> arr<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..50000<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>min<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
      f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..50000<span style="color: #339933;">,</span>1..2<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
      sort1<span style="color: #339933;">,</span>sort2<span style="color: #339933;">,</span>num<span style="color: #339933;">:</span>arr;
      check<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> makefire<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> sort<span style="color: #339933;">:</span>arr;m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">if</span> m<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">then</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span>
   <span style="color: #000000; font-weight: bold;">else</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
   sort<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;sort<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>m<span style="color: #009900;">&#93;</span>;
   i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span>;
   <span style="color: #000000; font-weight: bold;">repeat</span>
      <span style="color: #000000; font-weight: bold;">if</span> f<span style="color: #009900;">&#91;</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;sort<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span>
      <span style="color: #000000; font-weight: bold;">end</span>
      <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> f<span style="color: #009900;">&#91;</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
                inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;sort<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>f<span style="color: #009900;">&#91;</span>sort<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>
             <span style="color: #000000; font-weight: bold;">end</span>
             <span style="color: #000000; font-weight: bold;">else</span> check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
   <span style="color: #000000; font-weight: bold;">until</span> <span style="color: #009900;">&#40;</span>i&gt;<span style="color: #339933;">=</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>check<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">if</span> f<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span>&lt;&gt;sort<span style="color: #009900;">&#91;</span>n<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getsort<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">if</span> check <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      fillchar<span style="color: #009900;">&#40;</span>num<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
      temp<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>sort1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">mod</span> n<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">if</span> num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&gt;temp <span style="color: #000000; font-weight: bold;">then</span> temp<span style="color: #339933;">:=</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
      fillchar<span style="color: #009900;">&#40;</span>num<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> inc<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span>sort2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">-</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">mod</span> n<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">if</span> num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&gt;temp <span style="color: #000000; font-weight: bold;">then</span> temp<span style="color: #339933;">:=</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
      getsort<span style="color: #339933;">:=</span>n<span style="color: #339933;">-</span>temp;
   <span style="color: #000000; font-weight: bold;">end</span>
   <span style="color: #000000; font-weight: bold;">else</span> getsort<span style="color: #339933;">:=-</span><span style="color: #cc66cc;">1</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'fire.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'fire.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   makefire<span style="color: #009900;">&#40;</span>sort1<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
   makefire<span style="color: #009900;">&#40;</span>sort2<span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>;
   min<span style="color: #339933;">:=</span>getsort;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>min<span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-energy.html" title="NOIP2006 energy 解题报告">NOIP2006 energy 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-equal.html" title="NOIP2005 equal 解题报告">NOIP2005 equal 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2007-game.html" title="NOIP2007 矩阵取数游戏 解题报告">NOIP2007 矩阵取数游戏 解题报告 (4)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2005-fire.html">http://backtimer.missnkiss.com/noip2005-fire.html</a></p>By the time  your rss reader get this post here is <strong> 1 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2005-fire.html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NOIP2006 energy 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2006-energy.html</link>
		<comments>http://backtimer.missnkiss.com/noip2006-energy.html#comments</comments>
		<pubDate>Sat, 05 Apr 2008 13:05:17 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=37</guid>
		<description><![CDATA[
解题分析

做这道题目，分了三个阶段。

单纯的将题目的合并理解成一小颗一小颗的顺时针合并，过了样例，第一点，失败。
考虑到了合并顺序的问题，想法是分段合并，但每次只合并一个... ]]></description>
			<content:encoded><![CDATA[<ul>
<li>解题分析</li>
</ul>
<p>做这道题目，分了三个阶段。</p>
<ul>
<li>单纯的将题目的合并理解成一小颗一小颗的顺时针合并，过了样例，第一点，失败。</li>
<li>考虑到了合并顺序的问题，想法是分段合并，但每次只合并一个到大珠子里。仍只过了样例，第一点，失败。</li>
<li>发现原来每段可以合并成两颗大珠子再进一步合并。于是，修改方程。得出：

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>max<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>通过枚举段长L、起始位置i，可求出段终止位置j；再枚举断点k即可计算出每段的最大值。</li>
</ul>
<p>还有一点吃亏了，就是，由于是链，所以数组开了2n。一开始i是从1到n，后面的计算却需要用到n到2n的数据（虽然和1到n的数据一样）..调整后，AC。</p>
<p><span id="more-37"></span></p>
<ul>
<li>程序代码</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> energy;
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>k<span style="color: #339933;">,</span>l<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      data<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..300<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
      f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..100<span style="color: #339933;">,</span>1..100<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
      answer<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> max<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">if</span> a&gt;b <span style="color: #000000; font-weight: bold;">then</span> max<span style="color: #339933;">:=</span>a <span style="color: #000000; font-weight: bold;">else</span> max<span style="color: #339933;">:=</span>b;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'energy.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'energy.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   fillchar<span style="color: #009900;">&#40;</span>data<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      data<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>n<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;data<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">+</span>n<span style="color: #339933;">+</span>n<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000066;">readln</span>;close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;
   answer<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   fillchar<span style="color: #009900;">&#40;</span>f<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> l<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
         j<span style="color: #339933;">:=</span>i<span style="color: #339933;">+</span>l;
         <span style="color: #000000; font-weight: bold;">if</span> j&lt;<span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>n <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span>i <span style="color: #000000; font-weight: bold;">to</span> j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>max<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> answer<span style="color: #339933;">:=</span>max<span style="color: #009900;">&#40;</span>answer<span style="color: #339933;">,</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>i<span style="color: #339933;">+</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span><span style="color: #009900;">&#40;</span>answer<span style="color: #009900;">&#41;</span>;
   close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-fire.html" title="NOIP2005 fire 解题报告">NOIP2005 fire 解题报告 (1)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-equal.html" title="NOIP2005 equal 解题报告">NOIP2005 equal 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2007-game.html" title="NOIP2007 矩阵取数游戏 解题报告">NOIP2007 矩阵取数游戏 解题报告 (4)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2006-energy.html">http://backtimer.missnkiss.com/noip2006-energy.html</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up <p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2006-energy.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NOIP2005 equal 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2005-equal.html</link>
		<comments>http://backtimer.missnkiss.com/noip2005-equal.html#comments</comments>
		<pubDate>Sun, 30 Mar 2008 01:11:29 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=31</guid>
		<description><![CDATA[这道题很烦啊&#8230;.
在纸上算了很久，才上机编写&#8230;.编写很流畅..除去几个小bug，90分~满意了^_^

问题简述

给定一个带有一个位置数的带运算级（+,-,*,^)以及括号的算式，再给n个算式，判断... ]]></description>
			<content:encoded><![CDATA[<p>这道题很烦啊&#8230;.</p>
<p>在纸上算了很久，才上机编写&#8230;.编写很流畅..除去几个小bug，90分~满意了^_^</p>
<ul>
<li>问题简述</li>
</ul>
<blockquote><p>给定一个带有一个位置数的带<strong>运算级（+,-,*,^)以及括号</strong>的算式，再给n个算式，判断n个里面与其相等的式子。输出序号（A,B,C&#8230;.)。</p></blockquote>
<p><span id="more-31"></span></p>
<ul>
<li>解题分析</li>
</ul>
<p>首先想到展开，不过，马上否决，编写起来实在太烦了。想到了<strong>产生随机数代值直接算</strong>。于是乎，此题就等于是<strong>模拟一个计算器出来</strong>。</p>
<p>由于题目要求到了优先级，在想了直接从左到右按括号递推、递归等无法实现的方法后，想到了N年前讲过的<strong>后序遍历</strong>。手算了几遍，掌握了普通式子变后序以及直接利用后序计算的方法后，开编。</p>
<p>录入式子的同时，过滤掉空格。求后序方法为：</p>
<blockquote><p>procedure gettree(p,q);{p-q段为式子要转化的段}</p>
<p>if p=q 录入</p>
<p>else</p>
<p>从右到左搜索最低运算级别符号；</p>
<p>录入此符号。</p>
<p>递归右边；</p>
<p>递归左边。</p></blockquote>
<p>最后转化的式子，由于<strong>已经没有括号以及优先级</strong>了，从左到右按照“<strong>两数一符号</strong>(即&#8221;123++&#8221;的计算顺序为：2+3=5,1+5=6)”的顺序过一遍，即可求出结果。多次重复求结果，即可滤掉错误的式子，准确率高。</p>
<p>最后结果：90分。</p>
<p>错于最后一个点，这个点代入10以内的数都会越界….</p>
<p>已解决。<strong>每步计算都取模一次即可….</strong></p>
<ul>
<li>程序代码</li>
</ul>
<p><del datetime="2008-05-16T03:06:54+00:00">不知道为什么代码发不上来了&#8230;..提示如下：</p>
<blockquote><p>Service Temporarily Unavailable</p>
<p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</p></blockquote>
<p>以附件的形式弄上来吧~~</p>
<blockquote><p>附件：<a href="http:/wp-content/uploads/program/equal.pas" target="_blank">equal.pas</a></p></blockquote>
<p></del><br />
当我过了段时间&#8230;.<a href="/new-theme.html" target="_blank">换了个主题</a>,<a href="/reblog-new.html" target="_blank">换了个空间</a>&#8230;.再尝试发布代码,会怎样?</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> equal;
<span style="color: #000000; font-weight: bold;">const</span> max<span style="color: #339933;">=</span>maxint;
&nbsp;
<span style="color: #000000; font-weight: bold;">type</span> str<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..100<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">string</span>;
       arr<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..26<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> str;
       int<span style="color: #339933;">=</span>int64;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> n<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>a<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      ans<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span>int;
      tree<span style="color: #339933;">,</span>sumstr<span style="color: #339933;">:</span>arr;
      check<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..26<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
      signset<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">set</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">char</span><span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span><span style="color: #ff0000;">'+'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'-'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'*'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'^'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'('</span><span style="color: #339933;">,</span><span style="color: #ff0000;">')'</span><span style="color: #009900;">&#93;</span>;
      ended<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..26<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">integer</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> readfile<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
      strtemp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;p<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>strtemp<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">repeat</span>
      <span style="color: #000000; font-weight: bold;">if</span> strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">' '</span> <span style="color: #000000; font-weight: bold;">then</span> inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>
      <span style="color: #000000; font-weight: bold;">else</span>
         <span style="color: #000000; font-weight: bold;">if</span> strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> signset <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            inc<span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span>;
            sumstr<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>p<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
            inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
         <span style="color: #000000; font-weight: bold;">end</span>
         <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">begin</span>
            temp<span style="color: #339933;">:=</span><span style="color: #ff0000;">''</span>;
            <span style="color: #000000; font-weight: bold;">repeat</span>
               temp<span style="color: #339933;">:=</span>temp<span style="color: #339933;">+</span>strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>;
               inc<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">until</span> <span style="color: #009900;">&#40;</span>strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>strtemp<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> signset<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>i&gt;length<span style="color: #009900;">&#40;</span>strtemp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
            inc<span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span>;
            sumstr<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>p<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp;
         <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">until</span> i&gt;length<span style="color: #009900;">&#40;</span>strtemp<span style="color: #009900;">&#41;</span>;
   ended<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>p;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> grade<span style="color: #009900;">&#40;</span>c<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">case</span> c <span style="color: #000000; font-weight: bold;">of</span>
      <span style="color: #ff0000;">'+'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'-'</span><span style="color: #339933;">:</span>grade<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
      <span style="color: #ff0000;">'*'</span><span style="color: #339933;">:</span>grade<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span>;
      <span style="color: #ff0000;">'^'</span><span style="color: #339933;">:</span>grade<span style="color: #339933;">:=</span><span style="color: #cc66cc;">3</span>;
      <span style="color: #ff0000;">'('</span><span style="color: #339933;">,</span><span style="color: #ff0000;">')'</span><span style="color: #339933;">:</span>grade<span style="color: #339933;">:=</span><span style="color: #cc66cc;">4</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> checked<span style="color: #009900;">&#40;</span>sumstr<span style="color: #339933;">:</span>str;p<span style="color: #339933;">,</span>q<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>level<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   level<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>p <span style="color: #000000; font-weight: bold;">to</span> q <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">if</span> sumstr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">'('</span> <span style="color: #000000; font-weight: bold;">then</span> inc<span style="color: #009900;">&#40;</span>level<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">if</span> sumstr<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">')'</span> <span style="color: #000000; font-weight: bold;">then</span> dec<span style="color: #009900;">&#40;</span>level<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>level<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>i&lt;&gt;q<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         checked<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
         exit;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   checked<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> gettree<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;var m<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;p<span style="color: #339933;">,</span>q<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> level<span style="color: #339933;">,</span>temp<span style="color: #339933;">,</span>levi<span style="color: #339933;">,</span>levtemp<span style="color: #339933;">,</span>i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      check<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">if</span> p<span style="color: #339933;">=</span>q <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
      dec<span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span>;
      tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>p<span style="color: #009900;">&#93;</span>;
   <span style="color: #000000; font-weight: bold;">end</span>
   <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">begin</span>
      check<span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">true</span>;
      <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>p<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">'('</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">')'</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> check <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
         check<span style="color: #339933;">:=</span>checked<span style="color: #009900;">&#40;</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>p<span style="color: #339933;">,</span>q<span style="color: #009900;">&#41;</span>;
         <span style="color: #000000; font-weight: bold;">if</span> check <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            inc<span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span>;
            dec<span style="color: #009900;">&#40;</span>q<span style="color: #009900;">&#41;</span>;
         <span style="color: #000000; font-weight: bold;">end</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
      level<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1000</span>;levtemp<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
      <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>q <span style="color: #000000; font-weight: bold;">downto</span> p <span style="color: #000000; font-weight: bold;">do</span>
         <span style="color: #000000; font-weight: bold;">if</span> sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> signset <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            <span style="color: #000000; font-weight: bold;">if</span> sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">')'</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
               levtemp<span style="color: #339933;">:=</span>levtemp<span style="color: #339933;">*</span><span style="color: #cc66cc;">5</span>;
               continue;
            <span style="color: #000000; font-weight: bold;">end</span>;
            <span style="color: #000000; font-weight: bold;">if</span> sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">'('</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
               levtemp<span style="color: #339933;">:=</span>levtemp <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">5</span>;
               continue;
            <span style="color: #000000; font-weight: bold;">end</span>;
            temp<span style="color: #339933;">:=</span>grade<span style="color: #009900;">&#40;</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>levtemp;
            <span style="color: #000000; font-weight: bold;">if</span> temp&lt;level <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
               level<span style="color: #339933;">:=</span>temp;
               levi<span style="color: #339933;">:=</span>i;
            <span style="color: #000000; font-weight: bold;">end</span>;
         <span style="color: #000000; font-weight: bold;">end</span>;
      dec<span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span>;
      tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>sumstr<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>levi<span style="color: #009900;">&#93;</span>;
      gettree<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>levi<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>q<span style="color: #009900;">&#41;</span>;
      gettree<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span>p<span style="color: #339933;">,</span>levi<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> work<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b <span style="color: #339933;">:</span> int;c<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>int;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      temp<span style="color: #339933;">:</span>int;
<span style="color: #000000; font-weight: bold;">begin</span>
    temp<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span>;
   <span style="color: #000000; font-weight: bold;">case</span> c <span style="color: #000000; font-weight: bold;">of</span>
      <span style="color: #ff0000;">'+'</span>	<span style="color: #339933;">:</span> temp<span style="color: #339933;">:=</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">+</span>b<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">mod</span> max;
      <span style="color: #ff0000;">'-'</span>	<span style="color: #339933;">:</span> temp<span style="color: #339933;">:=</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">-</span>b<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">mod</span> max;
      <span style="color: #ff0000;">'*'</span>	<span style="color: #339933;">:</span> temp<span style="color: #339933;">:=</span>a<span style="color: #339933;">*</span>b <span style="color: #000000; font-weight: bold;">mod</span> max;
      <span style="color: #ff0000;">'^'</span>	<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> b <span style="color: #000000; font-weight: bold;">do</span> temp<span style="color: #339933;">:=</span>a<span style="color: #339933;">*</span>temp <span style="color: #000000; font-weight: bold;">mod</span> max;
   <span style="color: #000000; font-weight: bold;">end</span>; <span style="color: #666666; font-style: italic;">{ case }</span>
   work<span style="color: #339933;">:=</span>temp;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> calc<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>a<span style="color: #339933;">,</span>p<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>int;
<span style="color: #000000; font-weight: bold;">var</span> sum<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..100<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> int;
      q<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>temp<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   q<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span>p <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">100</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> signset <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         dec<span style="color: #009900;">&#40;</span>q<span style="color: #009900;">&#41;</span>;
         sum<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>work<span style="color: #009900;">&#40;</span>sum<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>sum<span style="color: #009900;">&#91;</span>q<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">end</span>
      <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">begin</span>
         inc<span style="color: #009900;">&#40;</span>q<span style="color: #009900;">&#41;</span>;
         <span style="color: #000000; font-weight: bold;">if</span> tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #ff0000;">'a'</span> <span style="color: #000000; font-weight: bold;">then</span> sum<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>a <span style="color: #000000; font-weight: bold;">else</span> val<span style="color: #009900;">&#40;</span>tree<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>sum<span style="color: #009900;">&#91;</span>q<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>temp<span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
   calc<span style="color: #339933;">:=</span>sum<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'equal.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'equal.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   readfile<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;readln<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> readfile<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>;
   fillchar<span style="color: #009900;">&#40;</span>check<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>check<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      m<span style="color: #339933;">:=</span><span style="color: #cc66cc;">101</span>;
      gettree<span style="color: #009900;">&#40;</span>j<span style="color: #339933;">,</span>m<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>ended<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      ended<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>m;
   <span style="color: #000000; font-weight: bold;">end</span>;
   randomize;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">5</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      a<span style="color: #339933;">:=</span>random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10000</span><span style="color: #009900;">&#41;</span>;
      ans<span style="color: #339933;">:=</span>calc<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>a<span style="color: #339933;">,</span>ended<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
         <span style="color: #000000; font-weight: bold;">if</span> check<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
            temp<span style="color: #339933;">:=</span>calc<span style="color: #009900;">&#40;</span>j<span style="color: #339933;">,</span>a<span style="color: #339933;">,</span>ended<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">if</span> temp&lt;&gt;ans <span style="color: #000000; font-weight: bold;">then</span> check<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #000000; font-weight: bold;">false</span>;
         <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> check<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">64</span><span style="color: #339933;">+</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">writeln</span>;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-fire.html" title="NOIP2005 fire 解题报告">NOIP2005 fire 解题报告 (1)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-energy.html" title="NOIP2006 energy 解题报告">NOIP2006 energy 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2007-game.html" title="NOIP2007 矩阵取数游戏 解题报告">NOIP2007 矩阵取数游戏 解题报告 (4)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2005-equal.html">http://backtimer.missnkiss.com/noip2005-equal.html</a></p>Here is no comments yet by the time  your rss reader get this, Do you want to be the first commentor? Hurry up <p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2005-equal.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NOIP2007 矩阵取数游戏 解题报告</title>
		<link>http://backtimer.missnkiss.com/noip2007-game.html</link>
		<comments>http://backtimer.missnkiss.com/noip2007-game.html#comments</comments>
		<pubDate>Sat, 29 Mar 2008 08:33:20 +0000</pubDate>
		<dc:creator>Leewings</dc:creator>
				<category><![CDATA[CS Imaginator]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[解题报告]]></category>

		<guid isPermaLink="false">http://www.backtimer.com/?p=30</guid>
		<description><![CDATA[第一份解题报告啊&#8230;.写了很久的。。。。加上我不成熟精简的源代码一起贴上来吧~~

问题简述

从n*m的矩阵中取数。
1. 每次取数时须从每行各取走一个元素，共n个。m次后取完矩阵所有的元... ]]></description>
			<content:encoded><![CDATA[<p>第一份解题报告啊&#8230;.写了很久的。。。。加上我<strong>不成熟精简的源代码</strong>一起贴上来吧~~</p>
<ul>
<li>问题简述</li>
</ul>
<blockquote><p>从n*m的矩阵中取数。</p>
<p>1. 每次取数时须从每行各取走一个元素，共n个。m次后取完矩阵所有的元素；</p>
<p>2. 每次取走的各个元素只能是该元素所在行的行首或行尾；</p>
<p>3. 每次取数都有一个得分值，为每行取数的得分之和；<strong>每行取数的得分 = 被取走的元素值*2i，其中i表示第i次取数（从1开始编号）；</strong></p>
<p>4. 游戏结束总得分为m次取数得分之和。</p></blockquote>
<p><span id="more-30"></span></p>
<ul>
<li>题目分析</li>
</ul>
<p>我们可以注意到，<strong>每一行都是独立的</strong>，即我们可以把每一行都分别算完后最后将各行结果相加，有数据规模看，需要用到<strong>高精度运算</strong>。</p>
<p>由样例1的解释看，固守本分的一路作下去，最大会出现1000*2^80，需要编写高精度乘法，提高了程序的空间复杂度。因此，我采取<strong>逆向思维</strong>，在每一层运算中先将2乘入，以下是我的方程：</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>max<span style="color: #666666; font-style: italic;">{2*(data[i]+F[i+1,j]),2*(data[j]+F[i,j-1])}</span></pre></div></div>

<p>F[i,j]表示从i到j这一段数据的最大值，其计算方法解释如下：</p>
<p>我们需要用L(从1到m)来控制i-j段的长度，每次i都从头到尾走一遍，j=i+l-1。<br />
当L=1，i=1时，j=1，</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>max<span style="color: #666666; font-style: italic;">{2*（data[1]+F[2,1]),2*(data[1]+F[1,0])}</span></pre></div></div>

<p>由于此时F[2,1]、F[1,0]值为0，所以L=1时数据最大值就是2*data[i]，要注意的是，这里的data[i]将会是最后一个取走的元素。<br />
当L=2，i＝1时，j＝2，</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>max<span style="color: #666666; font-style: italic;">{2*（data[1]+F[2,2]),2*(data[2]+F[1,1])}</span></pre></div></div>

<p>此时L=1时计算得的就要用上了；我们假设数据max都是前者，那么</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>再看一个，L=3，i＝1时，j＝3，同样假设，</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>data<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>如样例1第一行数据的计算：</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;">F<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">4</span>））＝<span style="color: #cc66cc;">1</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span>^<span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span>^<span style="color: #cc66cc;">3</span></pre></div></div>

<p>这样就可以逆向将长度为3的i-j段的最大值求出，最后的F[1,m]就是每行的最大值了。</p>
<p>如此一来，我们只需要在做高精度加法的同时将数据左移1位。此题的高精度并非常规运算，因为我们本欲用于存储数据的F本身是个二维数组了，因为我将F拓展为一个<strong>二维+一维的数组</strong>，二维用于状态方程的定位，一维用于存储高精度数。每计算完一行就将F[1,m][k]的每一位加入结果数组ans[k]。这样，只需要用到2次高精度加法就可以将game AC了。</p>
<ul>
<li>程序代码</li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
</pre></td><td class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">program</span> game;
<span style="color: #000000; font-weight: bold;">const</span> maxnum<span style="color: #339933;">=</span><span style="color: #cc66cc;">100</span>;
         jinwei<span style="color: #339933;">=</span><span style="color: #cc66cc;">1000000000</span>;
<span style="color: #000000; font-weight: bold;">type</span> arr<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..4<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">var</span> i<span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>k<span style="color: #339933;">,</span>l<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      m<span style="color: #339933;">,</span>n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
      ans<span style="color: #339933;">:</span>arr;
      data<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>1..100<span style="color: #339933;">,</span>1..100<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">integer</span>;
      f<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">array</span><span style="color: #009900;">&#91;</span>0..<span style="color: #0066ee;">maxnum</span><span style="color: #339933;">,</span>0..<span style="color: #0066ee;">maxnum</span><span style="color: #339933;">,</span>1..4<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">of</span> <span style="color: #000066; font-weight: bold;">longint</span>;
      temp1<span style="color: #339933;">,</span>temp2<span style="color: #339933;">:</span>arr;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> max<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>b<span style="color: #339933;">:</span>arr<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> k<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      temp<span style="color: #339933;">:</span>arr;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span><span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">if</span> a<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>&gt;b<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         temp<span style="color: #339933;">:=</span>a;break;
       <span style="color: #000000; font-weight: bold;">end</span>
       <span style="color: #000000; font-weight: bold;">else</span>
          <span style="color: #000000; font-weight: bold;">if</span> a<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>&lt;b<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
             temp<span style="color: #339933;">:=</span>b;break;
          <span style="color: #000000; font-weight: bold;">end</span>;
       temp<span style="color: #339933;">:=</span>a;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">do</span> f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> plus2<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;var temp<span style="color: #339933;">:</span>arr<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> k<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   fillchar<span style="color: #009900;">&#40;</span>temp<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>temp<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   temp<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>a<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">shl</span> <span style="color: #cc66cc;">1</span>;
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span><span style="color: #cc66cc;">2</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      temp<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">div</span> jinwei<span style="color: #339933;">+</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">shl</span> <span style="color: #cc66cc;">1</span>;
      temp<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>temp<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">mod</span> jinwei;
   <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> plusans<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> k<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>;
      <span style="color: #000000; font-weight: bold;">if</span> ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>&gt;<span style="color: #339933;">=</span>jinwei <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         ans<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>ans<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">div</span> jinwei;
         ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">:=</span>ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">mod</span> jinwei;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">procedure</span> writeans;
<span style="color: #000000; font-weight: bold;">var</span> k<span style="color: #339933;">,</span>j<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">integer</span>;
      maxnum<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">longint</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
   maxnum<span style="color: #339933;">:=</span>jinwei <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">10</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">4</span> <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span>
      <span style="color: #000000; font-weight: bold;">if</span> ans<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>&lt;&gt;<span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000000; font-weight: bold;">begin</span>
         <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;break;
      <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> <span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">downto</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> <span style="color: #cc66cc;">8</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
         <span style="color: #000000; font-weight: bold;">if</span> ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">div</span> maxnum<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span> <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'0'</span><span style="color: #009900;">&#41;</span>;
         maxnum<span style="color: #339933;">:=</span>maxnum <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">10</span>;
      <span style="color: #000000; font-weight: bold;">end</span>;
      <span style="color: #000066;">write</span><span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      maxnum<span style="color: #339933;">:=</span>jinwei <span style="color: #000000; font-weight: bold;">div</span> <span style="color: #cc66cc;">10</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   <span style="color: #000066;">writeln</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">begin</span>
   assign<span style="color: #009900;">&#40;</span>input<span style="color: #339933;">,</span><span style="color: #ff0000;">'game.in'</span><span style="color: #009900;">&#41;</span>;assign<span style="color: #009900;">&#40;</span>output<span style="color: #339933;">,</span><span style="color: #ff0000;">'game.out'</span><span style="color: #009900;">&#41;</span>;
   reset<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;rewrite<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
   <span style="color: #000066;">readln</span><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      <span style="color: #000000; font-weight: bold;">for</span> j<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000066;">read</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000066;">readln</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   fillchar<span style="color: #009900;">&#40;</span>ans<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>ans<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">for</span> k<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> n <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
      fillchar<span style="color: #009900;">&#40;</span>f<span style="color: #339933;">,</span>sizeof<span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>;
      <span style="color: #000000; font-weight: bold;">for</span> l<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m <span style="color: #000000; font-weight: bold;">do</span>
         <span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> m<span style="color: #339933;">-</span>l<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #000000; font-weight: bold;">begin</span>
            j<span style="color: #339933;">:=</span>i<span style="color: #339933;">+</span>l<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>;
            plus2<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">,</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>j<span style="color: #339933;">,</span>temp1<span style="color: #009900;">&#41;</span>;
            plus2<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">,</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>i<span style="color: #339933;">,</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>temp2<span style="color: #009900;">&#41;</span>;
            max<span style="color: #009900;">&#40;</span>temp1<span style="color: #339933;">,</span>temp2<span style="color: #009900;">&#41;</span>;
          <span style="color: #666666; font-style: italic;">{ f[i,j]:=max(2*(data[k,i]+f[i+1,j]),2*(data[k,j]+f[i,j-1]));}</span>
         <span style="color: #000000; font-weight: bold;">end</span>;
      plusans<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>m<span style="color: #009900;">&#41;</span>;
   <span style="color: #000000; font-weight: bold;">end</span>;
   writeans;
   close<span style="color: #009900;">&#40;</span>input<span style="color: #009900;">&#41;</span>;close<span style="color: #009900;">&#40;</span>output<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>.</pre></td></tr></table></div>

<h3>You may like these posts:</h3>
<ul class="related_post">
<li><a href="http://backtimer.missnkiss.com/noip2005-junior.html" title="NOIP2005普及组 解题报告">NOIP2005普及组 解题报告 (4)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-junior.html" title="NOIP2006普及组 解题报告">NOIP2006普及组 解题报告 (2)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-fire.html" title="NOIP2005 fire 解题报告">NOIP2005 fire 解题报告 (1)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2006-energy.html" title="NOIP2006 energy 解题报告">NOIP2006 energy 解题报告 (0)</a></li>
<li><a href="http://backtimer.missnkiss.com/noip2005-equal.html" title="NOIP2005 equal 解题报告">NOIP2005 equal 解题报告 (0)</a></li>
</ul>
<p>&copy;2010 <a href="http://backtimer.missnkiss.com">逆时</a>. All Rights Reserved.</p>.
<p>This article addresses:<a href="http://backtimer.missnkiss.com/noip2007-game.html">http://backtimer.missnkiss.com/noip2007-game.html</a></p>By the time  your rss reader get this post here is <strong> 4 </strong>comments ,Welcome you come to leave your opinion !<p><strong style="border-bottom-style:groove">本<span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">作品</span>采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh">署名-非商业性使用-相同方式共享 3.0 许可协议</a>进行许可。转载请注明出自<a rel="BackTimer" href="http://www.BackTimer.com/">逆时</a>。</strong></p>
	Tags: <a href="http://backtimer.missnkiss.com/tag/noip/" title="NOIP" rel="tag">NOIP</a>, <a href="http://backtimer.missnkiss.com/tag/%e8%a7%a3%e9%a2%98%e6%8a%a5%e5%91%8a/" title="解题报告" rel="tag">解题报告</a><br />
]]></content:encoded>
			<wfw:commentRss>http://backtimer.missnkiss.com/noip2007-game.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
