﻿<?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++博客-ACTime</title><link>http://www.cppblog.com/liuhao/</link><description>let's start</description><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:09:11 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:09:11 GMT</pubDate><ttl>60</ttl><item><title>［转］frkstyc的poj分类</title><link>http://www.cppblog.com/liuhao/archive/2010/03/22/110322.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Mon, 22 Mar 2010 14:37:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2010/03/22/110322.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/110322.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2010/03/22/110322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/110322.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/110322.html</trackback:ping><description><![CDATA[1474        geometry 
1000        ad hoc 
1003        ad hoc 
1004        ad hoc 
1005        ad hoc 
1008        ad hoc 
1023        ad hoc 
1045        ad hoc 
1046        ad hoc 
1047        ad hoc 
1079        ad hoc 
1102        ad hoc 
1126        ad hoc 
1140        ad hoc 
1207        ad hoc 
1218        ad hoc 
1220        ad hoc 
1289        ad hoc 
1306        ad hoc 
1316        ad hoc 
1326        ad hoc 
1423        ad hoc 
1450        ad hoc 
1477        ad hoc 
1488        ad hoc 
1491        ad hoc 
1493        ad hoc 
1517        ad hoc 
1519        ad hoc 
1528        ad hoc 
1552        ad hoc 
1565        ad hoc 
1583        ad hoc 
1628        ad hoc 
1635        ad hoc 
1657        ad hoc 
1658        ad hoc 
1663        ad hoc 
1665        ad hoc 
1759        ad hoc 
1775        ad hoc 
1781        ad hoc 
1809        ad hoc 
1859        ad hoc 
1868        ad hoc 
1936        ad hoc 
1942        ad hoc 
1969        ad hoc 
2000        ad hoc 
2006        ad hoc 
2013        ad hoc 
2015        ad hoc 
2017        ad hoc 
2027        ad hoc 
2083        ad hoc 
2105        ad hoc 
2109        ad hoc 
2126        ad hoc 
2136        ad hoc 
2140        ad hoc 
2141        ad hoc 
2144        ad hoc 
2159        ad hoc 
2190        ad hoc 
2196        ad hoc 
2231        ad hoc 
2249        ad hoc 
2262        ad hoc 
2272        ad hoc 
2301        ad hoc 
2305        ad hoc 
2309        ad hoc 
2316        ad hoc 
2321        ad hoc 
2328        ad hoc 
2330        ad hoc 
2350        ad hoc 
2351        ad hoc 
2379        ad hoc 
2380        ad hoc 
2390        ad hoc 
2403        ad hoc 
2419        ad hoc 
1131        algebra 
1707        algebra 
1125        all pairs shortest paths 
1375        analytical geometry 
1473        analytical geometry 
2098        analytical geometry 
2242        analytical geometry 
1001        arbitrary precision calculation 
1354        arbitrary precision calculation 
1454        arbitrary precision calculation 
1503        arbitrary precision calculation 
2389        arbitrary precision calculation 
2413        arbitrary precision calculation 
2240        Bellman-Ford algorithm 
1195        binary indexed tree 
1330        binary search 
2418        binary search tree 
1466        bipartite graph matching 
1087        bipartite graph matching or maximum flow 
2018        bisection and dynamic programming 
1505        bisection and greedy 
1434        bisection method 
2155        bit operation or binary indexed tree 
1111        breadth first search 
1562        breadth first search 
1724        breadth first search 
1753        breadth first search 
1915        breadth first search 
1924        breadth first search 
2225        breadth first search 
2243        breadth first search 
2251        breadth first search 
2312        breadth first search 
2386        breadth first search 
2415        breadth first search 
2426        breadth first search 
2435        breadth first search 
1209        calendar 
2080        calendar 
2210        calendar 
1031        computational geometry 
1127        computational geometry 
1648        computational geometry 
1654        computational geometry 
1675        computational geometry 
1912        computational geometry 
2099        computational geometry 
2150        computational geometry 
2318        computational geometry 
2398        computational geometry 
2423        computational geometry 
1032        construction 
1147        construction 
1148        construction 
1702        construction 
1844        construction 
1898        construction 
1906        construction 
2085        construction 
2319        construction 
2356        construction 
2402        construction 
1426        construction or breadth first search 
1606        construction or breadth first search 
1113        convex hull 
2187        convex hull and enumeration 
1010        depth first search 
1011        depth first search 
1022        depth first search 
1054        depth first search 
1118        depth first search 
1144        depth first search 
1190        depth first search 
1564        depth first search 
1655        depth first search 
1904        depth first search 
1980        depth first search 
2184        depth first search 
2186        depth first search 
2362        depth first search 
2378        depth first search 
2438        depth first search 
1151        discretization and union of intervals or segment tree 
1182        disjoint sets 
1291        disjoint sets 
1703        disjoint sets 
1984        disjoint sets 
2021        disjoint sets 
2236        disjoint sets 
2371        divide and conquer 
2388        divide and conquer 
1014        dynamic programming 
1015        dynamic programming 
1018        dynamic programming 
1036        dynamic programming 
1038        dynamic programming 
1050        dynamic programming 
1088        dynamic programming 
1093        dynamic programming 
1156        dynamic programming 
1157        dynamic programming 
1159        dynamic programming 
1160        dynamic programming 
1163        dynamic programming 
1170        dynamic programming 
1191        dynamic programming 
1221        dynamic programming 
1338        dynamic programming 
1458        dynamic programming 
1579        dynamic programming 
1631        dynamic programming 
1651        dynamic programming 
1661        dynamic programming 
1664        dynamic programming 
1678        dynamic programming 
1685        dynamic programming 
1722        dynamic programming 
1732        dynamic programming 
1745        dynamic programming 
1821        dynamic programming 
1909        dynamic programming 
1923        dynamic programming 
1925        dynamic programming 
1953        dynamic programming 
2033        dynamic programming 
2133        dynamic programming 
2151        dynamic programming 
2181        dynamic programming 
2229        dynamic programming 
2247        dynamic programming 
2250        dynamic programming 
2342        dynamic programming 
2353        dynamic programming 
2355        dynamic programming 
2385        dynamic programming 
2393        dynamic programming 
2397        dynamic programming 
2414        dynamic programming 
2430        dynamic programming 
2439        dynamic programming 
2441        dynamic programming 
2442        dynamic programming 
2084        dynamic programming and arbitrary precision calculation 
1387        dynamic programming and enumeration 
1322        dynamic programming or generating function 
1012        enumeration 
1013        enumeration 
1142        enumeration 
1171        enumeration 
1183        enumeration 
1318        enumeration 
1411        enumeration 
1543        enumeration 
1647        enumeration 
1650        enumeration 
1828        enumeration 
1916        enumeration 
1930        enumeration 
2078        enumeration 
2100        enumeration 
2191        enumeration 
2245        enumeration 
2326        enumeration 
2346        enumeration 
2363        enumeration 
2381        enumeration 
2436        enumeration 
2444        enumeration 
1267        enumeration and bisection 
1129        enumeration and depth first search 
1186        enumeration and hash table 
1348        enumration 
1472        expression evaluation 
2106        expression evaluation 
2246        expression evaluation 
2269        expression evaluation 
2234        game theory 
2348        game theory 
2425        game theory 
1799        geometry 
1927        geometry 
1939        geometry 
1940        geometry 
2007        geometry 
2208        geometry 
2276        geometry 
2365        geometry 
2405        geometry 
1981        geometry and enumeration 
1090        Gray code 
1832        Gray code 
1017        greedy 
1042        greedy 
1083        greedy 
1230        greedy 
1328        greedy 
1456        greedy 
1862        greedy 
1922        greedy 
2054        greedy 
2082        greedy 
2209        greedy 
2291        greedy 
2313        greedy 
2325        greedy 
2370        greedy 
2376        greedy 
2431        greedy 
2433        greedy 
2437        greedy 
1405        greedy and arbitrary precision calculation 
1659        greedy and construction 
1026        group theory 
1033        group theory 
1286        group theory 
1674        group theory 
2369        group theory 
2409        group theory 
2366        hash table or binary search 
1521        Huffman tree 
1742        knapsack 
2392        knapsack 
1538        Lagrangian interpolation 
2344        linear algebra and greedy 
1462        linear systems 
1914        linear systems 
2440        matrix algebra 
1149        maximum flow 
1273        maximum flow 
1459        maximum flow 
2125        maximum flow and minimum cut 
2377        maximum spanning tree 
1258        minimum spanning tree 
1679        minimum spanning tree 
1861        minimum spanning tree 
2421        minimum spanning tree 
1166        modular systems 
1222        modular systems 
1681        modular systems 
2345        modular systems 
1905        Newton's iteration 
2420        Newton's iteration 
2299        number of inversions 
1006        number theory 
1061        number theory 
1067        number theory 
1152        number theory 
1284        number theory 
1320        number theory 
1401        number theory 
1455        number theory 
1597        number theory 
1808        number theory 
1811        number theory 
1845        number theory 
1995        number theory 
2115        number theory 
2407        number theory 
2417        number theory 
2429        number theory and enumeration 
1146        permutation 
1256        permutation 
1731        permutation 
1833        permutation 
2079        rotating calipers 
2104        search 
1177        segment tree 
2182        segment tree 
2352        segment tree or binary indexed tree 
1016        simulation 
1028        simulation 
1048        simulation 
1049        simulation 
1051        simulation 
1060        simulation 
1281        simulation 
1298        simulation 
1363        simulation 
1504        simulation 
1573        simulation 
1578        simulation 
1589        simulation 
1592        simulation 
1600        simulation 
1656        simulation 
1660        simulation 
1666        simulation 
1684        simulation 
1926        simulation 
1928        simulation 
1978        simulation 
2014        simulation 
2039        simulation 
2050        simulation 
2051        simulation 
2081        simulation 
2271        simulation 
2317        simulation 
2339        simulation 
2340        simulation 
2359        simulation 
2383        simulation 
2410        simulation 
2424        simulation 
2443        simulation 
2387        single source shortest paths 
2394        single source shortest paths 
1002        sorting 
1245        sorting 
1520        sorting 
2092        sorting 
2408        sorting 
1007        stable sorting 
1572        string manipulation 
1646        string manipulation 
1917        string manipulation 
2406        string matching 
1128        topological sorting 
1785        treap 
2201        treap 
2255        tree manipulation 
1089        union of intervals 
1797        variation of Dijkstra's shortest path algorithm 
2253        variation of Dijkstra's shortest path algorithm 
2395        variation of Dijkstra's shortest path algorithm 
2254        vector algebra 
2354        vector algebra 
2412        vector algebra 
1130        vertex connectivity 
1308        vertex connectivity 
2320        vertex connectivity  <img src ="http://www.cppblog.com/liuhao/aggbug/110322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2010-03-22 22:37 <a href="http://www.cppblog.com/liuhao/archive/2010/03/22/110322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百度笔经&amp;面经(zz,详细！赞！)</title><link>http://www.cppblog.com/liuhao/archive/2010/02/21/108154.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Sun, 21 Feb 2010 08:37:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2010/02/21/108154.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/108154.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2010/02/21/108154.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/108154.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/108154.html</trackback:ping><description><![CDATA[百度笔经&amp;面经(zz,详细！赞！)<br />2007年10月20日 星期六 16:34发信人: ptlj (PT), 信区: Job_Discuss<br /> 标 题: 百度笔经&amp;面经 发信站: 武汉白云黄鹤站 (2007年10月08日12:50:13 星期一)<br /> 看了一下精华区，好像关于百度的笔经和面经很少，所以上来发一下，积攒RP～～PS:我投的是商务搜索部的引擎研发工程师。 <br /><br />【笔试】百度的在华科的笔试在9月21号晚上宣讲会后马上举行。宣讲会那叫一个人山人海， 很多不是毕业班的人也来凑热闹感受一下百度招聘。笔试题目有选择题，编程题，系统设 计题三种类型。选择题难度不是很大，但我太水了，很多基础知识都不记得了，正则表达 式，shell编程～～～汗死，不说了，好多都是蒙的。 编程题有3题，第一题是找出字符串 的最长不重复子串，输出长度。我想了半天，只会O(n^2)的算法，是个人都可以想出来的 笨办法，想着写下来也没啥意义，题目问有没O（n）的，那看来肯定有O（n）的，就不写 了，看后面的题算了。第二题是找出一个字符串的最长回文子串。这个问题好像以前考研 复习数据结构时看过，想起来判断一个回文串可以用栈来实现，稍微回忆一下，算法思路 就出来了。于是提笔写下了个O(n^3)的算法。汗死了，自己太笨了，只能想出这种垃圾算 法，看来百度不好混啊。第三题是在2.5亿个整数中找出不重复的整数，内存空间不足以容 纳这2.5亿个整数。这种题是百度的特色，海量数据处理，我也没啥思路。既然不能一次扔 进内存，我就分批扔进去，尽量减少从外存读进内存的次数，然后算了一下，分2批扔进内 存。然后每批排序，找出每批里面不重复的数，把这些不重复的再在另一批数中过一遍，去掉重复的，然后汇总。写不出具体代码，只把思路写了一下。当时心情沮丧极了，想着，挂了，代码不会写，难得写出一题又是效率极低的。最后那道系统 设计题，我压根没啥好思路，题目大概是海量数据分布在100台电脑中，想个办法高效统计 出这批数据的TOP10。草草写了几笔，时间就到了，交卷～～～看来，这次除非有奇迹，不 然笔试肯定被BS了。 <br /><br />考完回到寝室，和兄弟们讨论一下题目，第一题原来可以用Hash实现，时间复杂度降 到O(n)。自己仔细想了一下，整个算法的思路就清晰了，郁闷啊，这么简单的题居然没想 出来，看来自己还是太菜了。ZZ对第二题还有个新颖的算法，学习了一下，赞啊，亏他想 得出来，呵呵。第二天还有Microsoft的笔试，赶紧拿Primer来抱抱佛脚，这么好的一本书 ，我学C++时怎么就没看啊？后悔，懊恼充斥着我的大脑，大有相见恨晚的感觉。 虽然自己笔试很烂，但是还是寄希望于奇迹出现，能有机会去面试。于是晚上睡觉开着手机，因为座谈会时百度说如果笔试通过，当晚凌晨就会出面试通知了。晚上辗转反侧 ，难以入睡，期待手机铃声响起，都不知道几点才睡着。早上起床一照镜子，大熊猫再现拉，唉，为百度消得我憔悴啊。自己空想也没用，眼前还有MS等着我呢。考MS时，手机都没关，就等着百度电话，希望考试时能有电话来。果然，早上11点多还在考试时，手机响起，挂掉，我还在为了MS笔试而挠头呢。几分钟后，又响了一次，再次挂掉。考完试，出 考场拿手机一看，咦，是027的哦，好像是个小灵通。回拨，不通，继续回拨，还是不通， 不死心，我就不信拨不通你。结果拨了10多次还是不通，算了，只好等他再打来。回实验 室，上Q问问这个号码是不是百度的，JG他们说是的，惊喜，Oh，yeah，百度面试来临了， Miracle居然发生了。于是和JG，DJ，Q拼车去弘毅面百度。结果面官说我不接电话，他们安排了其它同学面试，叫我第二天早上10点再来面。FT，怎么这么曲折啊，不过给我点时 间复习准备，也好。 <br /><br /><br />【一面】 晚上好好看了一下项目，把重点温习了一下。又问了下JG面试问了啥，心里有个底了 。第二天，一个人飞的去了弘毅，花了22大洋，好心疼啊。去到昨天那个房间，看见面官 了，一个光头，和JG昨天的面官一样。果然，他上来就问了我昨天问JG的同样问题，设计 一种数据结构，结合了链表和数组的优点。我想了一下，说用Hash链表，这样插入和查找 的效率都比较高，但是有conflict问题要解决。他马上就问我如何解决conflict问题，有没什么好方法。我说修改hash函数，使得hash值产生的conflict概率尽可能低。他问那你怎么设计？我倒，这个问题我可没想过啊。当场郁闷了，立马陷入苦思状态。想出几个点 子，都不管是否可以降低conflict的概率，都和面官说了。他很快就举例否定我好不容易 想出的点子，说你的办法还是不行哦，有没更好的？打击死了，我已经尽力了啊，没想到这么快就被他找到反例，郁闷死我了。不过面官人很好，看我实在想不出更好的了，就不为难我了，换下一个题目。后面一题是海量日志数据，提取出某日访问百度次数最多的那个IP。想了一下，说了个思路。面官就问你这样需要的存储空间太大，有没优化方法。看 来思路是正确的了，但是优化问题嘛，好棘手啊。我又说了个优化的方法，面官不太满意，摇头。完了，实在想不出来了。。。。面官见我苦思冥想，也不为难我了。接着就问了下项目经验，我balabala一通，他对我的项目不太感冒，没问什么问题。 然后就问笔试卷子了，他问我第一题干嘛空白？我说了原因，他问我现在有好的想法 没？我就把自己考完后想的O（n）的算法说了一下，他比较满意，没问我什么就问第二题 了。我又说了下我当时的算法思想，他问有没更好的优化算法？我说可以做到O（n^2）， 把思路说了下。似乎不是他的满意答案，也没问我啥。接着问第三题，我把我的想法说了 。他说，你最后还需要折半查找这么麻烦吗？对2个有序的数组，查找A数组的元素是否在 B数组中出现有没更好的算法？我想了一下，突然灵机一动，想起归并排序的算法。就说， 是不是像归并数组那样，直接在B中定位出A的位置，这样就可以在O(m+n)内实现。他比较满意，说：“是啊，都有序了，你还折半这么麻烦啊？”暴汗，看来面官水平比我高太多了，思维跟不上。然后看面官总算露出点笑容，忍不住问句：“你觉得我这个算法可以接受不？”他的回答让我很吃惊，他说：“当然可以接受拉，我觉得挺好的啊，不过你的算法要访外存，可能时间效率不是很高。不过先要完成题目的任务，再考虑优化。”我赶紧补一句：“是啊，先要让它work，再考虑如何让它work better。”面官还来句：“不过这个题最好的算法可以一次把2.5亿数据扔进内存，这需要你设计一个好的数据结构。”我问：“这个，怎么设计哦？”面官表示不能告诉我答案，让我自己回去想。 这时，面官看看表，我也看看表，已经面了50分钟了。他说：“现在我们再做2道数学推理题。第一题，2个盒子，容量足够大，现在有50个红球，50个蓝 球，你如何安放这 些球进盒子，使得我随机抽取一个盒子，然后从里面随机抽一个球，这个球是红球的概率 最大？给你2分钟时间考虑，直观分析给出结果。”当场我就晕倒了，从小到大，我都不会 做IQ题的啊，这可是我的最弱项。没办法，不能直接说我不会啊。只好硬着头皮上，分析 一下，我说：“列条概率的表达式，求最值，可以求出结果。”他说：“你这样搞2个小时 都算不出结果。从直观上分析就可以知道结果了。你再想想”，被打击了。只好继续想， 我想，那把50个红球放到一个盒子，另一个盒子全放蓝球，这样一个有100％，另一个是0 ％，平均下来有50％。也不理想啊，这个时候，灵感再次突现，50个红球全放一个盒子不 是浪费嘛？放1个也是100％，2个也是100%，那就放一个好了，其它全部扔到另一个盒子和 蓝球一起。再想一下，这样概率有75％，应该很高了。也没仔细想是不是正确答案，就脱 口而出，说了这种放法。面官再次露出笑容，说“正确！”我那时心里好激动啊，没想到 运气这么好，居然还答对了。接着又来下一题，A射击命中率80%,B60%,C40%，A,B,C互为竞争对手，每人都知道另外2人的命中率，3个人同场 竞技互相射击，同时开了第一枪，问第一枪射后，谁最有可能挂掉？我分析了一下，说了答案，他问我思路，我说了我的思路后，他居然来句：“你的思维和别人不 一样。”FT，我和别人不一样，估计说错了，自己确实回答IQ题比别人笨一截，没办法。面官说：“好了，时间差不多了。你有什么问题问我不？”我问：“如 果我有幸通过一面，什么时候会二面？”“通过的话，明早就二面。”然后，和面官握了下手，就这样结束了我的一面。 面完一面后，去找LP吃饭，下午陪她上自习，感觉自己一面还行吧，大部分题都答出了思路，虽然进一步的优化没有想完整，而且运气也好得不得了，连最后2题居然还被我蒙对1题，如果进不了2面，只能说明自己离百度的要求还是差距太大了。结果好运再次降临，晚上6点多接到电话，通知第二天早上10点去二面，呵呵，竟然进了二面，真是 too lucky。 <br /><br /><br />【二面】 第二天准时去到面试房间，换了位面官面我。一上来就问我一道海量数据处理题。题目是：很多记录数据，有ID号，还有几个不同的属性域，现在要根据ID号高速查询到对应 ID号的数据，设计个算法。然后，现在要根据特定的属性域排序查询，既要高效找到排名 在第N-M名的记录，还要经常插入，删除记录。我说，查询ID可以用Hash表查询，把ID号hash，然后可以在O(1)查到对应的记录。第二个问题，有点复杂，类似于结合数组和链表的优点设计数据结构。我说了好几种方案，问他这样行不行。他说：“你自己觉得行不行啊 ，现在是我面你，不是你面我啊，你自己考虑答案啊。”晕倒，我实在想不出更好的，也 不知道应该如何抉择，备选方案都各有优缺点啊。最后，还是选了其中一种，回答了这个 问题。面官说：“其实这个问题很难有最佳方案，就看你怎么选择，权衡，选一种较好的 方案。”唉，也不知道我的答案可不可以接受，完全没了一面时的灵感了。然后面官看了 下我简历，惊讶地说道：“你是武汉理工毕业的？”我也很惊讶：“你听说过这个学校？ ”因为我感觉，武汉理工又不是很有名，在北方，连华中科技名气都不是很响，没想到面 官竟然知道武汉理工。结果面官说：“我就是武汉理工毕业的啊。”一听，心中窃喜，居然还有校友，赶紧套一下亲近。问他哪一级的，什么时候毕业啊，加入百度多久了之类的问题。然后自己又说了一下个人对武汉理工的感觉，尤其是当年放弃保研名额，选择去考研。他听着也觉得有点意思，我就继续说：“觉得学习氛围很重要，身边的同学对自己的影响很大。本科时，很多同学沉溺于网游，都堕落了，自己想找个人讨论问题都没有。现在去了华中科技，身边的同学都很优秀，经常和同学讨论问题，一起进步，感觉很好。”他听了后点点头，说：“你这个决定挺正确的。......blabala一通，他也不感冒。他又问我：“干嘛想加入百度公司？”我说：“自己对互联网技术很感兴趣，从本科起对数据结构和算法就有浓厚的兴趣。 加上自己将来想搞研发，百度公司的技术很吊，里面的人很强，加入百度可以得到很好的锻炼，学到很多东西。百度公司现在发展很快，对自己的职场生涯很有帮助。”然后，他问我：“你对搜索引擎了解不？”我说：“之前不了解，听了座谈会后了解了一些。”他又问：“你对自然语言分析处理了解不？”“不懂”说完， 我汗死了，完全不懂，有点不祥的预感了。谁知道，更郁闷的事还在后头。他接着来一句：“你做的项目都是网络安全方面的，和我们的活不对口啊？”最让我担心 的事终于发生了，我故作镇定说：“恩，既有网络安全，也有网络应用和管理方面的。”然后面官就说：“好了，我的问题差不多了，你有什么问题要问吗？”我看了下表，倒，才面了30分钟就没问题了，看来我方向不对口，他对我已经没兴趣了，不行，这样草草了结，二面肯定挂掉了，得扯点他感兴趣的问题才行。马上把自己本科的那个毕业设计网络五子棋里面涉及的算法问题拿出来问问他，看看他有什么优化的方法。他想了一会，说：“这个问题有点复杂哦。”我窃喜，哈哈，该不会把你难倒了吧？接着他来句：“你当时是怎么做的？”我心想，你还真行，把问题又丢回来给我了。我就说了我当时的做法，也得到了他的认可和赞许。恩，第一步目标达成。 然后又问他我投的那个职位对哪方面的要求比较高？他说：“良好的算法和数据结构的基 础最重要。”我又问：“那数据库，脚本语言，网络编程方面呢？”这些都是我的弱项哦 。他说：“这些都有很多现成的成果可以直接利用了，算法和数据结构可能比较难提高， 所以需要有个良好的基础才行。”听完，心里有点高兴，自己的强项就是算法和数据结构 方面，既然弱项不是很重要，那看来对我的影响不大。这又让我想起李开复的一句话：“ 你进MS时，懂C＃很好，不懂也不要紧，来了可以学。但是如果你不懂得如何学习，那就糟 糕了。”看来，基础和学习能力是很多大公司所看重得。然后又和面官聊一下武汉理工的 变化，和在华中科技读研的一些生活。最后，面官说了句：“其实，你的技术还是不错的 。”听了这句后，很高兴，但是自己对搜索引擎的不了解和专业的不对口又让自己产生一丝隐忧。最后问了下“还会有3面不？”“Maybe。”和面官say goodbye，然后结束了二面。 <br /><br /><br />【后记】 二面后就是漫长的等待（其实也就等了6天而已，但是自己已经觉得很漫长了）。期间没有任何消息，BBS说二面过了就发offer，二面不过就去三面。对这个说法，我持保留意见，身边很多大牛都去3面了，3面是非技术面，都问你期望的月薪的，自己觉得应该是过了2面的才有3面机会吧。自己一直没等来3面的电话通知，已经觉得自己挂了。期间找 LP诉苦，她安慰我说：“说不定就像BBS说的那样，二面过了就不用三面了吧。你干着急也没用啊，好好复习等消息吧。”虽然是安慰我的话，但是在等待的日子里有个人可以诉苦感觉还是挺好的。联系了一下内推的那个人，他说他也不知道结果，问我是谁面我的。我说一面是光头，把二面面官的名字报了一下。他说：“光头是他们部门经理。”我很惊讶 ，啊？部门经理？看不出来啊，既然部门经理都让我过1面了，应该机会还挺大的啊，自我感觉一面比二面好多了。每天逛BBS，不仅看白云，还看珞珈山水，交大思源，还有天大求 实。等待真是种煎熬啊，虽然各方面的信息都是朝着不利的一面发展，但是自己还是不死心，一天没发offer，就还有机会；既然没发据信，那就还有希望。等啊等，终于在国庆前 一天发offer了，居然自己也有！ 回顾这次百度之旅，感觉运气太好了。一面是部门经理，其实过了他这关基本问题就不大了。恰好自己那天状态超好，灵感不时出现，临场超水平发挥，总算过了第一关。第二关在形势很不利的情况下（连说几个“不懂”），自己给自己找加分项目，朝着职位的要求往上靠。既然算法和数据结构要求高，我就要表现出自己这个方面有优势，扯毕业设 计的算法设计和面官聊，表示自己对这方面有兴趣，基础不差。还有突出一下自己其它方 面的优点，例如上进，好学，对技术有偏执（百度系统部老大的经典说法）等。觉得面试时还有一点做得不错的就是，当面对一个自己没什么思路的问题时，只要你有什么新想法 ，不要管这个想法是否可行，是否可以真的解决问题，先把它说给面官听，让他觉得你的 思考问题的能力还是很强的。一定不要想了半天，结果说“不知道”这样面官对你的印象 就会很差。虽然你的idea可能不是很work,但是只要是朝着正确的方向前进就OK拉，面试官会给你一定的指引的。你继续朝着那个方向想，说不定很快就可以解决问题了。 以前都是看别人的面经，获益良多，这次自己写写笔经，面经，希望对大家有帮助。 最后，希望大家都能找到自己满意的工作，其实付出和收获真是成正比的。可以从事自己 喜欢的工作，真是很高兴。目标和准备方向的正确可能是我这次应聘成功的最主要因素之一吧。我投简历只投研发的岗位，对不搞技术的公司压根没投，不管公司有多大有多好， 像P&amp;G，MARS，国企，公务员等。一来不想占用别人的机会，二来也知道自己更适合在技术 方面发展，去非技术类公司自己的发展可能不如技术类公司。呵呵，写得我好累啊，就写到这吧，希望能对大家有用。 <img src ="http://www.cppblog.com/liuhao/aggbug/108154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2010-02-21 16:37 <a href="http://www.cppblog.com/liuhao/archive/2010/02/21/108154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>卡特兰数（Catalan数）</title><link>http://www.cppblog.com/liuhao/archive/2010/02/06/107367.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Sat, 06 Feb 2010 02:43:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2010/02/06/107367.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/107367.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2010/02/06/107367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/107367.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/107367.html</trackback:ping><description><![CDATA[


<span style="font-family: Arial; font-size: 14px; line-height: 24px; "><h2 class="first" style="margin-top: 0px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 6px; padding-left: 0px; font-size: 18px; font-weight: bold; line-height: 24px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(222, 223, 225); clear: none; ">&nbsp;&nbsp; &nbsp; &nbsp;原理</h2>　　令h(1)＝1,h(0)=1，catalan数满足递归式：<br>　　<strong>h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n&gt;=2)<br></strong>　　另类递归式：<br>　　<strong>h(n)=((4*n-2)/(n+1))*h(n-1);<br></strong>　　该递推关系的解为：<br>　　<strong>h(n)=C(2n,n)/(n+1) (n=1,2,3,...)</strong></span><div><span style="font-family: Arial; font-size: 14px; line-height: 24px; "><strong><br></strong>　　卡特兰数的应用<br>　　（实质上都是递归等式的应用）<br>　　<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 28px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 16px; font-family: Arial; line-height: 22px; "><a name="1_1" style="color: rgb(51, 102, 204); text-decoration: underline; "></a>括号化问题</h3><br>　　矩阵链乘： P=a1&#215;a2&#215;a3&#215;&#8230;&#8230;&#215;an，依据乘法结合律，不改变其顺序，只用括号表示成对的乘积，试问有几种括号化的方案？(h(n)种)<br><div class="spctrl" style="font-family: Arial; font-size: 14px; text-align: left; height: 10px; line-height: 10px; "></div>　　<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 28px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 16px; font-family: Arial; line-height: 22px; "><a name="1_2" style="color: rgb(51, 102, 204); text-decoration: underline; "></a>出栈次序问题</h3><br>　　一个栈(无穷大)的进栈序列为1，2，3，&#8230;，n，有多少个不同的出栈序列?<br>　　分析：对于每一个数来说，必须进栈一次、出栈一次。我们把进栈设为状态&#8216;1&#8217;，出栈设为状态&#8216;0&#8217;。n个数的所有状态对应n个1和n个0组成的2n位二进制数。由于等待入栈的操作数按照1‥n的顺序排列、入栈的操作数b大于等于出栈的操作数a(a&#8804;b)，因此输出序列的总数目=由左而右扫描由n个1和n个0组成的2n位二进制数，1的累计数不小于0的累计数的方案种数。<br>　　在2n位二进制数中填入n个1的方案数为c(2n,n),不填1的其余n位自动填0。从中减去不符合要求（由左而右扫描，0的累计数大于1的累计数）的方案数即为所求。<br>　　不符合要求的数的特征是由左而右扫描时，必然在某一奇数位2m+1位上首先出现m+1个0的累计数和m个1的累计数，此后的2(n-m)-1位上有n-m个 1和n-m-1个0。如若把后面这2(n-m)-1位上的0和1互换，使之成为n-m个0和n-m-1个1，结果得1个由n+1个0和n-1个1组成的2n位数，即一个不合要求的数对应于一个由n+1个0和n-1个1组成的排列。<br>　　反过来，任何一个由n+1个0和n-1个1组成的2n位二进制数，由于0的个数多2个，2n为偶数，故必在某一个奇数位上出现0的累计数超过1的累计数。同样在后面部分0和1互换，使之成为由n个0和n个1组成的2n位数，即n+1个0和n-1个1组成的2n位数必对应一个不符合要求的数。<br>　　因而不合要求的2n位数与n＋1个0，n－1个1组成的排列一一对应。<br>　　显然，不符合要求的方案数为c(2n,n+1)。由此得出 输出序列的总数目=c(2n,n)-c(2n,n+1)=1/(n+1)*c(2n,n)。<br>　　（这个公式的下标是从h(0)=1开始的）<br>　　类似：有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票，另外n人只有10元钞票，剧院无其它钞票，问有多少中方法使得只要有10元的人买票，售票处就有5元的钞票找零？(将持5元者到达视作将5元入栈，持10元者到达视作使栈中某5元出栈)<br>　　<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 28px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 16px; font-family: Arial; line-height: 22px; "><a name="1_3" style="color: rgb(51, 102, 204); text-decoration: underline; "></a>凸多边形的三角剖分问题</h3><br>　　<br>　　求将一个<a target="_blank" href="http://baike.baidu.com/view/363944.htm" style="color: rgb(51, 102, 204); text-decoration: underline; ">凸多边形</a>区域分成三角形区域的方法数。<br>　　类似：一位大城市的律师在她住所以北n个街区和以东n个街区处工作。每天她走2n个街区去上班。如果她从不穿越（但可以碰到）从家到办公室的对角线，那么有多少条可能的道路？<br>　　类似：在圆上选择2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数?&nbsp;<br>　　<h3 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 28px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 16px; font-family: Arial; line-height: 22px; "><a name="1_4" style="color: rgb(51, 102, 204); text-decoration: underline; "></a>用给定节点组成二叉树的问题</h3><br>　　<br>　　给定N个节点，能构成多少种不同的<a target="_blank" href="http://baike.baidu.com/view/88806.htm" style="color: rgb(51, 102, 204); text-decoration: underline; ">二叉树</a>？<br>　　（能构成h（N）个）</span>
</div><img src ="http://www.cppblog.com/liuhao/aggbug/107367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2010-02-06 10:43 <a href="http://www.cppblog.com/liuhao/archive/2010/02/06/107367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【做题计划】2-5</title><link>http://www.cppblog.com/liuhao/archive/2010/02/05/107209.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Thu, 04 Feb 2010 16:48:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2010/02/05/107209.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/107209.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2010/02/05/107209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/107209.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/107209.html</trackback:ping><description><![CDATA[BUPT OJ<div>1094ACM的组队</div><div>1095探险家Javaman</div><div>1096老鹰捉小鸡</div><div>1098机器人工厂</div><div>1099Plant</div><div>1010Snooper</div><div>1011PrisonBreak</div><div>1012SuperRock教授的教案</div><img src ="http://www.cppblog.com/liuhao/aggbug/107209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2010-02-05 00:48 <a href="http://www.cppblog.com/liuhao/archive/2010/02/05/107209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1797 Heavy Transportation（最大树最小边变形）</title><link>http://www.cppblog.com/liuhao/archive/2010/01/01/104604.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Fri, 01 Jan 2010 06:24:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2010/01/01/104604.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/104604.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2010/01/01/104604.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/104604.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/104604.html</trackback:ping><description><![CDATA[题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=1797<div>题目描述：求从指定起点到指定终点每条可能路径上各段边的最小值</div><div>注意事项：有向图／无向图</div><div>提交情况：3次Runtime Error，是最开始尝试用Kruskal时间接排序的数组r大小只开了MAXN个；3次WA的主要原因是无向图按照有向图做的。用邻接表存储图时一定要注意有向图和无向图的问题，已经出错好几次了。</div><div>心得体会：本道题实际是按照Prim求最大生成树的思路，逐条添加边；在添加的过程中，注意从1点出发，在遇到n时，即使最大生成树仍没有构造完，也可以从函数中返回了。最开始以为是简单的生成树问题，所有用Kruskal来作，遇到起点和终点都访问过就退出，但此时，构造的生成树可能根本就没有连接，而Prim在构造的初始就是从一棵树开始拓展的，不会出现这个问题。需要对每个具体的算法有更深入的理解。<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); 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; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">queue</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdio.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;MAXN&nbsp;1010&nbsp;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">#define</span><span style="color: #000000; ">&nbsp;MAXM&nbsp;1000010&nbsp;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">struct</span><span style="color: #000000; ">&nbsp;Edge<br></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;start;<br></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;end;<br></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;weight;<br></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;Edge&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">e)&nbsp;</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "><br></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;weight</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">e.weight;<br></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">};<br></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">Edge&nbsp;edge[</span><span style="color: #000000; ">2</span><span style="color: #000000; ">*</span><span style="color: #000000; ">MAXM];<br></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;visited[MAXN];<br></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;first[MAXN];<br></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;next[</span><span style="color: #000000; ">2</span><span style="color: #000000; ">*</span><span style="color: #000000; ">MAXM];<br></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;Prim(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n)<br></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;memset(visited,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(visited));<br></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">10000000</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;priority_queue</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Edge,vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Edge</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">,greater</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Edge</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;pq;<br></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;e</span><span style="color: #000000; ">=</span><span style="color: #000000; ">first[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];e</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;e</span><span style="color: #000000; ">=</span><span style="color: #000000; ">next[e])<br></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pq.push(edge[e]);<br></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;visited[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">pq.empty())<br></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;start&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pq.top().start;<br></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;end&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pq.top().end;<br></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;weight&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pq.top().weight;<br></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pq.pop();<br></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(visited[end]</span><span style="color: #000000; ">==</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visited[end]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(weight</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">result)<br></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;weight;<br></span><span style="color: #008080; ">50</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(end</span><span style="color: #000000; ">==</span><span style="color: #000000; ">n)<br></span><span style="color: #008080; ">51</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">52</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;e</span><span style="color: #000000; ">=</span><span style="color: #000000; ">first[end];e</span><span style="color: #000000; ">!=-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;e</span><span style="color: #000000; ">=</span><span style="color: #000000; ">next[e])<br></span><span style="color: #008080; ">53</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">54</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(visited[edge[e].end]</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">55</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">56</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pq.push(edge[e]);<br></span><span style="color: #008080; ">57</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">58</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">59</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">60</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;result;<br></span><span style="color: #008080; ">61</span>&nbsp;<span style="color: #000000; ">}<br></span><span style="color: #008080; ">62</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">63</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br></span><span style="color: #008080; ">64</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">65</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;snum;<br></span><span style="color: #008080; ">66</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">snum);<br></span><span style="color: #008080; ">67</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">snum;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">68</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">69</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n,m,start,end,weight;<br></span><span style="color: #008080; ">70</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">n,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">m);<br></span><span style="color: #008080; ">71</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">72</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(first,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(first));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">73</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;j</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">2</span><span style="color: #000000; ">*</span><span style="color: #000000; ">m;j</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">74</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">75</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">start,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">end,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">weight);<br></span><span style="color: #008080; ">76</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">77</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j].start&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;start;<br></span><span style="color: #008080; ">78</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j].end&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;end;<br></span><span style="color: #008080; ">79</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j].weight&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;weight;<br></span><span style="color: #008080; ">80</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">81</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">].start&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;end;<br></span><span style="color: #008080; ">82</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">].end&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;start;<br></span><span style="color: #008080; ">83</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edge[j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">].weight&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;weight;<br></span><span style="color: #008080; ">84</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">85</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next[j]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;first[start];<br></span><span style="color: #008080; ">86</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first[start]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;j;&nbsp;<br></span><span style="color: #008080; ">87</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">88</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next[j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;first[end];<br></span><span style="color: #008080; ">89</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first[end]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">90</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080; ">91</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">92</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">93</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;result&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Prim(n);<br></span><span style="color: #008080; ">94</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Scenario&nbsp;#%d:\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,i);<br></span><span style="color: #008080; ">95</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d\n\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,result);<br></span><span style="color: #008080; ">96</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">97</span>&nbsp;<span style="color: #000000; ">}</span></div></div><img src ="http://www.cppblog.com/liuhao/aggbug/104604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2010-01-01 14:24 <a href="http://www.cppblog.com/liuhao/archive/2010/01/01/104604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Poj 1840 Eqs</title><link>http://www.cppblog.com/liuhao/archive/2009/12/22/103688.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Tue, 22 Dec 2009 04:32:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2009/12/22/103688.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/103688.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2009/12/22/103688.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/103688.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/103688.html</trackback:ping><description><![CDATA[题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=1840<div>题目描述：求方程的根的个数</div><div>注意事项：hash可以用char，避免占用内存过多</div><div>提交情况：1次MLE，用int开数组太大了</div><div>心得体会：暂无<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); 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; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdio.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;calCube(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;x)<br></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;x</span><span style="color: #000000; ">*</span><span style="color: #000000; ">x</span><span style="color: #000000; ">*</span><span style="color: #000000; ">x;<br></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">}<br></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;hash[</span><span style="color: #000000; ">25000010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;a1,a2,a3,a4,a5;<br></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d%d%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">a1,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">a2,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">a3,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">a4,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">a5);<br></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;result;<br></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;memset(hash,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(hash));<br></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(i</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;j</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(j</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">25</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; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;k</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;k</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;k</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">28</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; ">if</span><span style="color: #000000; ">(k</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a1</span><span style="color: #000000; ">*</span><span style="color: #000000; ">calCube(i)</span><span style="color: #000000; ">+</span><span style="color: #000000; ">a2</span><span style="color: #000000; ">*</span><span style="color: #000000; ">calCube(j)</span><span style="color: #000000; ">+</span><span style="color: #000000; ">a3</span><span style="color: #000000; ">*</span><span style="color: #000000; ">calCube(k);<br></span><span style="color: #008080; ">31</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; ">if</span><span style="color: #000000; ">(result</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">12500000</span><span style="color: #000000; ">||</span><span style="color: #000000; ">result</span><span style="color: #000000; ">&lt;-</span><span style="color: #000000; ">12500000</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hash[result</span><span style="color: #000000; ">+</span><span style="color: #000000; ">12500000</span><span style="color: #000000; ">]</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;ans</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(i</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;j</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(j</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">46</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; ">continue</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a4</span><span style="color: #000000; ">*</span><span style="color: #000000; ">calCube(i)</span><span style="color: #000000; ">+</span><span style="color: #000000; ">a5</span><span style="color: #000000; ">*</span><span style="color: #000000; ">calCube(j);<br></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result</span><span style="color: #000000; ">=-</span><span style="color: #000000; ">result;<br></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">hash[result</span><span style="color: #000000; ">+</span><span style="color: #000000; ">12500000</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">50</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">51</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">52</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">53</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,ans);<br></span><span style="color: #008080; ">54</span>&nbsp;<span style="color: #000000; ">}</span></div></div><img src ="http://www.cppblog.com/liuhao/aggbug/103688.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2009-12-22 12:32 <a href="http://www.cppblog.com/liuhao/archive/2009/12/22/103688.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1416 Shredding Company</title><link>http://www.cppblog.com/liuhao/archive/2009/12/19/103539.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Sat, 19 Dec 2009 11:36:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2009/12/19/103539.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/103539.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2009/12/19/103539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/103539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/103539.html</trackback:ping><description><![CDATA[
题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=1416<div>所用算法：枚举（01枚举）</div><div>注意事项：注意位操作，要细心</div><div>提交情况：半个月前（12月4号，两次wa），今天重新读题又完全换思路重写了一遍，ac</div><div>心得体会：数据量小，直接枚举就可以，并不一定必须要深搜或剪枝。这道题如果深搜的话，剪枝的条件也是非常明显的。代码很乱，希望半个月后review的话还能看得懂。</div><div><span  style="font-family: monospace; font-size: 13px; white-space: pre; "><span style="color: rgb(0, 128, 128); ">1</span> <span style="color: rgb(0, 0, 0); ">#include</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">iostream</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  2</span> <span style="color: rgb(0, 0, 0); ">#include</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">stdio.h</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  3</span> <span style="color: rgb(0, 0, 0); ">#include</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">math.h</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  4</span> <span style="color: rgb(0, 0, 0); ">#include</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">stdlib.h</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  5</span> <span style="color: rgb(0, 0, 0); ">#include</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 255); ">string</span><span style="color: rgb(0, 0, 0); ">.h</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  6</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">using</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">namespace</span><span style="color: rgb(0, 0, 0); "> std;
</span><span style="color: rgb(0, 128, 128); ">  7</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">  8</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> calvalue(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> t,</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> sum)
</span><span style="color: rgb(0, 128, 128); ">  9</span> <span style="color: rgb(0, 0, 0); ">{
</span><span style="color: rgb(0, 128, 128); "> 10</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> result</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 11</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> j</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 12</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">for</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> i</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;i</span><span style="color: rgb(0, 0, 0); ">&lt;=</span><span style="color: rgb(0, 0, 0); ">5</span><span style="color: rgb(0, 0, 0); ">;i</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 13</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); "> 14</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(t</span><span style="color: rgb(0, 0, 0); ">&amp;</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">&lt;&lt;</span><span style="color: rgb(0, 0, 0); ">i))
</span><span style="color: rgb(0, 128, 128); "> 15</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 16</span> <span style="color: rgb(0, 0, 0); ">            result</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">result</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">sum</span><span style="color: rgb(0, 0, 0); ">%</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); ">)pow(</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">,j</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 17</span> <span style="color: rgb(0, 0, 0); ">            sum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">sum</span><span style="color: rgb(0, 0, 0); ">/</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); ">)pow(</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">,j</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 18</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 128, 0); ">//</span><span style="color: rgb(0, 128, 0); ">printf("%d %d\\n",result,sum);            </span><span style="color: rgb(0, 128, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 19</span> <span style="color: rgb(0, 128, 0); "></span><span style="color: rgb(0, 0, 0); ">            j</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 20</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 21</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 22</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 23</span> <span style="color: rgb(0, 0, 0); ">            j</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 24</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 25</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); "> 26</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">return</span><span style="color: rgb(0, 0, 0); "> result</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">sum;
</span><span style="color: rgb(0, 128, 128); "> 27</span> <span style="color: rgb(0, 0, 0); ">}
</span><span style="color: rgb(0, 128, 128); "> 28</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 29</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> printvalue(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> t,</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> sum)
</span><span style="color: rgb(0, 128, 128); "> 30</span> <span style="color: rgb(0, 0, 0); ">{
</span><span style="color: rgb(0, 128, 128); "> 31</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> stack[</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">];
</span><span style="color: rgb(0, 128, 128); "> 32</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> top</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 33</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> j</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 34</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">for</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> i</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;i</span><span style="color: rgb(0, 0, 0); ">&lt;=</span><span style="color: rgb(0, 0, 0); ">5</span><span style="color: rgb(0, 0, 0); ">;i</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 35</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); "> 36</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(t</span><span style="color: rgb(0, 0, 0); ">&amp;</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">&lt;&lt;</span><span style="color: rgb(0, 0, 0); ">i))
</span><span style="color: rgb(0, 128, 128); "> 37</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 38</span> <span style="color: rgb(0, 0, 0); ">            stack[top</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">]</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">sum</span><span style="color: rgb(0, 0, 0); ">%</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); ">)pow(</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">,j</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 39</span> <span style="color: rgb(0, 0, 0); ">            sum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">sum</span><span style="color: rgb(0, 0, 0); ">/</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); ">)pow(</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">,j</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 40</span> <span style="color: rgb(0, 0, 0); ">            j</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 41</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 42</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 43</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 44</span> <span style="color: rgb(0, 0, 0); ">            j</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 45</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 46</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); "> 47</span> <span style="color: rgb(0, 0, 0); ">    stack[top</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">]</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">sum;
</span><span style="color: rgb(0, 128, 128); "> 48</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">while</span><span style="color: rgb(0, 0, 0); ">(top</span><span style="color: rgb(0, 0, 0); ">!=</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 49</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); "> 50</span> <span style="color: rgb(0, 0, 0); ">        printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">%d </span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">,stack[</span><span style="color: rgb(0, 0, 0); ">--</span><span style="color: rgb(0, 0, 0); ">top]);
</span><span style="color: rgb(0, 128, 128); "> 51</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 52</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); "> 53</span> <span style="color: rgb(0, 0, 0); ">    printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">%d\\n</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">,stack[</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">]);
</span><span style="color: rgb(0, 128, 128); "> 54</span> <span style="color: rgb(0, 0, 0); ">}
</span><span style="color: rgb(0, 128, 128); "> 55</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 56</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> main()
</span><span style="color: rgb(0, 128, 128); "> 57</span> <span style="color: rgb(0, 0, 0); ">{
</span><span style="color: rgb(0, 128, 128); "> 58</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> target;
</span><span style="color: rgb(0, 128, 128); "> 59</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">char</span><span style="color: rgb(0, 0, 0); "> num[</span><span style="color: rgb(0, 0, 0); ">7</span><span style="color: rgb(0, 0, 0); ">];
</span><span style="color: rgb(0, 128, 128); "> 60</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 128, 0); ">//</span><span style="color: rgb(0, 128, 0); ">freopen("data.in","r",stdin);</span><span style="color: rgb(0, 128, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 61</span> <span style="color: rgb(0, 128, 0); "></span><span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">while</span><span style="color: rgb(0, 0, 0); ">(scanf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">%d%s</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">,</span><span style="color: rgb(0, 0, 0); ">&amp;</span><span style="color: rgb(0, 0, 0); ">target,num)</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">2</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 62</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); "> 63</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(target</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">&amp;&amp;</span><span style="color: rgb(0, 0, 0); ">num[</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">]</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 64</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">break</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 65</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> sum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 66</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> flag</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 67</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> length</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">strlen(num);
</span><span style="color: rgb(0, 128, 128); "> 68</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> minvalue</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 69</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> partition</span><span style="color: rgb(0, 0, 0); ">=-</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 70</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">for</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> i</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;i</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">length;i</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 71</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 72</span> <span style="color: rgb(0, 0, 0); ">            sum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); ">sum</span><span style="color: rgb(0, 0, 0); ">+</span><span style="color: rgb(0, 0, 0); ">num[i]</span><span style="color: rgb(0, 0, 0); ">-</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 73</span> <span style="color: rgb(0, 0, 0); ">            minvalue</span><span style="color: rgb(0, 0, 0); ">+=</span><span style="color: rgb(0, 0, 0); ">num[i]</span><span style="color: rgb(0, 0, 0); ">-</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">'</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 74</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 75</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 76</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(sum</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">target)
</span><span style="color: rgb(0, 128, 128); "> 77</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 78</span> <span style="color: rgb(0, 0, 0); ">            printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">%d %d\\n</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">,target,sum);
</span><span style="color: rgb(0, 128, 128); "> 79</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">continue</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 80</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 81</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(minvalue</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">target)
</span><span style="color: rgb(0, 128, 128); "> 82</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 83</span> <span style="color: rgb(0, 0, 0); ">            printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">error\\n</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 84</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">continue</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 85</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); "> 86</span> <span style="color: rgb(0, 0, 0); ">        </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 87</span> <span style="color: rgb(0, 0, 0); ">        {
</span><span style="color: rgb(0, 128, 128); "> 88</span> <span style="color: rgb(0, 0, 0); ">            minvalue</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 89</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> mysum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 90</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> times</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">&lt;&lt;</span><span style="color: rgb(0, 0, 0); ">(length</span><span style="color: rgb(0, 0, 0); ">-</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); "> 91</span> <span style="color: rgb(0, 0, 0); ">            </span><span style="color: rgb(0, 0, 255); ">for</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> j</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;j</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">times;j</span><span style="color: rgb(0, 0, 0); ">++</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); "> 92</span> <span style="color: rgb(0, 0, 0); ">            {
</span><span style="color: rgb(0, 128, 128); "> 93</span> <span style="color: rgb(0, 0, 0); ">                mysum</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">calvalue(j,sum);
</span><span style="color: rgb(0, 128, 128); "> 94</span> <span style="color: rgb(0, 0, 0); ">                </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(mysum</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">minvalue)
</span><span style="color: rgb(0, 128, 128); "> 95</span> <span style="color: rgb(0, 0, 0); ">                {
</span><span style="color: rgb(0, 128, 128); "> 96</span> <span style="color: rgb(0, 0, 0); ">                    flag</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); "> 97</span> <span style="color: rgb(0, 0, 0); ">                }                        
</span><span style="color: rgb(0, 128, 128); "> 98</span> <span style="color: rgb(0, 0, 0); ">                    </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(mysum</span><span style="color: rgb(0, 0, 0); ">&lt;=</span><span style="color: rgb(0, 0, 0); ">target</span><span style="color: rgb(0, 0, 0); ">&amp;&amp;</span><span style="color: rgb(0, 0, 0); ">mysum</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">minvalue)
</span><span style="color: rgb(0, 128, 128); "> 99</span> <span style="color: rgb(0, 0, 0); ">                {
</span><span style="color: rgb(0, 128, 128); ">100</span> <span style="color: rgb(0, 0, 0); ">                    minvalue</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">mysum;
</span><span style="color: rgb(0, 128, 128); ">101</span> <span style="color: rgb(0, 0, 0); ">                    flag</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); ">102</span> <span style="color: rgb(0, 0, 0); ">                            partition</span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); ">j;
</span><span style="color: rgb(0, 128, 128); ">103</span> <span style="color: rgb(0, 0, 0); ">                }
</span><span style="color: rgb(0, 128, 128); ">104</span> <span style="color: rgb(0, 0, 0); ">            }    
</span><span style="color: rgb(0, 128, 128); ">105</span> <span style="color: rgb(0, 0, 0); ">        }
</span><span style="color: rgb(0, 128, 128); ">106</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">if</span><span style="color: rgb(0, 0, 0); ">(flag</span><span style="color: rgb(0, 0, 0); ">==</span><span style="color: rgb(0, 0, 0); ">1</span><span style="color: rgb(0, 0, 0); ">)
</span><span style="color: rgb(0, 128, 128); ">107</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); ">108</span> <span style="color: rgb(0, 0, 0); ">        printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">rejected\\n</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">);
</span><span style="color: rgb(0, 128, 128); ">109</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); ">110</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">else</span><span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">111</span> <span style="color: rgb(0, 0, 0); ">    {
</span><span style="color: rgb(0, 128, 128); ">112</span> <span style="color: rgb(0, 0, 0); ">        printf(</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">%d </span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">,minvalue);
</span><span style="color: rgb(0, 128, 128); ">113</span> <span style="color: rgb(0, 0, 0); ">            printvalue(partition,sum);
</span><span style="color: rgb(0, 128, 128); ">114</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); ">115</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">116</span> <span style="color: rgb(0, 0, 0); ">    }
</span><span style="color: rgb(0, 128, 128); ">117</span> <span style="color: rgb(0, 0, 0); ">}
</span><span style="color: rgb(0, 128, 128); ">118</span> </span></div><img src ="http://www.cppblog.com/liuhao/aggbug/103539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2009-12-19 19:36 <a href="http://www.cppblog.com/liuhao/archive/2009/12/19/103539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 3083 Children of the Candy Corn（bfs求最短路／迷宫）</title><link>http://www.cppblog.com/liuhao/archive/2009/12/18/103470.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Fri, 18 Dec 2009 06:27:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2009/12/18/103470.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/103470.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2009/12/18/103470.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/103470.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/103470.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=3083题目描述：求最短路，求沿特定方向走迷宫的步数所用算法：最短路用bfs求，特定方向走迷宫直接用while计数（这里写的比较繁琐，要细心，本来看题目分类是在dfs里面的，以为这要用dfs，细想想不用，而求迷宫最短路径，bfs应该是首选了）提交情况：1次wa(忘了加&lt;stdio.h&gt;头...&nbsp;&nbsp;<a href='http://www.cppblog.com/liuhao/archive/2009/12/18/103470.html'>阅读全文</a><img src ="http://www.cppblog.com/liuhao/aggbug/103470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2009-12-18 14:27 <a href="http://www.cppblog.com/liuhao/archive/2009/12/18/103470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 1936 All in All</title><link>http://www.cppblog.com/liuhao/archive/2009/12/18/103459.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Fri, 18 Dec 2009 03:55:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2009/12/18/103459.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/103459.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2009/12/18/103459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/103459.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/103459.html</trackback:ping><description><![CDATA[题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=1936<div>所用算法：字符串</div><div>提交情况：1A</div><div>注意事项：无</div><div>心得体会：水题<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); 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; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdio.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;s[</span><span style="color: #000000; ">100010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;t[</span><span style="color: #000000; ">100010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;judge(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;s[],</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;t[])<br></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(s[i]</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">'</span><span style="color: #000000; ">\0</span><span style="color: #000000; ">'</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">t[j]</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">'</span><span style="color: #000000; ">\0</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(s[i]</span><span style="color: #000000; ">==</span><span style="color: #000000; ">t[j])<br></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(s[i]</span><span style="color: #000000; ">==</span><span style="color: #000000; ">'</span><span style="color: #000000; ">\0</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">}<br></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">freopen("data.in","r",stdin);</span><span style="color: #008000; "><br></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%s&nbsp;%s</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,s,t)</span><span style="color: #000000; ">==</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(judge(s,t))<br></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Yes\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">No\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">}</span></div></div><div><br></div><img src ="http://www.cppblog.com/liuhao/aggbug/103459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2009-12-18 11:55 <a href="http://www.cppblog.com/liuhao/archive/2009/12/18/103459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POJ 2299 Ultra-QuickSort</title><link>http://www.cppblog.com/liuhao/archive/2009/12/17/103396.html</link><dc:creator>ACTime</dc:creator><author>ACTime</author><pubDate>Thu, 17 Dec 2009 06:00:00 GMT</pubDate><guid>http://www.cppblog.com/liuhao/archive/2009/12/17/103396.html</guid><wfw:comment>http://www.cppblog.com/liuhao/comments/103396.html</wfw:comment><comments>http://www.cppblog.com/liuhao/archive/2009/12/17/103396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/liuhao/comments/commentRss/103396.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/liuhao/services/trackbacks/103396.html</trackback:ping><description><![CDATA[
题目链接：http://acm.pku.edu.cn/JudgeOnline/problem?id=2299<div>题目描述：求冒泡排序的交换次数</div><div>所用算法：用归并排序，求逆序数的个数</div><div>提交情况：1次tle(直接冒泡排序n^2的复杂度，对于5000000的数据量，必然超时)，1次wa（统计个数时整数溢出了），1a</div><div>心得体会：初看题目很简单，没有往数据量方面想，直接冒泡计数提交，然后看着poj上一直running&amp;&amp;judging直到tle, 时限7000ms呀。没做过逆序数的类似问题，而且题目本身分类也在排序那，然后考虑是不是能快排一下，比较排序前和排序后各个数的位置。考虑再三，发现解决不了。去论坛上瞄了一眼，看到可以用逆序数解，于是百度＋算法导论，学到了如何用归并排序计算逆序数的数目，写成程序，中间还出现了一次wa，然后就ac了。我在看算法导论时，因为merge在书一开始讲的，想平时排序都是快排为主流，就没有仔细想过merge可能的变种，这道题充分印证了，即使merge本身可能用的不多，但分冶的思想却是无所不在</div><div>类似题目：poj1804<br><div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); 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; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdio.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;num[</span><span style="color: #000000; ">500010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;left_t[</span><span style="color: #000000; ">500010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;right_t[</span><span style="color: #000000; ">500010</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;count</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;merge(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;a[],</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;p,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;q,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;r)<br></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n1</span><span style="color: #000000; ">=</span><span style="color: #000000; ">q</span><span style="color: #000000; ">-</span><span style="color: #000000; ">p</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n2</span><span style="color: #000000; ">=</span><span style="color: #000000; ">r</span><span style="color: #000000; ">-</span><span style="color: #000000; ">q;<br></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">n1;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left_t[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a[p</span><span style="color: #000000; ">+</span><span style="color: #000000; ">i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">n2;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right_t[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">a[q</span><span style="color: #000000; ">+</span><span style="color: #000000; ">i];<br></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;left_t[n1</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0x7fffffff</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;right_t[n2</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0x7fffffff</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;j</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;k</span><span style="color: #000000; ">=</span><span style="color: #000000; ">p;k</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">r;k</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(left_t[i]</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">right_t[j])<br></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[k]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">left_t[i];<br></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[k]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">right_t[j];<br></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000; ">=</span><span style="color: #000000; ">j</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">n1</span><span style="color: #000000; ">-</span><span style="color: #000000; ">i</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">}<br></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;merge_sort(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;a[],</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;p,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;r)<br></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(p</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">r)<br></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;q</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(p</span><span style="color: #000000; ">+</span><span style="color: #000000; ">r)</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merge_sort(a,p,q);<br></span><span style="color: #008080; ">50</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merge_sort(a,q</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,r);<br></span><span style="color: #008080; ">51</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merge(a,p,q,r);<br></span><span style="color: #008080; ">52</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">53</span>&nbsp;<span style="color: #000000; ">}<br></span><span style="color: #008080; ">54</span>&nbsp;<span style="color: #000000; "><br></span><span style="color: #008080; ">55</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br></span><span style="color: #008080; ">56</span>&nbsp;<span style="color: #000000; ">{<br></span><span style="color: #008080; ">57</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;n;<br></span><span style="color: #008080; ">58</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">n);<br></span><span style="color: #008080; ">59</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(n</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">60</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">61</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">n;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br></span><span style="color: #008080; ">62</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080; ">63</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">num[i]);<br></span><span style="color: #008080; ">64</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">65</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merge_sort(num,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,n</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br></span><span style="color: #008080; ">66</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%lld\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,count);<br></span><span style="color: #008080; ">67</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br></span><span style="color: #008080; ">68</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">n);<br></span><span style="color: #008080; ">69</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080; ">70</span>&nbsp;<span style="color: #000000; ">}</span></div>的</div><div><br></div><img src ="http://www.cppblog.com/liuhao/aggbug/103396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/liuhao/" target="_blank">ACTime</a> 2009-12-17 14:00 <a href="http://www.cppblog.com/liuhao/archive/2009/12/17/103396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>