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

<channel>
	<title>Greenmoon55's Blog</title>
	<atom:link href="http://greenmoon55.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://greenmoon55.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 14 Feb 2012 13:42:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HDU3687 National Day Parade</title>
		<link>http://greenmoon55.com/hdu3687-national-day-parade/</link>
		<comments>http://greenmoon55.com/hdu3687-national-day-parade/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 13:41:59 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=339</guid>
		<description><![CDATA[国庆游行，学生们本来排成n*n的队形，休息时他们仅左右移动，现在求在什么位置恢复n*n队形，使所有学生当前位置到目标位置的距离的和最短。 n]]></description>
			<content:encoded><![CDATA[<p>国庆游行，学生们本来排成n*n的队形，休息时他们仅左右移动，现在求在什么位置恢复n*n队形，使所有学生当前位置到目标位置的距离的和最短。<br />
n<=56,m<=200，左上角为(1, 1)，右下角为(n, m)，每位学生的位置 1<=Xi<=n,1<= Yi<=m</p>
<p>最开始以为是平均数，后来发现就是枚举目标位置。<br />
每行一个vector，存该行点的y坐标。读入后排序，然后枚举队伍最左边的那一列。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;vector&gt;</span>
<span style="color: #339900;">#include &lt;algorithm&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MAX <span style="color: #000080;">=</span> <span style="color: #0000dd;">2147483647</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> n, m<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> a, b<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> count<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">true</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> n <span style="color: #000080;">&gt;&gt;</span> m<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>n <span style="color: #000040;">&amp;&amp;</span> <span style="color: #000040;">!</span>m<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        vector<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> line<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">60</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        count <span style="color: #000080;">=</span> n <span style="color: #000040;">*</span> n<span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>count<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> a <span style="color: #000080;">&gt;&gt;</span> b<span style="color: #008080;">;</span>
            line<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>b<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> sort<span style="color: #008000;">&#40;</span>line<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, line<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #0000ff;">int</span> sum, ans <span style="color: #000080;">=</span> MAX<span style="color: #008080;">;</span>
        <span style="color: #666666;">//起始位置</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> m <span style="color: #000040;">-</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            sum <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
            <span style="color: #666666;">//行</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span> j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #666666;">//列</span>
                <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> k <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                sum <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">abs</span><span style="color: #008000;">&#40;</span>line<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> i <span style="color: #000040;">-</span> k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//-(i+k)</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>sum <span style="color: #000080;">&lt;</span> ans<span style="color: #008000;">&#41;</span> ans <span style="color: #000080;">=</span> sum<span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> ans <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/hdu3687-national-day-parade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HDU3682 To Be an Dream Architect</title>
		<link>http://greenmoon55.com/hdu3682-to-be-an-dream-architect/</link>
		<comments>http://greenmoon55.com/hdu3682-to-be-an-dream-architect/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 13:30:04 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=338</guid>
		<description><![CDATA[题意：一个 n x n x n 的立方体，每次消除一行（平行于坐标轴），共消除 m 次，求共消除了多少 1 * 1 * 1 的小块。(1]]></description>
			<content:encoded><![CDATA[<p>题意：一个 n x n x n 的立方体，每次消除一行（平行于坐标轴），共消除 m 次，求共消除了多少 1 * 1 * 1 的小块。(1 <= n <= 1000, 0 <= m <= 1000)</p>
<p>第一想法是三维布尔数组数组存状态，然后模拟。不会超时但会MLE。<br />
北大的题解里说了两种方法，第一种是考虑线段的交点，然后用容斥原理，我还没想具体怎么写。第二种是一层一层考虑，把垂直于某层的线和在这个面上的线分开考虑，比较好理解。</p>
<p>经过搜索，搜到了这两个题解：<br />
<a href="http://blog.csdn.net/liuwei_nefu/article/details/6009644">http://blog.csdn.net/liuwei_nefu/article/details/6009644</a><br />
<a href="http://www.cnblogs.com/FreeAquar/archive/2011/09/15/2178029.html">http://www.cnblogs.com/FreeAquar/archive/2011/09/15/2178029.html</a></p>
<p>做法就是把点坐标映射为int，比如x * 1000000 + y * 1000 + z。然后把所有直线上的点丢到一个vector里，排序后再用<a href="http://www.cplusplus.com/reference/algorithm/unique/">unique</a>函数，然后<a href="http://www.cplusplus.com/reference/stl/vector/erase/">删去</a>不需要的部分，求出vector的大小，这就是真正删掉的点。用set做会超时，而且内存占用很多。。<br />
这几个函数只是知道名字，用法一点都不熟悉。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;vector&gt;</span>
<span style="color: #339900;">#include &lt;algorithm&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">bool</span> illegal<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #000040;">!</span><span style="color: #008000;">&#40;</span>x <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">1000</span> <span style="color: #000040;">&amp;&amp;</span> x <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">int</span> getint<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>x, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>y, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>z<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//cout&lt;&lt;x * 1000000 + y * 1000 + z&lt;&lt;endl;</span>
    <span style="color: #0000ff;">return</span> x <span style="color: #000040;">*</span> <span style="color: #0000dd;">1000000</span> <span style="color: #000040;">+</span> y <span style="color: #000040;">*</span> <span style="color: #0000dd;">1000</span> <span style="color: #000040;">+</span> z<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> t, m, n<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> ch1, ch2<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> a, b<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> t<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>t<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        vector<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> myvector<span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> n <span style="color: #000080;">&gt;&gt;</span> m<span style="color: #008080;">;</span>
        <span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>m<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c=%d,%c=%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #000040;">&amp;</span>ch1, <span style="color: #000040;">&amp;</span>a, <span style="color: #000040;">&amp;</span>ch2, <span style="color: #000040;">&amp;</span>b<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>illegal<span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> illegal<span style="color: #008000;">&#40;</span>b<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
            a<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
            b<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch1 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'X'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch2 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'Y'</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>a, b, i<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">else</span> <span style="color: #666666;">//X=a,Z=b</span>
                <span style="color: #008000;">&#123;</span>
&nbsp;
                    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>a, i, b<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch1 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'Y'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch2 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'X'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>b, a, i<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">else</span> <span style="color: #666666;">//Y=a,Z=b</span>
                <span style="color: #008000;">&#123;</span>
&nbsp;
                    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>i, a, b<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch1 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'Z'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch2 <span style="color: #000080;">==</span> <span style="color: #FF0000;">'X'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>b, i, a<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">else</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        myvector.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span>getint<span style="color: #008000;">&#40;</span>i, b, a<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        sort<span style="color: #008000;">&#40;</span>myvector.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, myvector.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        myvector.<span style="color: #007788;">erase</span><span style="color: #008000;">&#40;</span>unique<span style="color: #008000;">&#40;</span>myvector.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, myvector.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>, myvector.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> myvector.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/hdu3682-to-be-an-dream-architect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HDU4119 Isabella&#8217;s Message</title>
		<link>http://greenmoon55.com/hdu4119-isabellas-message/</link>
		<comments>http://greenmoon55.com/hdu4119-isabellas-message/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 04:46:47 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=336</guid>
		<description><![CDATA[给定密文和密文中可能出现的单词，按题意输出原文。 &#160; #include &#60;iostream&#62; #include &#60;cstdio&#62; #include &#60;cstring&#62; &#160; using namespace std; &#160; int n; char map&#91;55&#93;&#91;55&#93;,temp&#91;55&#93;&#91;55&#93;,newmap&#91;55&#93;&#91;55&#93;,mask&#91;55&#93;&#91;55&#93;; char word&#91;5&#93;&#91;2555&#93;; char list&#91;105&#93;&#91;25&#93;; char s&#91;5&#93;&#91;10100&#93;; int ans&#91;5&#93;&#91;10100&#93;; &#160; void rotate&#40;&#41; &#123; for &#40;int i=1;i&#60;=n;i++&#41; for &#40;int j=1;j&#60;=n;j++&#41; newmap&#91;j&#93;&#91;n-i+1&#93;=temp&#91;i&#93;&#91;j&#93;; &#125; void getword&#40;int num&#41; &#8230; <a href="http://greenmoon55.com/hdu4119-isabellas-message/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>给定密文和密文中可能出现的单词，按题意输出原文。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">&nbsp;
<span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cstring&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> map<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span>,temp<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span>,newmap<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span>,mask<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> word<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2555</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> list<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">105</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">25</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> ans<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> rotate<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    newmap<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>temp<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> getword<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> num<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> pos<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newmap<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'*'</span><span style="color: #008000;">&#41;</span> word<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>pos<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> t<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> wordnum<span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;1009.txt&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span>,<span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>t<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> tcase<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> tcase<span style="color: #000080;">&lt;=</span>t<span style="color: #008080;">;</span>tcase<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>s,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>word,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>word<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>ans,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ans<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>,map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>,mask<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>wordnum<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>wordnum<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>,list<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>temp,mask,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>mask<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>newmap,mask,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>mask<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        getword<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            rotate<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            getword<span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>temp,newmap,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>newmap<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #666666;">//连接四句话</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>,word<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">%</span><span style="color:#800080;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0000ff;">char</span> tempword<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #ff0000; font-style: italic;">/*
        strcpy(s[0],&quot;the..love..you....forever&quot;);
        strcpy(s[1],&quot;love..you..forever&quot;);
        strcpy(s[2],&quot;..love.the.forever&quot;);
        strcpy(s[3],&quot;the.forver..love&quot;);
        */</span>
&nbsp;
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'.'</span> <span style="color: #000040;">&amp;&amp;</span> j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> j<span style="color: #000040;">++</span><span style="color: #008080;">;</span> <span style="color: #666666;">//找到第一个单词...</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
&nbsp;
            <span style="color: #0000ff;">int</span> tpos<span style="color: #008080;">;</span>
            <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>tempword,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>tempword<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                tpos<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #FF0000;">'.'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    tempword<span style="color: #008000;">&#91;</span>tpos<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">bool</span> find <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k<span style="color: #000080;">&lt;</span>wordnum<span style="color: #008080;">;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>tempword,list<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        find <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
                        ans<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span> <span style="color: #666666;">//单词个数</span>
                        ans<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>k<span style="color: #008080;">;</span> <span style="color: #666666;">//第几个单词</span>
                        <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>find<span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    ans<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                    <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
		<span style="color: #666666;">//多余的点</span>
                <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'.'</span><span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">bool</span> find <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">int</span> ar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//存符合条件的方向</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>ar,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ar<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">int</span> arsize<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ans<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                find <span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
                ar<span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>arsize<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Case #%d:&quot;</span>,tcase<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>find<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; FAIL TO DECRYPT<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0000ff;">int</span> nar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">int</span> index <span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">int</span> minnode<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>arsize<span style="color: #000080;">&gt;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            minnode<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> <span style="color: #666666;">//字典序最小的序号</span>
            <span style="color: #666666;">//不停地找出字典序最小的那个...</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>arsize<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>list<span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span>,list<span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span>minnode<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #000080;">&lt;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> minnode<span style="color: #000080;">=</span>j<span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0000ff;">int</span> p<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	    <span style="color: #666666;">//生成新数组（第一个单词是字典序最小的单词，且相同...）</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>arsize<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>list<span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span>,list<span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span>minnode<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>index<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> nar<span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>p<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>ar<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
            arsize<span style="color: #000080;">=</span>p<span style="color: #008080;">;</span>
            <span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>ar,nar,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>nar<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//新数组覆盖旧数组</span>
            index<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; %s&quot;</span>,list<span style="color: #008000;">&#91;</span>ans<span style="color: #008000;">&#91;</span>ar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>模拟题。<br />
以前写的，我是怎么写出这么恶心的代码的&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/hdu4119-isabellas-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HDU4112 Break the Chocolate</title>
		<link>http://greenmoon55.com/hdu4112-break-the-chocolate/</link>
		<comments>http://greenmoon55.com/hdu4112-break-the-chocolate/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 03:27:05 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=333</guid>
		<description><![CDATA[将N*M*K的巧克力分成1*1*1，用刀切可以同时切多块，用手掰每次只能将一块掰成两块。 思路：用刀切显然是log2(m)+log2(n)+log2(k)（每个都取上整），手掰的话，首先n-1次掰成n块，然后m-1次掰成m*n块，最后k-1次掰成m*n*k块，(n-1)+n*(m-1)+m*n*(k-1)，整理得m*n*k-1。后来看到一种想法，每掰一块多一个，所以就是m*n*k-1次。 &#160; #include &#60;iostream&#62; #include &#60;cstdio&#62; #include &#60;cmath&#62; using namespace std; &#160; int ans&#40;int n, int m, int k&#41; &#123; return ceil&#40;log&#40;double&#40;n&#41;&#41;/log&#40;2.0&#41;&#41; + ceil&#40;log&#40;double&#40;m&#41;&#41;/log&#40;2.0&#41;&#41; + ceil&#40;log&#40;double&#40;k&#41;&#41;/log&#40;2.0&#41;&#41;; &#125; int main&#40;&#41; &#123; int t; int n, m, k; cin &#62;&#62; t; &#8230; <a href="http://greenmoon55.com/hdu4112-break-the-chocolate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>将N*M*K的巧克力分成1*1*1，用刀切可以同时切多块，用手掰每次只能将一块掰成两块。</p>
<p>思路：用刀切显然是log2(m)+log2(n)+log2(k)（每个都取上整），手掰的话，首先n-1次掰成n块，然后m-1次掰成m*n块，最后k-1次掰成m*n*k块，(n-1)+n*(m-1)+m*n*(k-1)，整理得m*n*k-1。后来看到一种想法，每掰一块多一个，所以就是m*n*k-1次。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">&nbsp;
<span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cmath&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> ans<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n, <span style="color: #0000ff;">int</span> m, <span style="color: #0000ff;">int</span> k<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">ceil</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#40;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">/</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color:#800080;">2.0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">ceil</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#40;</span>m<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">/</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color:#800080;">2.0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">ceil</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">/</span><span style="color: #0000dd;">log</span><span style="color: #008000;">&#40;</span><span style="color:#800080;">2.0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> t<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n, m, k<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> t<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> t<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> n <span style="color: #000080;">&gt;&gt;</span> m <span style="color: #000080;">&gt;&gt;</span> k<span style="color: #008080;">;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Case #%d: %lld %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, i, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span> <span style="color: #0000ff;">long</span><span style="color: #008000;">&#41;</span>n <span style="color: #000040;">*</span> m <span style="color: #000040;">*</span> k <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span>, ans<span style="color: #008000;">&#40;</span>n, m, k<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>写的时候把t和k弄混过&#8230;&#8230;<br />
还要注意用long long。</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/hdu4112-break-the-chocolate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HDU4121 Xiangqi</title>
		<link>http://greenmoon55.com/hdu4121-xiangqi/</link>
		<comments>http://greenmoon55.com/hdu4121-xiangqi/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 01:52:27 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=332</guid>
		<description><![CDATA[只有四种棋子：将、车、马、炮，黑方只有一个将，现在被红方将，红方有2至7个棋子，判断黑方是否被将死。 考虑黑将的四个行动方向，判断每个位置是否被将死即可。 将：判断两个将之间是否有棋子 车：同上 马：八个方向，容易出错，详见代码 炮：将与炮之间是否只有一个棋子 //不考虑黑方飞将也能过，不知道到底该不该考虑。。 #include &#60;iostream&#62; #include &#60;cstdio&#62; #include &#60;cstring&#62; #include &#60;algorithm&#62; using namespace std; struct point &#123; int x,y; &#125;g&#91;10&#93;, r&#91;10&#93;, h&#91;10&#93;, c&#91;10&#93;; //bg:black general int gcount, rcount, hcount, ccount; const int dx&#91;&#93; = &#123;-1, 0, &#8230; <a href="http://greenmoon55.com/hdu4121-xiangqi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>只有四种棋子：将、车、马、炮，黑方只有一个将，现在被红方将，红方有2至7个棋子，判断黑方是否被将死。</p>
<p>考虑黑将的四个行动方向，判断每个位置是否被将死即可。</p>
<p>将：判断两个将之间是否有棋子<br />
车：同上<br />
马：八个方向，容易出错，详见代码<br />
炮：将与炮之间是否只有一个棋子</p>
<p>//不考虑黑方飞将也能过，不知道到底该不该考虑。。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;cstdio&gt;</span>
<span style="color: #339900;">#include &lt;cstring&gt;</span>
<span style="color: #339900;">#include &lt;algorithm&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> point
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> x,y<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>g<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, r<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, h<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, c<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//bg:black general</span>
<span style="color: #0000ff;">int</span> gcount, rcount, hcount, ccount<span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> dx<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> dy<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> hx<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">2</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">2</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">1</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> hy<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">1</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">1</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">2</span>, <span style="color: #000040;">-</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">bool</span> map<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//红旗子</span>
&nbsp;
<span style="color: #666666;">//将是否在范围内</span>
<span style="color: #0000ff;">bool</span> isValid<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> x, <span style="color: #0000ff;">int</span> y<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> y <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">4</span> <span style="color: #000040;">&amp;&amp;</span> y <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">6</span> <span style="color: #000040;">&amp;&amp;</span> x <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">&amp;&amp;</span> x <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//[a,y]到[b,y]的棋子个数（不含端点）</span>
<span style="color: #0000ff;">int</span> betweenX<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> y, <span style="color: #0000ff;">int</span> a, <span style="color: #0000ff;">int</span> b<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> sum <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a <span style="color: #000080;">&lt;</span> b<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> a <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> b<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>y<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> sum<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> b <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> a<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>y<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> sum<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> sum<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//[x,a]到[x,b]的棋子个数（不含端点）</span>
<span style="color: #0000ff;">int</span> betweenY<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> x, <span style="color: #0000ff;">int</span> a, <span style="color: #0000ff;">int</span> b<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> sum <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a <span style="color: #000080;">&lt;</span> b<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> a <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> b<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> sum<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> b <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> a<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> sum<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> sum<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//将的新位置newbg是否会被红方飞将</span>
<span style="color: #0000ff;">bool</span> isSafeGeneral<span style="color: #008000;">&#40;</span>point <span style="color: #0000ff;">const</span> <span style="color: #000040;">&amp;</span>newbg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//其实只有一个嘛</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> gcount<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">==</span> g<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>betweenX<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span>, newbg.<span style="color: #007788;">x</span>, g<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//是否会被车吃（中间没有其他棋子）</span>
<span style="color: #0000ff;">bool</span> isSafeChariot<span style="color: #008000;">&#40;</span>point <span style="color: #0000ff;">const</span> <span style="color: #000040;">&amp;</span>newbg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> rcount<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span> <span style="color: #000080;">==</span> r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000040;">&amp;&amp;</span> newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">==</span> r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span> <span style="color: #666666;">//这就是吃掉了</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span> <span style="color: #000080;">==</span> r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>betweenY<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span>, newbg.<span style="color: #007788;">y</span>, r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">==</span> r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>betweenX<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span>, newbg.<span style="color: #007788;">x</span>, r<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//是否会被炮打（中间棋子为1）</span>
<span style="color: #0000ff;">bool</span> isSafeCannon<span style="color: #008000;">&#40;</span>point <span style="color: #0000ff;">const</span> <span style="color: #000040;">&amp;</span>newbg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> ccount<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span> <span style="color: #000080;">==</span> c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000040;">&amp;&amp;</span> newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">==</span> c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span> <span style="color: #666666;">//这就是吃掉了</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span> <span style="color: #000080;">==</span> c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>betweenY<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span>, newbg.<span style="color: #007788;">y</span>, c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">==</span> c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>betweenX<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">y</span>, newbg.<span style="color: #007788;">x</span>, c<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> isSafeHorse<span style="color: #008000;">&#40;</span>point <span style="color: #0000ff;">const</span> <span style="color: #000040;">&amp;</span>newbg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> newx, newy<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> hcount<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">;</span> j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            newx <span style="color: #000080;">=</span> h<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000040;">+</span> dx<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            newy <span style="color: #000080;">=</span> h<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000040;">+</span> dy<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#91;</span>newx<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>newy<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span> <span style="color: #666666;">//别马腿</span>
            newx <span style="color: #000080;">=</span> h<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000040;">+</span> hx<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            newy <span style="color: #000080;">=</span> h<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000040;">+</span> hy<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newx <span style="color: #000080;">==</span> newbg.<span style="color: #007788;">x</span> <span style="color: #000040;">&amp;&amp;</span> newy <span style="color: #000080;">==</span> newbg.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//如果不被将，返回真</span>
<span style="color: #0000ff;">bool</span> check<span style="color: #008000;">&#40;</span>point <span style="color: #0000ff;">const</span> <span style="color: #000040;">&amp;</span>newbg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> isSafeGeneral<span style="color: #008000;">&#40;</span>newbg<span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> isSafeCannon<span style="color: #008000;">&#40;</span>newbg<span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> isSafeHorse<span style="color: #008000;">&#40;</span>newbg<span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> isSafeChariot<span style="color: #008000;">&#40;</span>newbg<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> ch<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> a, b<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">true</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        point bg, newbg<span style="color: #008080;">;</span> <span style="color: #666666;">//bg:black general</span>
        gcount <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, rcount <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, hcount <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, ccount <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>map, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>map<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">bool</span> checkmate <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> n <span style="color: #000080;">&gt;&gt;</span> bg.<span style="color: #007788;">x</span> <span style="color: #000080;">&gt;&gt;</span> bg.<span style="color: #007788;">y</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>n<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> ch <span style="color: #000080;">&gt;&gt;</span> a <span style="color: #000080;">&gt;&gt;</span> b<span style="color: #008080;">;</span>
            map<span style="color: #008000;">&#91;</span>a<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>b<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'G'</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                g<span style="color: #008000;">&#91;</span>gcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
                g<span style="color: #008000;">&#91;</span>gcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000080;">=</span> b<span style="color: #008080;">;</span>
                gcount<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'R'</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                r<span style="color: #008000;">&#91;</span>rcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
                r<span style="color: #008000;">&#91;</span>rcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000080;">=</span> b<span style="color: #008080;">;</span>
                rcount<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'H'</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                h<span style="color: #008000;">&#91;</span>hcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
                h<span style="color: #008000;">&#91;</span>hcount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000080;">=</span> b<span style="color: #008080;">;</span>
                hcount<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'C'</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                c<span style="color: #008000;">&#91;</span>ccount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">x</span> <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
                c<span style="color: #008000;">&#91;</span>ccount<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span> <span style="color: #000080;">=</span> b<span style="color: #008080;">;</span>
                ccount<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #666666;">//不考虑飞将也能过</span>
        <span style="color: #ff0000; font-style: italic;">/*
        if (!isSafeGeneral(bg))
        {
            puts(&quot;NO&quot;);
            continue;
        }
        */</span>
        <span style="color: #666666;">//将的四个方向</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            newbg.<span style="color: #007788;">x</span> <span style="color: #000080;">=</span> bg.<span style="color: #007788;">x</span> <span style="color: #000040;">+</span> dx<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            newbg.<span style="color: #007788;">y</span> <span style="color: #000080;">=</span> bg.<span style="color: #007788;">y</span> <span style="color: #000040;">+</span> dy<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>isValid<span style="color: #008000;">&#40;</span>newbg.<span style="color: #007788;">x</span>, newbg.<span style="color: #007788;">y</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>check<span style="color: #008000;">&#40;</span>newbg<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                checkmate <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>checkmate<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;YES&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;NO&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>敲代码的时候曾经把g、r、h、c数组弄混过。。以后这种题还是用拼音算了。<br />
测了样例和马的情况就交了。<br />
第一次WA错在puts里面写了\n&#8230;<br />
又测了几个数据都正常，然后看了一遍代码，还是没发现错误。<br />
试了黑棋直接飞将，还是WA，看别人题解突然想到我还考虑将走斜线的情况了。。<br />
最后，似乎是否考虑黑棋直接飞将都可以。</p>
<p>这题我没着急慢慢写的，如果现场的话至少两小时吧，很有可能有个小错找不出来，不确定到底能不能写好。<br />
还是边写边想，还好没犯大错误，betweenX等是写了很多之后才想到单独写个函数的。。</p>
<p>只有两周了，时间好紧张= =</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/hdu4121-xiangqi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2012新年快乐</title>
		<link>http://greenmoon55.com/2012-happy-new-year/</link>
		<comments>http://greenmoon55.com/2012-happy-new-year/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 15:54:51 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=326</guid>
		<description><![CDATA[新年快乐～ 2011这一年，收获很多。学到了很多东西、转了专业、去了两次ACM现场赛打酱油等等等等 每天都过得很充实。晚上写日记回顾一天的时候常常感觉早上的事是很久以前发生的。现在差不多在OhLife上记了365篇日记了～ 希望明年每天都开开心心的，假期好好玩、好好学。参加更多的活动，让生活更精彩～ 期末考加油，另外希望明天买到火车票。]]></description>
			<content:encoded><![CDATA[<p>新年快乐～</p>
<p>2011这一年，收获很多。学到了很多东西、转了专业、去了两次ACM现场赛打酱油等等等等</p>
<p>每天都过得很充实。晚上写日记回顾一天的时候常常感觉早上的事是很久以前发生的。现在差不多在OhLife上记了365篇日记了～</p>
<p>希望明年每天都开开心心的，假期好好玩、好好学。参加更多的活动，让生活更精彩～</p>
<p>期末考加油，另外希望明天买到火车票。</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/2012-happy-new-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用字符数组存int</title>
		<link>http://greenmoon55.com/store-an-int-in-a-char-array/</link>
		<comments>http://greenmoon55.com/store-an-int-in-a-char-array/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 13:40:08 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=324</guid>
		<description><![CDATA[EUYUIL告诉我可以用字符数组存int。挺好玩。 unsigned char test&#91;100&#93;; memset&#40;test, 0, sizeof&#40;test&#41;&#41;; int a = 2147483647; int *p = &#40;int*&#41;&#38;test; *p = a; int b = *p; cout &#60;&#60; b &#60;&#60; endl; 此时test数组为{255, 255, 255, 127, 0&#8230;} 当然，如果a是1的话，test就是{1, 0, 0, 0, 0&#8230;} 这是VS2010编译的结果。。不知道其他编译器其他平台结果怎么样。。 刚刚在stackoverflow搜到这个问题，以后有空再看看吧。 总感觉我C++好弱，指针几乎没用过= &#8230; <a href="http://greenmoon55.com/store-an-int-in-a-char-array/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://euyuil.com" title="EUYUIL">EUYUIL</a>告诉我可以用字符数组存int。挺好玩。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> test<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>test, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>test<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> a <span style="color: #000080;">=</span> <span style="color: #0000dd;">2147483647</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>p <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>test<span style="color: #008080;">;</span>
<span style="color: #000040;">*</span>p <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> b <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> b <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span></pre></div></div>

<p>此时test数组为{255, 255, 255, <strong>127</strong>, 0&#8230;}<br />
当然，如果a是1的话，test就是{1, 0, 0, 0, 0&#8230;}<br />
这是VS2010编译的结果。。不知道其他编译器其他平台结果怎么样。。</p>
<p>刚刚在stackoverflow搜到<a href="http://stackoverflow.com/questions/1522994/store-an-int-in-a-char-array" title="Store an int in a char array?">这个问题</a>，以后有空再看看吧。</p>
<p>总感觉我C++好弱，指针几乎没用过= =</p>
<p>Update @ 2011/12/13 23:39<br />
如果放入TCHAR里，就是{65535, 32767, &#8230;}。</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/store-an-int-in-a-char-array/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>20111101</title>
		<link>http://greenmoon55.com/20111101/</link>
		<comments>http://greenmoon55.com/20111101/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 15:43:45 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=323</guid>
		<description><![CDATA[这么就十一月了，这学期过得好快啊。 转到软院也没什么特别的感觉。。本来以为这学期会比较轻松比较爽，只是英语交流有点烦人，不过极少数情况下背课文会背到很开心。。特别是在机房&#8230; PS：换了新键盘打字爽多了！ 写着到这里都忘了想说啥&#8230;囧 感觉现在还是在铜牌和铁牌的边缘= = 概率课又是听不进去&#8230;还不如不去呢..期中考怎么办。 OS期中项目挑了个简单的写，自学GUI神马的，写完之后一点成就感都没有，就是一种码农的感觉&#8230; Win程还没开始写，得到deadline再说吧= = 到时候得疯狂一阵，看起来比Java难写多了。 周四英语期中演讲说点啥呢，周四翻了半天Read it later的收藏（顺便整理一下）也没想好，本来想说C语言之父什么的，想想还是算了吧，还是说火车迷吧。 老妈刚才问我看没看F1，才想到都好久没看直播了。火星车还是这么猛= = 大一还加了个F1车迷协会，曾经想过买个方向盘玩F1呢。 福州完了之后好好学英语、好好学数学、好好敲代码。。以后TopCoder之类的比赛多写写吧&#8230; 一会把北京A题敲了吧&#8230; 数据结构有两节课没听了吧&#8230;明天上课的时候看看以前讲的PPT吧。 PS：不喜欢GR和Gmail的新版！字怎么这么大]]></description>
			<content:encoded><![CDATA[<p>这么就十一月了，这学期过得好快啊。</p>
<p>转到软院也没什么特别的感觉。。本来以为这学期会比较轻松比较爽，只是英语交流有点烦人，不过极少数情况下背课文会背到很开心。。特别是在机房&#8230;<br />
PS：换了新键盘打字爽多了！</p>
<p>写着到这里都忘了想说啥&#8230;囧</p>
<p>感觉现在还是在铜牌和铁牌的边缘= =</p>
<p>概率课又是听不进去&#8230;还不如不去呢..期中考怎么办。<br />
OS期中项目挑了个简单的写，自学GUI神马的，写完之后一点成就感都没有，就是一种码农的感觉&#8230;<br />
Win程还没开始写，得到deadline再说吧= = 到时候得疯狂一阵，看起来比Java难写多了。<br />
周四英语期中演讲说点啥呢，周四翻了半天Read it later的收藏（顺便整理一下）也没想好，本来想说C语言之父什么的，想想还是算了吧，还是说火车迷吧。</p>
<p>老妈刚才问我看没看F1，才想到都好久没看直播了。火星车还是这么猛= = 大一还加了个F1车迷协会，曾经想过买个方向盘玩F1呢。</p>
<p>福州完了之后好好学英语、好好学数学、好好敲代码。。以后TopCoder之类的比赛多写写吧&#8230;</p>
<p>一会把北京A题敲了吧&#8230;</p>
<p>数据结构有两节课没听了吧&#8230;明天上课的时候看看以前讲的PPT吧。</p>
<p>PS：不喜欢GR和Gmail的新版！字怎么这么大</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/20111101/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ICPC 2011</title>
		<link>http://greenmoon55.com/icpc-2011/</link>
		<comments>http://greenmoon55.com/icpc-2011/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 14:24:24 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=318</guid>
		<description><![CDATA[随便写个标题吧。。算不算标题党？ 整理一下最近写的题目。 大连网络赛： To Miss Our Children Time 背包问题，排个序就行了，题目描述不清。。 Find Metal Mineral 树形动归，f[x][j]表示以x为根的树，前i个子树放j个机器人不回来的最小值，DFS的感觉。f[x][0]表示放一个再出来。做的第一个树形动归，参照别人的代码，很巧妙的写法嘛。刚才看题目忘了具体怎么写了= = void work&#40;int x,int prev&#41; &#123; for &#40;int i=head&#91;x&#93;;i!=-1;i=edge&#91;i&#93;.next&#41; &#123; if &#40;edge&#91;i&#93;.y==prev&#41; continue; work&#40;edge&#91;i&#93;.y,x&#41;; for &#40;int j=k;j&#62;=0;j--&#41; &#123; f&#91;x&#93;&#91;j&#93;+=f&#91;edge&#91;i&#93;.y&#93;&#91;0&#93;+edge&#91;i&#93;.w*2; for &#40;int l=0;l&#60;j;l++&#41; f&#91;x&#93;&#91;j&#93;=min&#40;f&#91;x&#93;&#91;j&#93;,f&#91;x&#93;&#91;l&#93;+edge&#91;i&#93;.w*&#40;j-l&#41;+f&#91;edge&#91;i&#93;.y&#93;&#91;j-l&#93;&#41;; &#125; &#125; &#125; PS：原来这个叫做分组背包= &#8230; <a href="http://greenmoon55.com/icpc-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>随便写个标题吧。。算不算标题党？ 整理一下最近写的题目。</p>
<p><strong>大连网络赛</strong>：<br />
<strong>To Miss Our Children Time</strong><br />
背包问题，排个序就行了，题目描述不清。。</p>
<p><strong>Find Metal Mineral</strong><br />
树形动归，f[x][j]表示以x为根的树，前i个子树放j个机器人不回来的最小值，DFS的感觉。f[x][0]表示放一个再出来。做的第一个树形动归，参照别人的代码，很巧妙的写法嘛。刚才看题目忘了具体怎么写了= =</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> work<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> x,<span style="color: #0000ff;">int</span> prev<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>head<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>i<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">=</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">next</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #000080;">==</span>prev<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
        work<span style="color: #008000;">&#40;</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span>,x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span>k<span style="color: #008080;">;</span>j<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            f<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">w</span><span style="color: #000040;">*</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> l<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>l<span style="color: #000080;">&lt;</span>j<span style="color: #008080;">;</span>l<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            f<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>min<span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>,f<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>l<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">w</span><span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>j<span style="color: #000040;">-</span>l<span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>edge<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">y</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span>l<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>PS：原来这个叫做分组背包= =</p>
<p><strong>The Frog&#8217;s Games</strong><br />
比赛的时候以为是DP，结果就是个二分&#8230;</p>
<p><strong>The kth great number</strong><br />
最简单的办法就是弄一个最小堆，堆顶就是答案，priority_queue用起来很爽。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">priority_queue <span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span>, vector<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span>, greater<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> <span style="color: #000080;">&gt;</span> heap<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>heap.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #000080;">&lt;</span>k<span style="color: #008000;">&#41;</span> heap.<span style="color: #007788;">push</span><span style="color: #008000;">&#40;</span>temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>temp<span style="color: #000080;">&gt;</span>heap.<span style="color: #007788;">top</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        heap.<span style="color: #007788;">pop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        heap.<span style="color: #007788;">push</span><span style="color: #008000;">&#40;</span>temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span></pre></div></div>

<p>还可以写个treap..treap的删除还不会写= =</p>
<p><strong>Dave</strong><br />
注意正方形的顶点不一定是题中的点。<br />
把点分别按x和y排序，四条线扫描，写得比较乱= =</p>
<p><strong>The 36th ACM/ICPC Asia Regional Shanghai Site —— Warmup</strong><br />
Working in Beijing<br />
Parsing URL<br />
两道水题，第一题题目说明不清楚= = 做做调节心情</p>
<p><strong>上海网络赛</strong><br />
<strong>24 Puzzle</strong><br />
如果空位在角上则挪到中间的正方形里，然后比较8个角是否相同，相同才有可能有解。对于4*4，左右交换不改变逆序对，上下交换时逆序数的奇偶性改变一次(0-3,3-0,1-2,2-1)。<br />
<a href="http://zhyu.me/acm/hdu-4021.html">http://zhyu.me/acm/hdu-4021.html</a><br />
觉得这个证明不完备，没想好怎么证。</p>
<p><strong>Bombing</strong><br />
multiset真的很爽&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">typedef</span> map<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span>, multiset<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> <span style="color: #000080;">&gt;</span> dict<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> work<span style="color: #008000;">&#40;</span>dict <span style="color: #000040;">&amp;</span>a, dict <span style="color: #000040;">&amp;</span>b, <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>x<span style="color: #008000;">&#41;</span>  <span style="color: #666666;">//delete a(x) from b</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,a<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>multiset<span style="color: #000080;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> iter<span style="color: #000080;">=</span>a<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>iter<span style="color: #000040;">!</span><span style="color: #000080;">=</span>a<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>iter<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        b<span style="color: #008000;">&#91;</span><span style="color: #000040;">*</span>iter<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">erase</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    a<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> n,m,x,y<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>n,<span style="color: #000040;">&amp;</span>m<span style="color: #008000;">&#41;</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000ff;">EOF</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>n<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> m<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        dict a,b<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>x,<span style="color: #000040;">&amp;</span>y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            a<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span>y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            b<span style="color: #008000;">&#91;</span>y<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>m<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>x,<span style="color: #000040;">&amp;</span>y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>x<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> work<span style="color: #008000;">&#40;</span>a,b,y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">else</span> work<span style="color: #008000;">&#40;</span>b,a,y<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p><strong>Game</strong><br />
比较简单的博弈问题，比赛的时候没静下心来想。<br />
分组讨论，注意一个细节，9、10如果竖着的放好了，对方就不用抢这种了。</p>
<p><strong>成都网络赛</strong><br />
<strong>Graph</strong><br />
给最短边求原图，原来可以这样写</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> work<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">==</span>j <span style="color: #000040;">||</span> i<span style="color: #000080;">==</span>k <span style="color: #000040;">||</span> k<span style="color: #000080;">==</span>j<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>visited<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>map<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>map<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #000040;">++</span>c<span style="color: #008080;">;</span>
            visited<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,n<span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>n<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span>c<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p><strong>Rolling Hongshu</strong><br />
物理题，考虑顶点和所有bitter potato。题目描述挺好玩&#8230;</p>
<p><strong>The Social Network</strong><br />
第一次用map。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">map<span style="color: #000080;">&lt;</span>string,<span style="color: #0000ff;">int</span><span style="color: #000080;">&gt;</span> num<span style="color: #008080;">;</span></pre></div></div>

<p>读入：</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000dd;">cin</span><span style="color: #000080;">&gt;&gt;</span>s1<span style="color: #000080;">&gt;&gt;</span>s2<span style="color: #008080;">;</span>
<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>num.<span style="color: #007788;">count</span><span style="color: #008000;">&#40;</span>s1<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> n1<span style="color: #000080;">=</span>num.<span style="color: #007788;">find</span><span style="color: #008000;">&#40;</span>s1<span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>second<span style="color: #008080;">;</span>
<span style="color: #0000ff;">else</span>
    <span style="color: #008000;">&#123;</span>
        num.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span>make_pair<span style="color: #008000;">&#40;</span>s1, <span style="color: #000040;">++</span>count<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        n1<span style="color: #000080;">=</span>count<span style="color: #008080;">;</span>
        sn<span style="color: #008000;">&#91;</span>n1<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>s1<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>num.<span style="color: #007788;">count</span><span style="color: #008000;">&#40;</span>s2<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> n2<span style="color: #000080;">=</span>num.<span style="color: #007788;">find</span><span style="color: #008000;">&#40;</span>s2<span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>second<span style="color: #008080;">;</span>
<span style="color: #0000ff;">else</span>
    <span style="color: #008000;">&#123;</span>
        num.<span style="color: #007788;">insert</span><span style="color: #008000;">&#40;</span>make_pair<span style="color: #008000;">&#40;</span>s2, <span style="color: #000040;">++</span>count<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        n2<span style="color: #000080;">=</span>count<span style="color: #008080;">;</span>
        sn<span style="color: #008000;">&#91;</span>n2<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>s2<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
f<span style="color: #008000;">&#91;</span>n1<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>f<span style="color: #008000;">&#91;</span>n1<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>n2<span style="color: #008080;">;</span><span style="color: #666666;">//f[n1]存n1的朋友们</span>
f<span style="color: #008000;">&#91;</span>n2<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #000040;">++</span>f<span style="color: #008000;">&#91;</span>n2<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>n1<span style="color: #008080;">;</span></pre></div></div>

<p>接下来就慢慢弄吧&#8230;</p>
<p><strong>北京网络赛</strong><br />
<strong>Eliminate Witches!</strong><br />
模拟，递归处理，WA好几次= =<br />
不过这个是我在今年网络赛时作出的第一道题= =</p>
<p><strong>Panda</strong><br />
树状数组。a[i]表示以i开头的是不是wbw。自己没想到这种方法。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'w'</span> <span style="color: #000040;">&amp;&amp;</span> s<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'b'</span> <span style="color: #000040;">&amp;&amp;</span> s<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'w'</span><span style="color: #008000;">&#41;</span> add<span style="color: #008000;">&#40;</span>i,<span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p><strong>Tourism Planning</strong><br />
第一个状态压缩DP，把某人去不去用二进制表示。<br />
f[15][1030];//f[i][j]前i个景点，第j个状态的最大值<br />
预处理当前状态能由哪些状态得到，如果不预处理HDU可以很快AC，BOJ会TLE= =</p>
<p><strong>wolf5x</strong><br />
概率DP。<br />
比赛时就想对了方法，读题不认真，以为第一步左右概率相同呢。<br />
赛后写好，发现还是看错题了，以为是求停止位置，原来是求步数的期望，可以直接把所有状态的概率加起来！</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> t<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n,a,b<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> ans<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2010</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2010</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> temp1,temp2,temp3<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>t<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>t<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>n,<span style="color: #000040;">&amp;</span>a,<span style="color: #000040;">&amp;</span>b<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        ans<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%lf%lf%lf%lf&quot;</span>,<span style="color: #000040;">&amp;</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">&amp;</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>f,<span style="color: #0000dd;">0</span>,<span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        temp1<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span>a<span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>b<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">&gt;</span>n<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>temp1<span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>temp1<span style="color: #000040;">*</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            temp1<span style="color: #000040;">*</span><span style="color: #000080;">=</span>p<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span>a<span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            temp1<span style="color: #000080;">=</span>temp2<span style="color: #000080;">=</span>temp3<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span>i<span style="color: #000040;">+</span>a<span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>i<span style="color: #000040;">+</span>b<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">&gt;</span>n<span style="color: #008000;">&#41;</span>
                <span style="color: #008000;">&#123;</span>
                    ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp1<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp2<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp3<span style="color: #008080;">;</span>
                    <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0000ff;">else</span>
                <span style="color: #008000;">&#123;</span>
                    f<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp2<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp3<span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//表示以这种状态踩在j</span>
                    f<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp1<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp3<span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                    f<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp1<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp2<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">*</span>temp3<span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                    temp1<span style="color: #000040;">*</span><span style="color: #000080;">=</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">//tempi表示f[prev][i]不能走的概率</span>
                    temp2<span style="color: #000040;">*</span><span style="color: #000080;">=</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                    temp3<span style="color: #000040;">*</span><span style="color: #000080;">=</span>p<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span>
            ans<span style="color: #000040;">+</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%.8lf<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,ans<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p><strong>大连现场赛</strong><br />
<strong>The Last Puzzle</strong><br />
对于任意一段，都是从任意一端开始到中间，因为如果从中间开始，还是要先到两端再到最终节点。想通了这个就很好写了。<br />
f[i][j][k]表示从i到j这一段，k表示从左或从右开始，所需的最短时间。不可能则记为-1。</p>
<p><strong>Hexadecimal View</strong><br />
水题，不知道可以用 %x 输出&#8230;</p>
<p><strong>Number String</strong><br />
f[i][j]存当前所有可能情况，即i=n时只有f[n][1]。表示字符串中第i位是，表中第j个有几种情况。f[i+1]保存的数量比f[i]少一个，因为有一个数字被选走了。</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> ii<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>ii<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>ii<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    i<span style="color: #000080;">=</span>ii<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>str<span style="color: #008000;">&#91;</span>ii<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'I'</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span>MOD<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>str<span style="color: #008000;">&#91;</span>ii<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span><span style="color: #FF0000;">'D'</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span>n<span style="color: #000040;">-</span>i<span style="color: #008080;">;</span>j<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span>MOD<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span style="color: #008000;">&#123;</span>
        sum<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> sum<span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>sum<span style="color: #000040;">+</span>f<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span>MOD<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;=</span>n<span style="color: #000040;">-</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> f<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>sum<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,f<span style="color: #008000;">&#91;</span>n<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p><strong>福州网络赛</strong><br />
<strong>SanguoSHA</strong><br />
当时不爽，写这题写了好久= = 最后写好了觉得会WA，于是没交，回宿舍交了发现过了。<br />
STL里居然有全排列&#8230; <a href="http://www.cplusplus.com/reference/algorithm/next_permutation/">next_permutation</a> 和 <a href="http://www.cplusplus.com/reference/algorithm/prev_permutation/">prev_permutation</a>。</p>
<p>===<br />
仔细想想有些题还是可以做的，并不是不会算法，而是想不到。另外数学太烂了。</p>
<p>大二，作业没大一多了，更加觉得时间不够用。平时训练做题效率很低。还有好多想学的东西呢。</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/icpc-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011暑假做的ACM题目</title>
		<link>http://greenmoon55.com/2011-summer-programming-problems/</link>
		<comments>http://greenmoon55.com/2011-summer-programming-problems/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 17:37:46 +0000</pubDate>
		<dc:creator>Greenmoon55</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ACM]]></category>

		<guid isPermaLink="false">http://greenmoon55.com/?p=314</guid>
		<description><![CDATA[去了北大那个暑期课程&#8230; 对于我来说还是难了点，我觉得还不如自己看PPT= =。早知道能找得到10年的PPT就预习一下了。。 发现不会的好多，慢慢学吧。 部分题目： 8.7 HDU 3836 Equivalent Sets Tarjan强连通分量 8.8 POJ 1273 Drainage Ditches 最简单的网络流 POJ 3436 ACM Computer Factory 把机器拆成两个点求最大流 POJ 2112 Optimal Milking Floyd求最短路，然后二分答案，求最大流判断是否满足 8.9 POJ 1149 PIGS 建图不好想 POJ 2396 Budget 建图也不好想，有流量限制的最大流，用邻接矩阵写得很痛苦= = //终于知道网络流是啥意思了。。感觉还得多做题 TopCoder &#8230; <a href="http://greenmoon55.com/2011-summer-programming-problems/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>去了北大那个暑期课程&#8230; 对于我来说还是难了点，我觉得还不如自己看PPT= =。早知道能找得到10年的PPT就预习一下了。。<br />
发现不会的好多，慢慢学吧。</p>
<p>部分题目：<br />
8.7<br />
HDU <a href="http://acm.hdu.edu.cn/showproblem.php?pid=3836">3836</a> Equivalent Sets Tarjan强连通分量</p>
<p>8.8<br />
POJ <a href="http://poj.org/problem?id=1273">1273</a> Drainage Ditches 最简单的网络流<br />
POJ <a href="http://poj.org/problem?id=3436">3436</a> ACM Computer Factory 把机器拆成两个点求最大流<br />
POJ <a href="http://poj.org/problem?id=2112">2112</a> Optimal Milking Floyd求最短路，然后二分答案，求最大流判断是否满足</p>
<p>8.9<br />
POJ <a href="http://poj.org/problem?id=1149">1149</a> PIGS 建图不好想<br />
POJ <a href="http://poj.org/problem?id=2396">2396</a> Budget 建图也不好想，有流量限制的最大流，用邻接矩阵写得很痛苦= =<br />
//终于知道网络流是啥意思了。。感觉还得多做题<br />
TopCoder SRM513 DIV2 第一题 这也算是我第一道TopCoder题</p>
<p>8.10<br />
POJ <a href="http://poj.org/problem?id=2135">2135</a> Farm Tour 最小费用最大流，用SPFA选最短路增广<br />
POJ <a href="http://poj.org/problem?id=2318">2318</a> TOYS<br />
POJ <a href="http://poj.org/problem?id=2398">2398</a> Toy Storage 这两题是很简单的计算几何，用叉乘判断左右+二分<br />
POJ <a href="http://poj.org/problem?id=1113">1113</a> Wall 做的第一个凸包，自己写的～</p>
<p>8.11<br />
POJ <a href="http://poj.org/problem?id=2349">2349</a> Arctic Network 最小生成树，第一次写Prim&#8230;<br />
TopCoder SRM512和513 DIV2 的前两题</p>
<p>8.12<br />
POJ <a href="http://poj.org/problem?id=1204">1204</a> Word Puzzles Trie树，这东西太神奇了。。真快，（现在对KMP还不是很理解= =）</p>
<p>8.13<br />
POJ <a href="http://poj.org/problem?id=3987">3987</a> Computer Virus on Planet Pandora Trie树<br />
POJ <a href="http://poj.org/problem?id=3691">3691</a> DNA repair 在Trie树上DP，看了答案还想了很久</p>
]]></content:encoded>
			<wfw:commentRss>http://greenmoon55.com/2011-summer-programming-problems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

