﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-半壁江山の圣灵玉-随笔分类-龙神手札（一）</title><link>http://www.cppblog.com/Holy-Jade/category/17419.html</link><description>半壁江山</description><language>zh-cn</language><lastBuildDate>Tue, 09 Aug 2011 21:55:50 GMT</lastBuildDate><pubDate>Tue, 09 Aug 2011 21:55:50 GMT</pubDate><ttl>60</ttl><item><title>POJ1061</title><link>http://www.cppblog.com/Holy-Jade/archive/2011/08/08/152825.html</link><dc:creator>王子野心</dc:creator><author>王子野心</author><pubDate>Mon, 08 Aug 2011 15:43:00 GMT</pubDate><guid>http://www.cppblog.com/Holy-Jade/archive/2011/08/08/152825.html</guid><wfw:comment>http://www.cppblog.com/Holy-Jade/comments/152825.html</wfw:comment><comments>http://www.cppblog.com/Holy-Jade/archive/2011/08/08/152825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Holy-Jade/comments/commentRss/152825.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Holy-Jade/services/trackbacks/152825.html</trackback:ping><description><![CDATA[<div><div>对于给定的x,y,m,n,L;</div><div>当m=n的时候必定无解。</div><div>可以假设m&gt;n;</div><div>那么对于答案a</div><div>有(am-x)-(an-y)=kL</div><div>可以化成a(m-n)+y=kL+x</div><div>也可化成a(m-n)-kL=y-x</div><div>显然，如果(y-x)%gcd(m-n,L)!=0,无解</div><div>令Q=a(m-n)+y=kL+x</div><div>则Q%(m-n)=y</div><div>&nbsp; Q%L=x</div><div>我们可以枚举a，求出Q，判断是否有Q%L=x</div><div>这种方法会TLE</div><div>更好的方法是枚举k，判断Q%(m-n)=y</div><div>需要注意的是，m-n有可能小于y</div></div><img src ="http://www.cppblog.com/Holy-Jade/aggbug/152825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Holy-Jade/" target="_blank">王子野心</a> 2011-08-08 23:43 <a href="http://www.cppblog.com/Holy-Jade/archive/2011/08/08/152825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求网络最大流的Dinic模板，过了几个题，但还不敢保证完全正确</title><link>http://www.cppblog.com/Holy-Jade/archive/2011/07/28/151996.html</link><dc:creator>王子野心</dc:creator><author>王子野心</author><pubDate>Thu, 28 Jul 2011 09:35:00 GMT</pubDate><guid>http://www.cppblog.com/Holy-Jade/archive/2011/07/28/151996.html</guid><wfw:comment>http://www.cppblog.com/Holy-Jade/comments/151996.html</wfw:comment><comments>http://www.cppblog.com/Holy-Jade/archive/2011/07/28/151996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Holy-Jade/comments/commentRss/151996.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Holy-Jade/services/trackbacks/151996.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; font-family: Verdana; ">&nbsp;1</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">#include</span><span style="color: #000000; font-family: Verdana; ">&lt;</span><span style="color: #000000; font-family: Verdana; ">iostream</span><span style="color: #000000; font-family: Verdana; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;2</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">#include</span><span style="color: #000000; font-family: Verdana; ">&lt;</span><span style="color: #000000; font-family: Verdana; ">cstdio</span><span style="color: #000000; font-family: Verdana; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;3</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">#include</span><span style="color: #000000; font-family: Verdana; ">&lt;</span><span style="color: #000000; font-family: Verdana; ">cstring</span><span style="color: #000000; font-family: Verdana; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">#define</span><span style="color: #000000; font-family: Verdana; ">&nbsp;min(x,y)&nbsp;x&lt;y?x:y</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">namespace</span><span style="color: #000000; font-family: Verdana; ">&nbsp;std;<br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;N</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">1100</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;7</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;M</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">11000</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;INF</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">100000000</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;g[N],dis[N],q[N];<br />
</span><span style="color: #008080; font-family: Verdana; ">10</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;en[M],val[M],next[M],rev[M];<br />
</span><span style="color: #008080; font-family: Verdana; ">11</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;n,m,S,T,tot,ans;<br />
</span><span style="color: #008080; font-family: Verdana; ">12</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">13</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;addedge(</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;a,</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;b,</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;c){<br />
</span><span style="color: #008080; font-family: Verdana; ">14</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;tot</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">;en[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">b;val[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">c;next[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[a];g[a]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">tot;<br />
</span><span style="color: #008080; font-family: Verdana; ">15</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;tot</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">;en[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">a;val[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;next[tot]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[b];g[b]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">tot;<br />
</span><span style="color: #008080; font-family: Verdana; ">16</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;rev[g[a]]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[b];<br />
</span><span style="color: #008080; font-family: Verdana; ">17</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;rev[g[b]]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[a];<br />
</span><span style="color: #008080; font-family: Verdana; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-size: 10pt; ">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-size: 10pt; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-size: 10pt; font-family: Verdana; ">0</span><span style="color: #000000; font-size: 10pt; font-family: Verdana; ">;</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">19</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}<br />
</span><span style="color: #008080; font-family: Verdana; ">20</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">21</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;init(){<br />
</span><span style="color: #008080; font-family: Verdana; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;i,a,b,c;<br />
</span><span style="color: #008080; font-family: Verdana; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(scanf(</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">%d%d</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">,</span><span style="color: #000000; font-family: Verdana; ">&amp;</span><span style="color: #000000; font-family: Verdana; ">n,</span><span style="color: #000000; font-family: Verdana; ">&amp;</span><span style="color: #000000; font-family: Verdana; ">m)</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">EOF)<br />
</span><span style="color: #008080; font-family: Verdana; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">25</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;S</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;T</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">n;<br />
</span><span style="color: #008080; font-family: Verdana; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">for</span><span style="color: #000000; font-family: Verdana; ">(i</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;i</span><span style="color: #000000; font-family: Verdana; ">&lt;=</span><span style="color: #000000; font-family: Verdana; ">n;i</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">)<br />
</span><span style="color: #008080; font-family: Verdana; ">27</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g[i]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">for</span><span style="color: #000000; font-family: Verdana; ">(i</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;i</span><span style="color: #000000; font-family: Verdana; ">&lt;=</span><span style="color: #000000; font-family: Verdana; ">m;i</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">){<br />
</span><span style="color: #008080; font-family: Verdana; ">29</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">%d%d%d</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">,</span><span style="color: #000000; font-family: Verdana; ">&amp;</span><span style="color: #000000; font-family: Verdana; ">a,</span><span style="color: #000000; font-family: Verdana; ">&amp;</span><span style="color: #000000; font-family: Verdana; ">b,</span><span style="color: #000000; font-family: Verdana; ">&amp;</span><span style="color: #000000; font-family: Verdana; ">c);<br />
</span><span style="color: #008080; font-family: Verdana; ">30</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addedge(a,b,c);<br />
</span><span style="color: #008080; font-family: Verdana; ">31</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">33</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}<br />
</span><span style="color: #008080; font-family: Verdana; ">34</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">35</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;build(){<br />
</span><span style="color: #008080; font-family: Verdana; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;hp</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">,tp</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">37</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;memset(dis,</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">,</span><span style="color: #0000ff; font-family: Verdana; ">sizeof</span><span style="color: #000000; font-family: Verdana; ">(dis));<br />
</span><span style="color: #008080; font-family: Verdana; ">38</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;q[</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">S;dis[S]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">for</span><span style="color: #000000; font-family: Verdana; ">(hp</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;hp</span><span style="color: #000000; font-family: Verdana; ">&lt;=</span><span style="color: #000000; font-family: Verdana; ">tp;hp</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">){<br />
</span><span style="color: #008080; font-family: Verdana; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;k</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">q[hp];<br />
</span><span style="color: #008080; font-family: Verdana; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">for</span><span style="color: #000000; font-family: Verdana; ">(</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;p</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[k];p;p</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">next[p]){<br />
</span><span style="color: #008080; font-family: Verdana; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(val[p]</span><span style="color: #000000; font-family: Verdana; ">&gt;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">&amp;&amp;</span><span style="color: #000000; font-family: Verdana; ">&nbsp;dis[en[p]]</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">){<br />
</span><span style="color: #008080; font-family: Verdana; ">43</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q[</span><span style="color: #000000; font-family: Verdana; ">++</span><span style="color: #000000; font-family: Verdana; ">tp]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">en[p];<br />
</span><span style="color: #008080; font-family: Verdana; ">44</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dis[q[tp]]</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">dis[k]</span><span style="color: #000000; font-family: Verdana; ">+</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(q[tp]</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">T)</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">46</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">47</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">48</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">50</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}<br />
</span><span style="color: #008080; font-family: Verdana; ">51</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">52</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;find(</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;s,</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;aug){<br />
</span><span style="color: #008080; font-family: Verdana; ">53</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;flow</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">54</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(s</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">T&nbsp;</span><span style="color: #000000; font-family: Verdana; ">||</span><span style="color: #000000; font-family: Verdana; ">&nbsp;aug</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">)&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; font-family: Verdana; ">&nbsp;aug;<br />
</span><span style="color: #008080; font-family: Verdana; ">55</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">for</span><span style="color: #000000; font-family: Verdana; ">(</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;p</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">g[s];p;p</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">next[p]){<br />
</span><span style="color: #008080; font-family: Verdana; ">56</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(val[p]</span><span style="color: #000000; font-family: Verdana; ">&gt;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">&amp;&amp;</span><span style="color: #000000; font-family: Verdana; ">&nbsp;dis[en[p]]</span><span style="color: #000000; font-family: Verdana; ">-</span><span style="color: #000000; font-family: Verdana; ">1</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">dis[s]){<br />
</span><span style="color: #008080; font-family: Verdana; ">57</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;k</span><span style="color: #000000; font-family: Verdana; ">=</span><span style="color: #000000; font-family: Verdana; ">find(en[p],min(val[p],aug));<br />
</span><span style="color: #008080; font-family: Verdana; ">58</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flow</span><span style="color: #000000; font-family: Verdana; ">+=</span><span style="color: #000000; font-family: Verdana; ">k;<br />
</span><span style="color: #008080; font-family: Verdana; ">59</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aug</span><span style="color: #000000; font-family: Verdana; ">-=</span><span style="color: #000000; font-family: Verdana; ">k;<br />
</span><span style="color: #008080; font-family: Verdana; ">60</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val[p]</span><span style="color: #000000; font-family: Verdana; ">-=</span><span style="color: #000000; font-family: Verdana; ">k;<br />
</span><span style="color: #008080; font-family: Verdana; ">61</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val[rev[p]]</span><span style="color: #000000; font-family: Verdana; ">+=</span><span style="color: #000000; font-family: Verdana; ">k;<br />
</span><span style="color: #008080; font-family: Verdana; ">62</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">if</span><span style="color: #000000; font-family: Verdana; ">(aug</span><span style="color: #000000; font-family: Verdana; ">==</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">)&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; font-family: Verdana; ">&nbsp;flow;<br />
</span><span style="color: #008080; font-family: Verdana; ">63</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">64</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">65</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; font-family: Verdana; ">&nbsp;flow;<br />
</span><span style="color: #008080; font-family: Verdana; ">66</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}<br />
</span><span style="color: #008080; font-family: Verdana; ">67</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">68</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;work(){<br />
</span><span style="color: #008080; font-family: Verdana; ">69</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">while</span><span style="color: #000000; font-family: Verdana; ">(build()){<br />
</span><span style="color: #008080; font-family: Verdana; ">70</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="color: #000000; font-family: Verdana; ">+=</span><span style="color: #000000; font-family: Verdana; ">find(S,INF);<br />
</span><span style="color: #008080; font-family: Verdana; ">71</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; font-family: Verdana; ">72</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">%d\n</span><span style="color: #000000; font-family: Verdana; ">"</span><span style="color: #000000; font-family: Verdana; ">,ans);<br />
</span><span style="color: #008080; font-family: Verdana; ">73</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">74</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}<br />
</span><span style="color: #008080; font-family: Verdana; ">75</span>&nbsp;<span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">76</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000ff; font-family: Verdana; ">int</span><span style="color: #000000; font-family: Verdana; ">&nbsp;main(){<br />
</span><span style="color: #008080; font-family: Verdana; ">77</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">while</span><span style="color: #000000; font-family: Verdana; ">(init())<br />
</span><span style="color: #008080; font-family: Verdana; ">78</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work();<br />
</span><span style="color: #008080; font-family: Verdana; ">79</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; font-family: Verdana; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; font-family: Verdana; ">0</span><span style="color: #000000; font-family: Verdana; ">;<br />
</span><span style="color: #008080; font-family: Verdana; ">80</span>&nbsp;<span style="color: #000000; font-family: Verdana; ">}</span><span style="color: #000000; "><br />
</span><span style="color: #008080; font-family: Verdana; ">81</span>&nbsp;<br /><br /><br /><br /><span style="color: #000000; "></span></div><img src ="http://www.cppblog.com/Holy-Jade/aggbug/151996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Holy-Jade/" target="_blank">王子野心</a> 2011-07-28 17:35 <a href="http://www.cppblog.com/Holy-Jade/archive/2011/07/28/151996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>