﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-klion26-随笔分类-搜索</title><link>http://www.cppblog.com/klion/category/13669.html</link><description>klion26's blog</description><language>zh-cn</language><lastBuildDate>Wed, 01 Dec 2010 04:39:14 GMT</lastBuildDate><pubDate>Wed, 01 Dec 2010 04:39:14 GMT</pubDate><ttl>60</ttl><item><title>USACO 4_1_3 Fence Loops</title><link>http://www.cppblog.com/klion/archive/2010/11/28/134924.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Sun, 28 Nov 2010 14:01:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/11/28/134924.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/134924.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/11/28/134924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/134924.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/134924.html</trackback:ping><description><![CDATA[<p><a href="http://www.nocow.cn/index.php/Translate:USACO/fence6">地址</a><br>题意就是求最小周长,一开始我想画成图论,然后用类似dij的算法求最小环长,可是发现两个端点会出现冲突.我一开始的思路是,把每块木板当成一个点,然后选一个端点当成出边,另外一个端点当成入边,权值等于"起点"[这里是某快木板]的长度,可是会出现冲突,样例就是一个很好的例子,会出现到了某个点是,它必须又是起始点又是终止点.那么这样就出问题了.</p>
<p><span style="color: #2708ff;">[看了官方的题解后发现原来是可以用最小环解这题的,转化为图的时候,把木板看成边,然后木板的每个端点都看成一个独立的端点,这样的话,如果两块木板相连,就把他们的端点相连,并且权为0,木板代表的边权值为木板的长度,这样的话,就可以比较好的转化成最小环问题了,具体的可以看</span><a style="color: #ff0000;" href="http://www.cppblog.com/Files/klion/4_1_3.txt">这里的附件</a><span style="color: #2708ff;">]</span><br>于是只能再想办法了,我想的是硬搜,不过不知道能不能过,但是一时没什么其他的好办法,就想这样写吧,思路如下:<br>dfs(now,use,l)其中now代表当前点,use表示哪个端点可用,l表示当前的长度.那么就比较好实现了,代码如下,当然第一次我没加注释掉的那一句<br>if(l[这个是字母l] &gt;= min) continue;然后死在第7组数据上,死了之后就想能在哪优化不,突然发现可以加上这句,因为如果当前的已经大于等于最优值了,那么这个周长就不可能比最优值还短,改了之后就过了。不过这个优化应该第一次就想到的 - -||惭愧&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red;">我当时还有一个想法,就是记录下那些"环"已经算过,那么在这个"环"上的以其他边为起点的就不用算了,比如说1-2-3形成一个环,那么一开始以1为起点算了这个"环"的周长了,这样的话,就不用算以2 3为起点的这个"环"的长度了,不过我想不出有什么好的记录方法,所以就没加了,如果那个有什么想法的话,可以在下面写出来。<br></span></p>
<div class="source" style="color: #f5deb3; font-family: '[object]','consolas','lucida console','courier new'; background-color: #2f4f4f;" jquery1290952262772="14"><span style="color: #da70d6;">/*</span><br><span style="color: #da70d6;">&nbsp;&nbsp; ID:qcx97811</span><br><span style="color: #da70d6;">&nbsp;&nbsp; LANG:C++</span><br><span style="color: #da70d6;">&nbsp;&nbsp; PROG:fence6</span><br><span style="color: #da70d6;">*/</span><br><span style="color: #eeee00;">#include &lt;stdio.h&gt;</span><br><span style="color: #eeee00;">#include &lt;string.h&gt;</span><br><span style="color: #eeee00;">#include &lt;stdlib.h&gt;</span><br><span style="color: #eeee00;">#include &lt;math.h&gt;</span><br><br><span style="font-weight: bold; color: #98fb98;">int</span> n;<br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">][</span><span style="color: #add8e6;">3</span><span style="color: #f5deb3;">],</span><span style="color: #f5deb3;">val</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">];</span><br><span style="color: #da70d6;">//used[i][j]表示第i块的第j个端点是否已用 val[i]表示第i块的长度</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">];</span><br><span style="color: #da70d6;">//idx[i]第i个的下标</span><br><span style="font-weight: bold; color: #98fb98;">short</span> <span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">][</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">];</span><br><span style="color: #da70d6;">//num[i][j]表示第j块连在第i块的哪个端点上</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">][</span><span style="color: #add8e6;">3</span><span style="color: #f5deb3;">][</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">];</span><br><span style="color: #da70d6;">//next[i][j][k]第i块的第j个端点连着的第k个是哪块</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #add8e6;">102</span><span style="color: #f5deb3;">][</span><span style="color: #add8e6;">2</span><span style="color: #f5deb3;">];</span><br><span style="color: #da70d6;">//a[i][j]表示和第i块木板的第j个端点连在一起的一共有多少块木板</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">min</span>;<span style="color: #da70d6;">//min:最后的结果 t_min:中间的最优值</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">start</span>;<span style="color: #da70d6;">//start表示从那块木板出发</span><br><br><span style="font-weight: bold; color: #98fb98;">void</span> <span style="color: #f5deb3;">dfs</span>(<span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">,</span><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">use</span><span style="color: #f5deb3;">,</span><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">l</span>)<br><span style="color: #f5deb3;">{</span><span style="color: #da70d6;">//now:当前点的下标&nbsp; use:端点可用情况&nbsp;&nbsp; l:当前路径的长度</span><br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">j</span>;<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">t_use</span>;<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">now</span> <span style="color: #f5deb3;">==</span> <span style="color: #f5deb3;">start</span> <span style="color: #f5deb3;">&amp;&amp;</span> (<span style="color: #add8e6;">0</span> <span style="color: #f5deb3;">!=</span> <span style="color: #f5deb3;">l</span>))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><span style="color: #da70d6;">//已经找到一个 "环"</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">min</span> <span style="color: #f5deb3;">&gt;</span> <span style="color: #f5deb3;">l</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">min</span> <span style="color: #f5deb3;">=</span> <span style="color: #f5deb3;">l</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #da70d6;">//printf("%d&nbsp;&nbsp; %d\n",start,l);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">return</span> ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">1</span>;<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">&lt;</span> <span style="color: #add8e6;">3</span>;<span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">use</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{//如果这个端点可用</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">&lt;</span> <span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">-</span><span style="color: #add8e6;">1</span><span style="color: #f5deb3;">];</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{//每举和这个端点相连的那些木板</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #add8e6;">0</span> <span style="color: #f5deb3;">==</span> <span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">]])</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{//如果接下来的那块木板和这块木板相连的这个端点可用</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">t_use</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;//算这个点的下一阶段的use值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">0</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">==</span> <span style="color: #add8e6;">0</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">t_use</span> <span style="color: #f5deb3;">+=</span> <span style="color: #add8e6;">1</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">1</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">==</span> <span style="color: #add8e6;">0</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">t_use</span> <span style="color: #f5deb3;">+=</span> <span style="color: #add8e6;">2</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* <span style="font-weight: bold; color: #b0c4de;">if</span>(<span style="color: #f5deb3;">l</span> <span style="color: #f5deb3;">&gt;=</span> <span style="color: #f5deb3;">min</span>) ///这里不能注释掉 注释掉就TLE&nbsp; --------------------------------------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">continue</span>; *//这里&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;===================================<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">t_use</span> <span style="color: #f5deb3;">=</span> <span style="color: #f5deb3;">t_use</span><span style="color: #f5deb3;">-</span><span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">];</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">]]</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">1</span>;//改变状态<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">dfs</span>(<span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">],</span><span style="color: #f5deb3;">t_use</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">l</span><span style="color: #f5deb3;">+</span><span style="color: #f5deb3;">val</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">]);//下一阶段的搜索</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">used</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">now</span><span style="color: #f5deb3;">]]</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;//状态改回来,回溯<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br><span style="color: #f5deb3;">}</span><br><span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">main</span>(<span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">argv</span><span style="color: #f5deb3;">,</span><span style="font-weight: bold; color: #98fb98;">char</span> <span style="color: #f5deb3;">**</span><span style="color: #f5deb3;">argc</span>)<br><span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">freopen</span>(<span style="color: #7fffd4;">"fence6.in"</span><span style="color: #f5deb3;">,</span><span style="color: #7fffd4;">"r"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">stdin</span>);<br>&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">freopen</span>(<span style="color: #7fffd4;">"fence6.out"</span><span style="color: #f5deb3;">,</span><span style="color: #7fffd4;">"w"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">stdout</span>);<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #98fb98;">int</span> <span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">k</span>;<br>&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span>n);<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">&lt;</span> n;<span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">val</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]]);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">0</span><span style="color: #f5deb3;">],</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">1</span><span style="color: #f5deb3;">]);</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">&lt;</span> <span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">0</span><span style="color: #f5deb3;">];</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">k</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">k</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">1</span>;<span style="color: #da70d6;">//这些点连在idx[i]这块木板的第1个端点上</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">1</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">=</span> <span style="color: #f5deb3;">k</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #da70d6;">//第idx[i]块木板的第1个端点连着的第j块木板的下标是k</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">0</span>;<span style="color: #f5deb3;">j</span> <span style="color: #f5deb3;">&lt;</span> <span style="color: #f5deb3;">a</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">1</span><span style="color: #f5deb3;">];</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">scanf</span>(<span style="color: #7fffd4;">"%d"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">&amp;</span><span style="color: #f5deb3;">k</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">num</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #f5deb3;">k</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">2</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">next</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">idx</span><span style="color: #f5deb3;">[</span><span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">]][</span><span style="color: #add8e6;">2</span><span style="color: #f5deb3;">][</span><span style="color: #f5deb3;">j</span><span style="color: #f5deb3;">]</span> <span style="color: #f5deb3;">=</span> <span style="color: #f5deb3;">k</span>;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #da70d6;">//注释和上面相似 不过这里是第idx[i]块木板的第2个端点</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span>&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">min</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">999999999</span>;//初始化min<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">for</span>(<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">=</span> <span style="color: #add8e6;">1</span>;<span style="color: #f5deb3;">i</span> <span style="color: #f5deb3;">&lt;=</span> n;<span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">++</span>)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">{</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">start</span> <span style="color: #f5deb3;">=</span> <span style="color: #f5deb3;">i</span>;//start用来判断是否已经是个"环"了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">dfs</span>(<span style="color: #f5deb3;">i</span><span style="color: #f5deb3;">,</span><span style="color: #add8e6;">3</span><span style="color: #f5deb3;">,</span><span style="color: #add8e6;">0</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">}</span><br>&nbsp;&nbsp;&nbsp; <span style="color: #f5deb3;">printf</span>(<span style="color: #7fffd4;">"%d</span><span style="color: #7fffd4;">\n</span><span style="color: #7fffd4;">"</span><span style="color: #f5deb3;">,</span><span style="color: #f5deb3;">min</span>);<br>&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #b0c4de;">return</span> <span style="color: #add8e6;">0</span>;<br><span style="color: #f5deb3;">}</span><br></div><img src ="http://www.cppblog.com/klion/aggbug/134924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-11-28 22:01 <a href="http://www.cppblog.com/klion/archive/2010/11/28/134924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 2_2_4 Party Lamps</title><link>http://www.cppblog.com/klion/archive/2010/07/18/120699.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Sun, 18 Jul 2010 07:49:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/07/18/120699.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/120699.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/07/18/120699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/120699.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/120699.html</trackback:ping><description><![CDATA[<a href="http://www.nocow.cn/index.php/Translate:USACO/lamps">题意</a><br>
<p><span>这题可以用搜索，但是肯定会超时，毕竟最多<span>100</span>盏灯，<span>10000</span>次按压。这些可不是小数目，不过我们可以知道，对于每一盏灯，按压两次的效果和不按压的效果是一样的。这样一共才四盏灯，也就是我们只要枚举<span>16</span>种情况就<span>OK</span>了。当然达到目标状态后，我们还得看剩下的次数能否是灯的状态不发生改变。通过观察发现，可以没盏灯两次所有的灯的状态不发生改变，还有就是可以改变<span>1,2,3</span>这三盏灯，所有灯的状态也不会发生改变。然后我们看剩下的灯是不是可以由<span>n</span>个<span>2</span>和<span>m</span>个<span>3(n,m</span>可以为<span>0)</span>相加得到。如果可以的话，那么这个状态就可以，记录下来。最后我们要先排序，由于<span>qsort</span>函数对二维数组排序不熟，所有采用的是冒泡排序，不过这最多也就是<span>16</span>个元素，所以还是很快的。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>看了<span>Analysis</span>之后发现可以简化到只考虑前<span>6</span>盏灯，因为<span>LCM(1,2,2,3)=6.</span>也就是开关<span>1</span>影响的是每次加<span>1</span>的灯，相应的<span>2 2 3.</span>所以超过<span>6</span>的都可以由前<span>6</span>盏灯得到。这样的话应该还可以把<span>6</span>位二进制转化成<span>10</span>进制然后用<span>qsort</span>快排一下。输出也好办，一般循环输出前<span>6</span>种状态直到输出<span>n</span>位为止。<br>&nbsp;&nbsp; 相应的可以看<a href="http://www.nocow.cn/index.php/USACO/lamps">nocow上的题解</a></span></p>
<img src ="http://www.cppblog.com/klion/aggbug/120699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-07-18 15:49 <a href="http://www.cppblog.com/klion/archive/2010/07/18/120699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 2_1_5 Health Holsteins</title><link>http://www.cppblog.com/klion/archive/2010/07/12/120125.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Mon, 12 Jul 2010 07:46:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/07/12/120125.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/120125.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/07/12/120125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/120125.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/120125.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这题想通了很简单，不过难的就是想的过程，我想了一个上午，由于没有去重超时了，后来还是同学点拨才过的，用数组模拟组合，当数组的某个元素a[i]=1时表示选取第(i-1)(或者i，这里看数组的下标从0开始还是从1开始)个，a[i] = 0表示不选第(i-1)个。然后再在符合情况的组合中选取元素最少的(也就是步数最少的)。官方的报告和这一样的思路官方Code highlighting produce...&nbsp;&nbsp;<a href='http://www.cppblog.com/klion/archive/2010/07/12/120125.html'>阅读全文</a><img src ="http://www.cppblog.com/klion/aggbug/120125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-07-12 15:46 <a href="http://www.cppblog.com/klion/archive/2010/07/12/120125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>USACO 1_4_4 Mother's Milk</title><link>http://www.cppblog.com/klion/archive/2010/06/04/117192.html</link><dc:creator>Klion</dc:creator><author>Klion</author><pubDate>Fri, 04 Jun 2010 14:18:00 GMT</pubDate><guid>http://www.cppblog.com/klion/archive/2010/06/04/117192.html</guid><wfw:comment>http://www.cppblog.com/klion/comments/117192.html</wfw:comment><comments>http://www.cppblog.com/klion/archive/2010/06/04/117192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/klion/comments/commentRss/117192.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/klion/services/trackbacks/117192.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 简单的搜索题，用递归实现就行了，开一个三维数组来记录状态是否出现过。一共有六种到牛奶的方法，不过如果某个瓶子没空了，那不能到给其他瓶子了。直接代码(自己先想想) 发现我插不进代码，以后再贴吧，到时顺便把官方给的方法给贴一下 MY CODECode highlighting produced by Actipro CodeHighlighter (freeware)http://www.Code...&nbsp;&nbsp;<a href='http://www.cppblog.com/klion/archive/2010/06/04/117192.html'>阅读全文</a><img src ="http://www.cppblog.com/klion/aggbug/117192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/klion/" target="_blank">Klion</a> 2010-06-04 22:18 <a href="http://www.cppblog.com/klion/archive/2010/06/04/117192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>