﻿<?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++博客-alpc60 ACM/ICPC程序设计</title><link>http://www.cppblog.com/linyangfei/</link><description>成长的路……源</description><language>zh-cn</language><lastBuildDate>Sun, 19 Apr 2026 16:19:11 GMT</lastBuildDate><pubDate>Sun, 19 Apr 2026 16:19:11 GMT</pubDate><ttl>60</ttl><item><title>树状数组学习心得</title><link>http://www.cppblog.com/linyangfei/archive/2008/09/24/62688.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Wed, 24 Sep 2008 08:35:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/09/24/62688.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/62688.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/09/24/62688.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/62688.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/62688.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;POJ 3321 Apple Treehttp://acm.pku.edu.cn/JudgeOnline/problem?id=3321POJ 2481 Cowshttp://acm.pku.edu.cn/JudgeOnline/problem?id=2481POJ 2155 Matrixhttp://acm.pku.edu.cn/JudgeOnline/pro...&nbsp;&nbsp;<a href='http://www.cppblog.com/linyangfei/archive/2008/09/24/62688.html'>阅读全文</a><img src ="http://www.cppblog.com/linyangfei/aggbug/62688.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-09-24 16:35 <a href="http://www.cppblog.com/linyangfei/archive/2008/09/24/62688.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数学中的爆搞题</title><link>http://www.cppblog.com/linyangfei/archive/2008/09/19/62306.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Fri, 19 Sep 2008 13:23:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/09/19/62306.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/62306.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/09/19/62306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/62306.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/62306.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;今天上网随便逛逛，无意间看到这些题目颇为熟悉，要是当年中学数学考试的时候能够拿电脑编程就好了。<br><br>1）江海市电话号码是5位数，每一位上的数码可以是0，1，2&#183;&#183;&#183;8，9中任意一个（数字可以重复出现，如00000也算一个电话号码），那么这个城市最多有多少个电话号码？ <br>（2）用0，1，2，3这4个数字，可以组成多少个没有重复的4位数？ <br>（3）&#8220;IMO&#8221;是国际奥林匹克的缩写，把3个字母写成3种不同的颜色，现在有5种不同的颜色笔，按上述要求能写出多少种不同颜色搭配的&#8220;IMO&#8221;.<br><br>答案是<span style="COLOR: #ffffff">：(1) 100000种&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（2）18种&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（3）60种<br></span><br><br></cd>不过好像人脑要比爆搞更快些&#8230;&#8230;ft<img src ="http://www.cppblog.com/linyangfei/aggbug/62306.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-09-19 21:23 <a href="http://www.cppblog.com/linyangfei/archive/2008/09/19/62306.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小点覆盖 POJ 2060 Taxi Cab Scheme</title><link>http://www.cppblog.com/linyangfei/archive/2008/09/15/61878.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Mon, 15 Sep 2008 11:46:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/09/15/61878.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/61878.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/09/15/61878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/61878.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/61878.html</trackback:ping><description><![CDATA[&nbsp;
<p align=center><strong><span>Taxi Cab Scheme</span></strong></p>
<div align=center>
<table cellPadding=0 border=0>
    <tbody>
        <tr>
            <td>
            <p><strong><span>Time Limit:</span></strong><span> 1000MS</span></p>
            </td>
            <td width=10>
            <p>&nbsp;</p>
            </td>
            <td>
            <p><strong><span>Memory Limit:</span></strong><span> 30000K</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p><strong><span>Total Submissions:</span></strong><span> 1342</span></p>
            </td>
            <td width=10>
            <p>&nbsp;</p>
            </td>
            <td>
            <p><strong><span>Accepted:</span></strong><span> 587</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p><span>Description</span></p>
<p><span>Running a taxi station is not all that simple. Apart from the obvious demand for a centralised coordination of the cabs in order to pick up the customers calling to get a cab as soon as possible,there is also a need to schedule all the taxi rides which have been booked in advance.Given a list of all booked taxi rides for the next day, you want to minimise the number of cabs needed to carry out all of the rides. <br>For the sake of simplicity, we model a city as a rectangular grid. An address in the city is denoted by two integers: the street and avenue number. The time needed to get from the address a, b to c, d by taxi is |a - c| + |b - d| minutes. A cab may carry out a booked ride if it is its first ride of the day, or if it can get to the source address of the new ride from its latest,at least one minute before the new ride's scheduled departure. Note that some rides may end after midnight.</span></p>
<p><span>Input</span></p>
<p><span>On the first line of the input is a single positive integer N, telling the number of test scenarios to follow. Each scenario begins with a line containing an integer M, 0 &lt; M &lt; 500, being the number of booked taxi rides. The following M lines contain the rides. Each ride is described by a departure time on the format hh:mm (ranging from 00:00 to 23:59), two integers a b that are the coordinates of the source address and two integers c d that are the coordinates of the destination address. All coordinates are at least 0 and strictly smaller than 200. The booked rides in each scenario are sorted in order of increasing departure time.</span></p>
<p><span>Output</span></p>
<p><span>For each scenario, output one line containing the minimum number of cabs required to carry out all the booked taxi rides.</span></p>
<p><span>Sample Input</span></p>
<pre><span>2</span></pre>
<pre><span>2</span></pre>
<pre><span>08:00 10 11 9 16</span></pre>
<pre><span>08:07 9 16 10 11</span></pre>
<pre><span>2</span></pre>
<pre><span>08:00 10 11 9 16</span></pre>
<pre><span>08:06 9 16 10 11</span></pre>
<p><span>Sample Output</span></p>
<pre><span>1</span></pre>
<pre><span>2</span></pre>
<p><span>Source</span></p>
<p><span><a href="http://acm.pku.edu.cn/JudgeOnline/searchproblem?field=source&amp;key=Northwestern+Europe+2004">Northwestern Europe 2004</a></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>根据这道题目的意思，我们可以建一张图，对于两个</span><span>booked taxi ride</span><span>，</span><span>ri</span><span>和</span><span>rj</span><span>如果一辆车能够先完成</span><span>ri</span><span>的任务再有时间赶去完成</span><span>rj</span><span>的任务，那么就建立一条</span><span>ri</span><span>指向</span><span>rj</span><span>的边。<br></span></p>
<p><img height=178 alt="" src="http://www.cppblog.com/images/cppblog_com/linyangfei/1.JPG" width=313 border=0><span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>按照题目的要求，要选择最少的</span><span>taxi</span><span>来完成这些任务。显然在上面这个例子中，需要安排</span><span>2</span><span>辆</span><span>taxi</span><span>。结合这个图，可以把题目的要求转化为找出最少的路径条数，使得这些路径覆盖途中所有的边，例如可以选择</span><span>2</span><span>条路径</span><span>1-&gt;3-&gt;4</span><span>和</span><span>1-&gt;2</span><span>就可以覆盖所有的边。也可以选择</span><span>1-&gt;3-&gt;4</span><span>和</span><span>2</span><span>（因为</span><span>2</span><span>作为初始站，不需要由</span><span>1</span><span>转移过来）。对于一条连续的路径</span><span>vi1-&gt;vi2-&gt;&#8230;vik</span><span>由于这条路径上的任务实际上是由一辆</span><span>taxi</span><span>来完成的，可以吧这条路径退化成两个点</span><span>vi1-&gt;vik</span><span>。有了这两步建图的步骤以后，问题的求解就可以变为找出顶点集的一个最小子集，使这个顶点子集覆盖所有的边（每条边都至少和一个顶点集的顶点相连）。这个问题就是图的最小点覆盖。再看这张图，还有一些性质能够让我们更好地求出最小点覆盖。这个图是一个有向无环图，没有自环，就可以拆点，把原先建的图变成一张二分图。<br><img height=247 alt="" src="http://www.cppblog.com/images/cppblog_com/linyangfei/2.JPG" width=424 border=0><br></span></p>
<p><span>可以再图中看出，上面举出的一条路径</span><span>1-&gt;3-&gt;4</span><span>对应了这个二分图中的路径</span><span>1-&gt;<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="3" UnitName="&#8217;">3&#8217;</st1:chmetcnv>-&gt;3-&gt;<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="4" UnitName="&#8217;">4&#8217;</st1:chmetcnv></span><span>，在这个二分图中就需要求一个最大独立子集（这里的</span><span>4</span><span>点就是一条路径的终点，没一条路径即对应有一个终点！）。二分图的最大独立数是总点数与最大匹配数的差值。接下来建图，拆点，求二分图最大匹配就能解决这道题目了。<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_194553 onclick="this.style.display='none'; Code_Closed_Text_194553.style.display='none'; Code_Open_Image_194553.style.display='inline'; Code_Open_Text_194553.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_194553 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_194553.style.display='none'; Code_Closed_Image_194553.style.display='inline'; Code_Closed_Text_194553.style.display='inline';" height=16 src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_194553 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Code_Open_Text_194553 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">algorithm</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;Point<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img id=Codehighlighter1_95_107_Open_Image onclick="this.style.display='none'; Codehighlighter1_95_107_Open_Text.style.display='none'; Codehighlighter1_95_107_Closed_Image.style.display='inline'; Codehighlighter1_95_107_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_95_107_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_95_107_Closed_Text.style.display='none'; Codehighlighter1_95_107_Open_Image.style.display='inline'; Codehighlighter1_95_107_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_95_107_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_95_107_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x,y;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;P<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img id=Codehighlighter1_119_152_Open_Image onclick="this.style.display='none'; Codehighlighter1_119_152_Open_Text.style.display='none'; Codehighlighter1_119_152_Closed_Image.style.display='inline'; Codehighlighter1_119_152_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_119_152_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_119_152_Closed_Text.style.display='none'; Codehighlighter1_119_152_Open_Image.style.display='inline'; Codehighlighter1_119_152_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_119_152_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_119_152_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;s,e;<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;Point&nbsp;s1,s2;<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">p[</span><span style="COLOR: #000000">505</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n,g[</span><span style="COLOR: #000000">505</span><span style="COLOR: #000000">][</span><span style="COLOR: #000000">505</span><span style="COLOR: #000000">],match[</span><span style="COLOR: #000000">505</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;chk[</span><span style="COLOR: #000000">505</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img id=Codehighlighter1_207_252_Open_Image onclick="this.style.display='none'; Codehighlighter1_207_252_Open_Text.style.display='none'; Codehighlighter1_207_252_Closed_Image.style.display='inline'; Codehighlighter1_207_252_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_207_252_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_207_252_Closed_Text.style.display='none'; Codehighlighter1_207_252_Open_Image.style.display='inline'; Codehighlighter1_207_252_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_207_252_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_207_252_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">int&nbsp;abs(int&nbsp;a)<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>{<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;a&nbsp;&lt;&nbsp;0&nbsp;?&nbsp;-a&nbsp;:&nbsp;a;<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;P&nbsp;a,&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;P&nbsp;b)<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img id=Codehighlighter1_292_313_Open_Image onclick="this.style.display='none'; Codehighlighter1_292_313_Open_Text.style.display='none'; Codehighlighter1_292_313_Closed_Image.style.display='inline'; Codehighlighter1_292_313_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_292_313_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_292_313_Closed_Text.style.display='none'; Codehighlighter1_292_313_Open_Image.style.display='inline'; Codehighlighter1_292_313_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_292_313_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_292_313_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;a.s&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;b.s;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dfs(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;v)<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img id=Codehighlighter1_330_508_Open_Image onclick="this.style.display='none'; Codehighlighter1_330_508_Open_Text.style.display='none'; Codehighlighter1_330_508_Closed_Image.style.display='inline'; Codehighlighter1_330_508_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_330_508_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_330_508_Closed_Text.style.display='none'; Codehighlighter1_330_508_Open_Image.style.display='inline'; Codehighlighter1_330_508_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_330_508_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_330_508_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,t;<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img id=Codehighlighter1_363_495_Open_Image onclick="this.style.display='none'; Codehighlighter1_363_495_Open_Text.style.display='none'; Codehighlighter1_363_495_Closed_Image.style.display='inline'; Codehighlighter1_363_495_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_363_495_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_363_495_Closed_Text.style.display='none'; Codehighlighter1_363_495_Open_Image.style.display='inline'; Codehighlighter1_363_495_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_363_495_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_363_495_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">chk[i]&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;g[v][i])<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img id=Codehighlighter1_392_492_Open_Image onclick="this.style.display='none'; Codehighlighter1_392_492_Open_Text.style.display='none'; Codehighlighter1_392_492_Closed_Image.style.display='inline'; Codehighlighter1_392_492_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_392_492_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_392_492_Closed_Text.style.display='none'; Codehighlighter1_392_492_Open_Image.style.display='inline'; Codehighlighter1_392_492_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_392_492_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_392_492_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">match[i];<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chk[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">v;<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(t&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;dfs(t))&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t;<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;Twomatch()<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img id=Codehighlighter1_525_666_Open_Image onclick="this.style.display='none'; Codehighlighter1_525_666_Open_Text.style.display='none'; Codehighlighter1_525_666_Closed_Image.style.display='inline'; Codehighlighter1_525_666_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_525_666_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_525_666_Closed_Text.style.display='none'; Codehighlighter1_525_666_Open_Image.style.display='inline'; Codehighlighter1_525_666_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_525_666_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_525_666_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,ans</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;memset(match,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(match));<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img id=Codehighlighter1_595_651_Open_Image onclick="this.style.display='none'; Codehighlighter1_595_651_Open_Text.style.display='none'; Codehighlighter1_595_651_Closed_Image.style.display='inline'; Codehighlighter1_595_651_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_595_651_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_595_651_Closed_Text.style.display='none'; Codehighlighter1_595_651_Open_Image.style.display='inline'; Codehighlighter1_595_651_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_595_651_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_595_651_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(chk,</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(chk));<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(dfs(i))&nbsp;ans</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;ans;<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img id=Codehighlighter1_680_1308_Open_Image onclick="this.style.display='none'; Codehighlighter1_680_1308_Open_Text.style.display='none'; Codehighlighter1_680_1308_Closed_Image.style.display='inline'; Codehighlighter1_680_1308_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_680_1308_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_680_1308_Closed_Text.style.display='none'; Codehighlighter1_680_1308_Open_Image.style.display='inline'; Codehighlighter1_680_1308_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_680_1308_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_680_1308_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,cases,a,b,j,cnt;<br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;temp[</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">freopen("in.txt","r",stdin);</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">59</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">cases);<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cases</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img id=Codehighlighter1_792_1295_Open_Image onclick="this.style.display='none'; Codehighlighter1_792_1295_Open_Text.style.display='none'; Codehighlighter1_792_1295_Closed_Image.style.display='inline'; Codehighlighter1_792_1295_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_792_1295_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_792_1295_Closed_Text.style.display='none'; Codehighlighter1_792_1295_Open_Image.style.display='inline'; Codehighlighter1_792_1295_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_792_1295_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_792_1295_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n);<br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img id=Codehighlighter1_836_1048_Open_Image onclick="this.style.display='none'; Codehighlighter1_836_1048_Open_Text.style.display='none'; Codehighlighter1_836_1048_Closed_Image.style.display='inline'; Codehighlighter1_836_1048_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_836_1048_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_836_1048_Closed_Text.style.display='none'; Codehighlighter1_836_1048_Open_Image.style.display='inline'; Codehighlighter1_836_1048_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_836_1048_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_836_1048_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,temp);<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p[i].s1.x,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p[i].s1.y,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p[i].s2.x,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">p[i].s2.y);<br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sscanf(temp,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%*[:]%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">a,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">b);<br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i].s</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">60</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">b;<br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p[i].e</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">p[i].s</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">abs(p[i].s2.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p[i].s1.x)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">abs(p[i].s2.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p[i].s1.y);<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">sort(p,p+n);</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">73</span><span style="COLOR: #008000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">74</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(g,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(g));<br></span><span style="COLOR: #008080">75</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">76</span><span style="COLOR: #000000"><img id=Codehighlighter1_1124_1260_Open_Image onclick="this.style.display='none'; Codehighlighter1_1124_1260_Open_Text.style.display='none'; Codehighlighter1_1124_1260_Closed_Image.style.display='inline'; Codehighlighter1_1124_1260_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1124_1260_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1124_1260_Closed_Text.style.display='none'; Codehighlighter1_1124_1260_Open_Image.style.display='inline'; Codehighlighter1_1124_1260_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1124_1260_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1124_1260_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">77</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img id=Codehighlighter1_1151_1256_Open_Image onclick="this.style.display='none'; Codehighlighter1_1151_1256_Open_Text.style.display='none'; Codehighlighter1_1151_1256_Closed_Image.style.display='inline'; Codehighlighter1_1151_1256_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1151_1256_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1151_1256_Closed_Text.style.display='none'; Codehighlighter1_1151_1256_Open_Image.style.display='inline'; Codehighlighter1_1151_1256_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1151_1256_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1151_1256_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">79</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p[i].e</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">abs(p[i].s2.x</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p[j].s1.x)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">abs(p[i].s2.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">p[j].s1.y)&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;p[j].s&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;j)<br></span><span style="COLOR: #008080">80</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">81</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">82</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">83</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Twomatch());<br></span><span style="COLOR: #008080">84</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">85</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">86</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">87</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<p><br></span></p><img src ="http://www.cppblog.com/linyangfei/aggbug/61878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-09-15 19:46 <a href="http://www.cppblog.com/linyangfei/archive/2008/09/15/61878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从希望走向失望</title><link>http://www.cppblog.com/linyangfei/archive/2008/08/29/60388.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Fri, 29 Aug 2008 10:43:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/08/29/60388.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/60388.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/08/29/60388.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/60388.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/60388.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;今早上完&#8220;计算机图形图像&#8221;课后，我这个学期唯一的希望都破灭了（这学期得睡过去了）。我一直都觉</p>
<p>得&#8220;计算机图形学&#8221;和&#8220;计算机图像处理&#8221;是两门很有意思的课程。这学期我们的课程安排还是一贯作风</p>
<p>——课程压缩，把这两门课程压成了一门课程，不仅如此还使用的是内部教材（传说中的内部教材就是把</p>
<p>课程内容进一步精简压缩）。即便在这种情况之下，我还是对计算机图形图像处理充满热情，想多学些东</p>
<p>西，好好地做课程设计。今天临下课前，老师把课程设计的题目布置下来，真令我彻底失望了。布置了20+</p>
<p>个题目，虽说涉及一些军事，但是要求真的很水。后面给出了一系列军事电影，灾难电影大片，做法就是</p>
<p>：<br>1、看片；<br>2、截图与PS；<br>3、写报告与做ppt。<br>&nbsp;&nbsp;&nbsp;我想了一下，这里面可能一点理论，一点编程都不会涉及到，这样的课程设计，玩过电脑的人都会做，还</p>
<p>干嘛添在&#8220;信息工程&#8221;专业的&#8220;课程设计&#8221;里呢？真是可笑！！！课程都缩水缩到这种程度了，那还开什</p>
<p>么课呢，自欺欺人罢了。稍有点本专业知识的人也不至于会认为计算机图像处理就是玩PS吧。那大学里学</p>
<p>电子工程的毕业后都去修微波炉，通信工程的去卖电话卡，信息工程的就去照相馆做PS好了。<br>唉&#8230;&#8230;这几天正是新生入学，还看着一批一批的新生往我们宿舍这边走，我心里真是难过，真想跟他们说</p>
<p>，&#8220;回去吧，说不定来年还能考个清华。&#8221;还有那么多家长，送个孩子上大学多不容易，但也许他们还不知道，他们的儿子要接受这样的教育。想着这些事，心都在痛啊。<br>&nbsp;&nbsp;&nbsp;悲&#8230;&#8230;</p><img src ="http://www.cppblog.com/linyangfei/aggbug/60388.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-08-29 18:43 <a href="http://www.cppblog.com/linyangfei/archive/2008/08/29/60388.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1112 Team Them Up! 求补图，连通分量，DP</title><link>http://www.cppblog.com/linyangfei/archive/2008/08/08/58295.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Thu, 07 Aug 2008 16:51:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/08/08/58295.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/58295.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/08/08/58295.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/58295.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/58295.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;Team Them Up!                                    Time Limit: 1000MS                                    &nbsp;                                    Memory Limit: 10000K ...&nbsp;&nbsp;<a href='http://www.cppblog.com/linyangfei/archive/2008/08/08/58295.html'>阅读全文</a><img src ="http://www.cppblog.com/linyangfei/aggbug/58295.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-08-08 00:51 <a href="http://www.cppblog.com/linyangfei/archive/2008/08/08/58295.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个人比赛时心理素质不好</title><link>http://www.cppblog.com/linyangfei/archive/2008/08/04/57989.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Mon, 04 Aug 2008 10:33:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/08/04/57989.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/57989.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/08/04/57989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/57989.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/57989.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;<a href="http://acm.tju.edu.cn/toj/vcontest/contest1688.html">http://acm.tju.edu.cn/toj/vcontest/contest1688.html</a> <br>&nbsp; 今天做level 1的比赛就做了一道trie的题目。后来一直被困在G题上面，我一直以为G题有状态压缩DP的方法，就没有去想其他的方法了。就一直在G死循环。但赛后跟大牛们一交流，原来这题是爆搞，复杂度6^8。就花了10分钟把这题切了。反思今天的比赛，其实当时如果自己尝试别的方法，就不会一直困在这里。特别是看到别人过题的时候自己没过题，心里反倒是越来越紧张，到后面就很不爽了。脑子里也很乱，自己都调整不过来。还有今天比赛的题目都没读，实在是不应该。<img src ="http://www.cppblog.com/linyangfei/aggbug/57989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-08-04 18:33 <a href="http://www.cppblog.com/linyangfei/archive/2008/08/04/57989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 2047</title><link>http://www.cppblog.com/linyangfei/archive/2008/08/02/57811.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Sat, 02 Aug 2008 03:18:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/08/02/57811.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/57811.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/08/02/57811.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/57811.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/57811.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;
<div class=ptt lang=en-US align=center>Concert Hall Scheduling</div>
<div class=plm>
<table align=center>
    <tbody>
        <tr>
            <td><strong>Time Limit:</strong> 1000MS</td>
            <td width=10></td>
            <td><strong>Memory Limit:</strong> 30000K</td>
        </tr>
        <tr>
            <td><strong>Total Submissions:</strong> 574</td>
            <td width=10></td>
            <td><strong>Accepted:</strong> 229</td>
        </tr>
    </tbody>
</table>
</div>
<p class=pst>Description</p>
<div class=ptx lang=en-US>You are appointed director of a famous concert hall, to save it from bankruptcy. The hall is very popular, and receives many requests to use its two fine rooms, but unfortunately the previous director was not very efficient, and it has been losing money for many years. The two rooms are of the same size and arrangement. Therefore, each applicant wishing to hold a concert asks for a room without specifying which. Each room can be used for only one concert per day. <br>In order to make more money, you have decided to abandon the previous fixed price policy, and rather let applicants specify the price they are ready to pay. Each application shall specify a period [i, j] and an asking price w, where i and j are respectively the first and last days of the period (1 &lt;= i &lt;= j &lt;= 365), and w is a positive integer in yen, indicating the amount the applicant is willing to pay to use a room for the whole period. <br><br>You have received applications for the next year, and you should now choose the applications you will accept. Each application should be either accepted for its whole period or completely rejected. Each concert should use the same room during the whole applied period. <br><br>Considering the dire economic situation of the concert hall, artistic quality is to be ignored, and you should just try to maximize the total income for the whole year by accepting the most profitable applications. <br></div>
<p class=pst>Input</p>
<div class=ptx lang=en-US>The input has multiple data sets, each starting with a line consisting of a single integer n, the number of applications in the data set. Then, it is followed by n lines, each of which represents one application with a period [i, j] and an asking price w yen in the following format. <br><br>i j w <br><br>A line containing a single zero indicates the end of the input. <br><br>The maximum number of applications in a data set is one thousand, and the maximum asking price is one million yen. <br></div>
<p class=pst>Output</p>
<div class=ptx lang=en-US>For each data set, print a single line containing an integer, the maximum total income in yen for the data set.</div>
<p class=pst>Sample Input</p>
<pre class=sio>4
1 2 10
2 3 10
3 3 10
1 3 10
6
1 20 1000
3 25 10000
5 15 5000
22 300 5500
10 295 9000
7 7 6000
8
32 251 2261
123 281 1339
211 235 5641
162 217 7273
22 139 7851
194 198 9190
119 274 878
122 173 8640
0
</pre>
<p class=pst>Sample Output</p>
<pre class=sio>30
25500
38595</pre>
<p class=pst>Source</p>
<div class=ptx lang=en-US><a href="http://acm.pku.edu.cn/JudgeOnline/searchproblem?field=source&amp;key=Japan+2003"><u><font color=#0000ff>Japan 2003</font></u></a>,Aizu</div>
&nbsp;<br>&nbsp;&nbsp;&nbsp; 这道题目放了很久了，一直没想出好的解法。最近的几次比赛中都遇到了这道题，比赛后才把这题搞定。这题的方法是DP。输入数据记录要处理一下，开一个366大的vector数组，记录了到第e天结束时的音乐会的开始时间s和收益w。开一个dp[366][366]的数组，其中dp[i][j]表示第一个音乐厅在第i天，第二个音乐厅在第j天收到的yen。因为预定的音乐会占用音乐厅是有一个区间的，这里做一个处理，就是在一场音乐会占用的期间都不收钱，直到一个音乐会完全结束后才收钱。另外两个音乐厅是一样的，即最后dp[i][j]应该是一个对称数组，当只接受一场音乐会的情况可以强行的认为这场音乐会是放在第一个音乐厅，计算dp[i][j]中所有i&gt;j的值，最后再令dp[j][i]=dp[i][j]即可。<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">365</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img id=Codehighlighter1_24_466_Open_Image onclick="this.style.display='none'; Codehighlighter1_24_466_Open_Text.style.display='none'; Codehighlighter1_24_466_Closed_Image.style.display='inline'; Codehighlighter1_24_466_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_24_466_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_466_Closed_Text.style.display='none'; Codehighlighter1_24_466_Open_Image.style.display='inline'; Codehighlighter1_24_466_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_24_466_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_24_466_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(jj</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;jj</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">hall[i].size();&nbsp;jj</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img id=Codehighlighter1_67_328_Open_Image onclick="this.style.display='none'; Codehighlighter1_67_328_Open_Text.style.display='none'; Codehighlighter1_67_328_Closed_Image.style.display='inline'; Codehighlighter1_67_328_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_67_328_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_67_328_Closed_Text.style.display='none'; Codehighlighter1_67_328_Open_Image.style.display='inline'; Codehighlighter1_67_328_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_67_328_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_67_328_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">i;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img id=Codehighlighter1_96_168_Open_Image onclick="this.style.display='none'; Codehighlighter1_96_168_Open_Text.style.display='none'; Codehighlighter1_96_168_Closed_Image.style.display='inline'; Codehighlighter1_96_168_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_96_168_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_96_168_Closed_Text.style.display='none'; Codehighlighter1_96_168_Open_Image.style.display='inline'; Codehighlighter1_96_168_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_96_168_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_96_168_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Max(dp[i][j],dp[hall[i][jj].s</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">hall[i][jj].w);<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(ii</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">jj</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;ii</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">hall[i].size();&nbsp;ii</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img id=Codehighlighter1_216_323_Open_Image onclick="this.style.display='none'; Codehighlighter1_216_323_Open_Text.style.display='none'; Codehighlighter1_216_323_Closed_Image.style.display='inline'; Codehighlighter1_216_323_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_216_323_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_216_323_Closed_Text.style.display='none'; Codehighlighter1_216_323_Open_Image.style.display='inline'; Codehighlighter1_216_323_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_216_323_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_216_323_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Max(dp[i][i],dp[hall[i][jj].s</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][hall[i][ii].s</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hall[i][jj].w</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">hall[i][ii].w);<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">i;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img id=Codehighlighter1_356_462_Open_Image onclick="this.style.display='none'; Codehighlighter1_356_462_Open_Text.style.display='none'; Codehighlighter1_356_462_Closed_Image.style.display='inline'; Codehighlighter1_356_462_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_356_462_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_356_462_Closed_Text.style.display='none'; Codehighlighter1_356_462_Open_Image.style.display='inline'; Codehighlighter1_356_462_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_356_462_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_356_462_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Max(dp[i</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">][j],dp[i][j]);<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Max(dp[i][j</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">],dp[i][j]);<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[j][i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">dp[i][j];<br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><img src ="http://www.cppblog.com/linyangfei/aggbug/57811.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-08-02 11:18 <a href="http://www.cppblog.com/linyangfei/archive/2008/08/02/57811.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>7月16-7月21荒废的一周！！！</title><link>http://www.cppblog.com/linyangfei/archive/2008/07/20/56710.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Sun, 20 Jul 2008 15:13:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/07/20/56710.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/56710.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/07/20/56710.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/56710.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/56710.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; 一周都没有好好的做题。又碰上学校的网络跟千年老乌龟似的慢，上个poj要等上5分钟，做比赛这种速度搞得一点都不爽。这周同学来长沙，所以我原来做题的计划全被打乱，不过倒是逛了长沙好多地方，呵呵（来长沙三年，第一次这样了解长沙）。暑假留在长沙又不是留在这玩的，下周同学就走了，希望自己能够调整好状态，用这20天的时间好好冲一把，加油！加油！</p><img src ="http://www.cppblog.com/linyangfei/aggbug/56710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-07-20 23:13 <a href="http://www.cppblog.com/linyangfei/archive/2008/07/20/56710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 2335 浮点数的gcd</title><link>http://www.cppblog.com/linyangfei/archive/2008/06/28/54874.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Sat, 28 Jun 2008 07:18:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/06/28/54874.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/54874.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/06/28/54874.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/54874.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/54874.html</trackback:ping><description><![CDATA[<div class=ptt lang=en-US align=center>Temple of Dune</div>
<div class=plm>
<table align=center>
    <tbody>
        <tr>
            <td><strong>Time Limit:</strong> 1000MS</td>
            <td width=10></td>
            <td><strong>Memory Limit:</strong> 65536K</td>
        </tr>
        <tr>
            <td><strong>Total Submissions:</strong> 211</td>
            <td width=10></td>
            <td><strong>Accepted:</strong> 82</td>
        </tr>
    </tbody>
</table>
</div>
<p class=pst>Description</p>
<div class=ptx lang=en-US>The Archaeologists of the Current Millenium (ACM) now and then discover ancient artifacts located at the vertices of regular polygons. In general it is necessary to move one sand dune to uncover each artifact. After discovering three artifacts, the archaeologists wish to compute the minimum number of dunes that must be moved to uncover all of them.</div>
<p class=pst>Input</p>
<div class=ptx lang=en-US>The first line of input contains a positive integer n, the number of test cases. Each test case consists of three pairs of real numbers giving the x and y coordinates of three vertices from a regular polygon.</div>
<p class=pst>Output</p>
<div class=ptx lang=en-US>For each line of input, output a single integer stating the fewest vertices that such a polygon might have. You may assume that each input case gives three distinct vertices of a regular polygon with at most 200 vertices. </div>
<p class=pst>Sample Input</p>
<pre class=sio>4
10.00000 0.00000 0.00000 -10.00000 -10.00000 0.00000
22.23086 0.42320 -4.87328 11.92822 1.76914 27.57680
156.71567 -13.63236 139.03195 -22.04236 137.96925 -11.70517
129.400249 -44.695226 122.278798 -53.696996 44.828427 -83.507917
</pre>
<p class=pst>Sample Output</p>
<pre class=sio>4
6
23
100
</pre>
<p class=pst>Source</p>
<div class=ptx lang=en-US><a href="http://acm.pku.edu.cn/JudgeOnline/searchproblem?field=source&amp;key=Waterloo+local+2003.01.25"><u><font color=#0000ff>Waterloo local 2003.01.25</font></u></a></div>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体"><br><br>题目大意是给出三个点的(x,y)坐标，要求输出一个边数最小的正多边形的边数，使这三个点恰好在</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">这个正多边形上面。其实这个三角形和这个正多边形是共外接圆，由外接圆的圆心出发，三角形的三</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">条边可以把圆分成三份，每份圆弧所对应的圆心角分别为arg[0],arg[1]和arg[2]，正多边形把圆弧</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">分成相等的n份，每份对应的圆心角为2*pi/n。其实三角形的三个角就分别占用了若干等份正多边形</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">所划分的圆弧，最后也就只要求arg[0],arg[1],arg[2]和2*pi的最大公约数(gcd)即可。但是这里是</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">个角度都是浮点数，所以还定义一个浮点数的gcd，计算浮点数的gcd可以利用math.h的函数fmod</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">(x,y)表示x%y。例如3.5%0.3=0.2，x%y的结果为不超过y的一个浮点数。下面写了一个fmod(x,y)自己</p>
<p style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">的实现。<br>double fmod(double x, double y)<br>{<br>&nbsp;return x-floor(x/y)*y;<br>}<br>有了fmod函数以后，就可以用它来求gcd了！<br>double fgcd(double a, double b)<br>{<br>&nbsp;double t;<br>&nbsp;if(dblcmp(a-b) == 1)&nbsp; //a&gt;b<br>&nbsp;{<br>&nbsp;&nbsp;t=a;<br>&nbsp;&nbsp;a=b;<br>&nbsp;&nbsp;b=t;<br>&nbsp;}<br>&nbsp;if(dblcmp(a) == 0) return b;<br>&nbsp;return fgcd(fmod(b,a),a);<br>}<br></p><img src ="http://www.cppblog.com/linyangfei/aggbug/54874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-06-28 15:18 <a href="http://www.cppblog.com/linyangfei/archive/2008/06/28/54874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Written to alpcs in Normal</title><link>http://www.cppblog.com/linyangfei/archive/2008/06/18/53935.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Wed, 18 Jun 2008 14:50:00 GMT</pubDate><guid>http://www.cppblog.com/linyangfei/archive/2008/06/18/53935.html</guid><wfw:comment>http://www.cppblog.com/linyangfei/comments/53935.html</wfw:comment><comments>http://www.cppblog.com/linyangfei/archive/2008/06/18/53935.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/linyangfei/comments/commentRss/53935.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/linyangfei/services/trackbacks/53935.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>&nbsp;&nbsp;&nbsp;<span style="FONT-SIZE: 18pt; FONT-FAMILY: Comic Sans MS">Last night alpc40 received a message and he told me sadly that two alpcs are eliminated from <st1:city w:st="on"><st1:place w:st="on">Normal</st1:place></st1:city>, and he wasn&#8217;t willing to face up to the cruel reality. Actually the competition in alpcs also in&nbsp;ICPC<a title=alpc60-ACM/ICPC程序设计博客 href="http://www.cppblog.com/linyangfei/"> </a>is so fierce that every ACMers must do their best to improve themselves and to fight in every contest. Although it is so hard, I think that is why this contest attracts so many excellent programmers to join in the contest. I am sorry to hear that someone of you will lose your chances after these contests, but I want to remind you that every one no matter in Seed or <st1:place w:st="on"><st1:city w:st="on">Normal</st1:city></st1:place> makes great effort. And you must realize that you are not as powerful as that Big Cows now. Someone who loses your chance does not mean that you lose all your chances in&nbsp;<a title=alpc60-ACM/ICPC程序设计博客 href="http://www.cppblog.com/linyangfei/">ICPC </a>. If you really love it and want to do it, I think you mustn&#8217;t give it up. Because most of you are Sophomore or even freshmen, you still have many chances if and only if you work harder and learn more. ICPC is open to every body, and hope all of you will enjoy this game.</span></span></p><img src ="http://www.cppblog.com/linyangfei/aggbug/53935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/linyangfei/" target="_blank">飞飞</a> 2008-06-18 22:50 <a href="http://www.cppblog.com/linyangfei/archive/2008/06/18/53935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>