﻿<?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++博客-心如止水-随笔分类-Programming Diary</title><link>http://www.cppblog.com/rakerichard/category/12741.html</link><description>Je n'ai pas le temps
</description><language>zh-cn</language><lastBuildDate>Tue, 30 Aug 2011 13:25:45 GMT</lastBuildDate><pubDate>Tue, 30 Aug 2011 13:25:45 GMT</pubDate><ttl>60</ttl><item><title>我好喜欢你～</title><link>http://www.cppblog.com/rakerichard/archive/2011/08/30/154670.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Tue, 30 Aug 2011 01:57:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2011/08/30/154670.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/154670.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2011/08/30/154670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/154670.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/154670.html</trackback:ping><description><![CDATA[19141139～<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">cstdio</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></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 /><br /></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;I_Love_U&nbsp;(&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;j&amp;=&nbsp;&nbsp;&nbsp;y+&nbsp;y*&nbsp;&nbsp;&nbsp;&nbsp;jv+&nbsp;&nbsp;&nbsp;yy-v&nbsp;&nbsp;&nbsp;&nbsp;v&nbsp;&amp;\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;wE!\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;j17$T&nbsp;&nbsp;&nbsp;7MPC&nbsp;&nbsp;&nbsp;NU$E</span><span style="color: #000000; ">-</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;Ej</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">v</span><span style="color: #000000; ">-</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;O*K^&nbsp;&nbsp;yHH:Ovm+&nbsp;UMMk&nbsp;&nbsp;&nbsp;BMNTO:&nbsp;H1=\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">7</span><span style="color: #000000; ">'</span><span style="color: #000000; ">\n");</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;j0&amp;0H:&nbsp;\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">OH7\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">E~&nbsp;&nbsp;U0H1&nbsp;&nbsp;&nbsp;BB71`&nbsp;jCf'U:\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;vM1H1&nbsp;&nbsp;&nbsp;jB-j1&nbsp;&nbsp;wHhHh*-/$B)B-&nbsp;&nbsp;&nbsp;BkJUk\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;^HI'OH&nbsp;j\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">^N1&nbsp;&nbsp;\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">OHOK</span><span style="color: #000000; ">~</span><span style="color: #000000; ">&nbsp;&nbsp;H$H\</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Da&nbsp;jP'N&nbsp;^\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;\</span><span style="color: #000000; ">"'</span><span style="color: #000000; ">&nbsp;&nbsp;O|&nbsp;&nbsp;&nbsp;&nbsp;\"&nbsp;&nbsp;&nbsp;&nbsp;jvHT&nbsp;&nbsp;&nbsp;T&nbsp;~&nbsp;\"\"&nbsp;&nbsp;&nbsp;&nbsp;\"\n");</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">}<br /><br /></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;I_Love_U&nbsp;(&nbsp;)&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&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 />}<br /></span></div><img src ="http://www.cppblog.com/rakerichard/aggbug/154670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2011-08-30 09:57 <a href="http://www.cppblog.com/rakerichard/archive/2011/08/30/154670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>集训 7月18日</title><link>http://www.cppblog.com/rakerichard/archive/2011/07/19/151419.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Tue, 19 Jul 2011 14:14:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2011/07/19/151419.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/151419.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2011/07/19/151419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/151419.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/151419.html</trackback:ping><description><![CDATA[Problem 1005<br />博弈题。这题的博弈先手必胜！直接输出结果即可。<br /><br />Problem 1008<br />算是一道基础题吧，一次AC。<br /><br />最后排名出来的时候数了一下发现自己在校内排第九&#8230;&#8230;还不错啦，在2题中算是用时比较少的。<br /><br />今天听说了一个Pollard Rho因子分解算法，还听说了一个最小路径覆盖&#8230;&#8230;唉，自己知道得太少啦。<img src ="http://www.cppblog.com/rakerichard/aggbug/151419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2011-07-19 22:14 <a href="http://www.cppblog.com/rakerichard/archive/2011/07/19/151419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>集训 7月16日</title><link>http://www.cppblog.com/rakerichard/archive/2011/07/16/151179.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sat, 16 Jul 2011 10:06:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2011/07/16/151179.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/151179.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2011/07/16/151179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/151179.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/151179.html</trackback:ping><description><![CDATA[Problem B<br />求无向连通图的割边。<br />第一次写割边，提交了5次才AC～幸亏我把我的书带来了。<br /><br />Problem J<br />如果a[i]==i，就输出。<br />超级水题，不过我写晚了点&#8230;&#8230;<br /><br />总共就AC了这两题，Problem A本来可以做的，写半天没有写好。在WHU排第五&#8230;&#8230;<img src ="http://www.cppblog.com/rakerichard/aggbug/151179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2011-07-16 18:06 <a href="http://www.cppblog.com/rakerichard/archive/2011/07/16/151179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>e鸣杯程序设计竞赛总结</title><link>http://www.cppblog.com/rakerichard/archive/2011/05/26/147154.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Thu, 26 May 2011 00:25:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2011/05/26/147154.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/147154.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2011/05/26/147154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/147154.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/147154.html</trackback:ping><description><![CDATA[<div>WHU的师兄让我做这套题练一下，说5个小时AC 6道题算正常&#8230;&#8230;我总算还是AC了其中6道水题了。<br /><br />下面是我AC的6道题。<br />Problem A: I Know the Winner<br />图论问题。根据胜负关系构建一个有向图，如果从1号结点出发可以遍历所有结点，则输出"Yes"，否则输出"No"。遍历实际上可以得到一棵树，这棵树就对应着一组可行的决策。<br />Problem B: Tree<br />简单树结构。首先确定一个根结点（随便选），然后计算出以每个结点为根的子树的权值，最后枚举删除的子树即可。<br />Problem C: God Create Math<br />求sin(n!*[ln(n)]*fib(n)%2012)。问题的关键在于n!%2012。<br />Problem D: Maze<br />模拟指令即可。<br />Problem E: Maze Again<br />BFS。做过许多次了，不过这次要求指令的字典序最小，按照字母表顺序递增的顺序枚举每个指令即可。<br />Problem H: Angle<br />求向量夹角。高中数学都学过。<br /><br />Problem F: Region<br />组合计数。无思路。<br />Problem G: Tian Wang's Game<br />不晓得是什么类型的题目，肯定不是博弈，搜索规模太大，DP状态不能确定，网络流构建不了图&#8230;&#8230;呃，就是这样。</div><img src ="http://www.cppblog.com/rakerichard/aggbug/147154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2011-05-26 08:25 <a href="http://www.cppblog.com/rakerichard/archive/2011/05/26/147154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的NOIP2010，第一弹</title><link>http://www.cppblog.com/rakerichard/archive/2010/10/16/130153.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sat, 16 Oct 2010 10:39:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/10/16/130153.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/130153.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/10/16/130153.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/130153.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/130153.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中午刚要吃饭的时候，看到豆豆在线，和她聊了起来，边聊边吃饭，来回出入客厅和书房。聊得不多，内容挺广泛，理想的大学、现状、和我今天要参加NOIP2010初赛的事。她要我加油，我就觉得我下午肯定能考好的。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13点40左右，在网上和豆豆告别之后就打车去了实验中学。只见校门紧闭，一堆人等在门外，直到2点15左右才让进门。迅速地找到考场，四处走走，发现没有男WC&#8230;&#8230;快发卷的时候打开一个德芙吃了一半。郁闷全市只有我一个报了C++，监考老师单把我的试卷发给我，还让我上台去领。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 奋战ing！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择题除了几道非常规题以外难度不大，第二题想着A，却选了B，杯具；问题求解第一题很简单；程序阅读和完善程序大体满意~~全都做完了之后把剩下的德芙给吃掉了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 68.5&#8230;&#8230;及格了，还好还好，进复赛没问题。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下星期还有测试。四次或五次测试之后复赛就到来了&#8230;&#8230;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 嗯，NOIP2010~加油！</p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/130153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-10-16 18:39 <a href="http://www.cppblog.com/rakerichard/archive/2010/10/16/130153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>感慨、感伤，我的OI生涯</title><link>http://www.cppblog.com/rakerichard/archive/2010/03/28/110757.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sun, 28 Mar 2010 13:37:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/03/28/110757.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/110757.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/03/28/110757.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/110757.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/110757.html</trackback:ping><description><![CDATA[今年已经高二了，2010年的市选已经结束，还有一个月，我将迎来省选。这时候突然感到特别绝望和无助，没有上一次准备竞赛时的状态，反倒多了一丝不好的预感。此刻不想考虑程序和一行行的代码，却很想记录下高中以来的OI。<br><br><br><br><br><br>2008年10月左右，开始接触计算机编程，学习C语言。<br><br>两个星期的时间，学习了一点点基础，参加NOIP2008，初赛满分100分，我得了25分，没有进入复赛。<br><br>之后查了NOIP2008安徽省的成绩，满分400分的题目闫令琪330分全省第二；之前一次坐公交车也听说了一些事情；没有想到竟然是同一个人。当时还不认识他。<br><br>之后的几个月里，一直被C语言的基本语法困扰着，其中指针是我认为最难的。寒假的时候看完了吉林大学康辉教授的48集C语言教程，教程基本上是很基础的，但是加深了我对递归的理解。这一阶段一直在学习着一些基础问题：选择结构、循环结构、动态内存的分配&#8230;&#8230;现在回想起来，自己浪费了一些时间在一些用处不大的方面，比如数组和指针。<br><br>在那年学校开联欢晚会的那天中午上学的时候，我去新华书店找到了一本《密码传奇》，此书主要介绍二战时期的密码战。寒假的时候根据介绍编写了几个加密和解密，我直到现在都认为是这些程序奠定了我的编程基础，这可能是我做的最早的&#8220;字符串处理&#8221;类的题目吧。<br><br>2009年1月左右，第一次登陆了vijos，认识了在线测评系统，感觉上面的题目好难。<br><br>差不多也是在这个月，逛新华书店时发现了一本《全国青少年信息学奥林匹克联赛培训教程（中学高级本）》，书上给的代码是Pascal语言写的，看上去虽然不习惯，但还是能看懂吧。买这本书的原因很简单：在此之前，我一直认为贪心和动态规划是很难而且很重要的，因为经常听别人提到贪心和DP，而且有些最优化问题需要依靠这两种想法来解决。翻开目录第三章就是贪心，后面几章还有动态规划，于是就买了。<br><br>现在看来对此书内容实在不敢恭维，大大限制了读者的思维。但是，毕竟还是扎实了我对基础算法的掌握，让我对信息学竞赛有了一个更全面的了解：不仅仅是C语言，也不单动态规划，还有图论、搜索、剪枝、数据结构、组合数学&#8230;&#8230;<br><br>2009年3月左右，也就是去年的这个时候，老师通知我参加信息学竞赛阜阳市选拔，参加的时候没有想到能进复赛。试题总共7道题，每题100分，我做了4道题，当时也没有数据规模的概念，以为只要答案正确不管效率如何就能拿满了，当时快速排序、二分查找都不会，就会一个冒泡排序和线性查找（线性查找说得挺邪乎，就是从前向后找，找到为止），更别说动态规划、图论和搜索了。不过我发挥得还算好，会的都用上了。保守地估计了一个350的分数，结果才得了290。但是却出乎我意料地全市第三。<br><br>之后开始准备省选，按照我的观念，我自然从动态规划开始学。<br><br>记得那个月的某个下午，和高我一届、市选第二名的学长sqm一起吃饭，他问我最近准备从哪个方面复习（那时的我哪谈得上&#8220;复习&#8221;），我说我在学动态规划，他劝我学习深度优先搜索（DFS），说省选的动态规划很难，临时学没有意义。我那时知道，那个比赛叫&#8220;省选&#8221;。<br><br>之后开始学DFS，大概学了几个星期。在此期间，我试图用动态规划解决市选中我没有完成的第五题，但是失败了，对第六题更是没有思路，无奈只有先放着。<br><br>又从网上订了一本《数据结构与程序设计——C语言（第二版）》，差不多把前几章都看完了。现在真的惊叹于当时的理解力和记忆力，许多内容几乎看过一遍就不会忘记。<br><br>4月底，坐上了去芜湖的火车。在火车站，第一次见到了城郊中学的wxy，比我高一届。在火车上，我了解到了NOIP2008时sqm和wxy的成绩，多说一句，直到NOIP2009复赛的时候，我才知道为什么他们当时会得到那么不满意的分数。wxy说市选第五题是贪心，我当时百思不得其解，始终不能理解。<br><br>记得在省选的前一天晚上，我和sqm把wxy的《算法艺术与信息学竞赛》这本书借来，sqm似乎对数论非常感兴趣，我们一起看miller-robbin素数测试，他当时提出了一个关于p很大的情况下会溢出的疑问，当时我对此也感到不解。现在回想，真的是很简单的问题。<br><br>省选分两试，总分600，一试我的得分是0分，二试的分数老师似乎是安慰我说了30分。<br><br>省选回来之后，我从网上订了一本《算法艺术与信息学竞赛》，翻看了前几页就看不下去了，纯理论没有代码，内容很深，于是还是决定看《培训教程》。<br>再次回想，还是《算法艺术》的内容比较有深度和启发性，《培训教程》虽然易懂但是却很有局限性。<br><br>wxy在省选中取得了不错的成绩，全省十几名，回来之后在城郊中学办了一个模拟赛，自己出题，邀请别人来考。我也去了，400分的题目考了280分，在那里认识了初中的几位选手，包括和我一个班主任的十五中的几位、还有初中其它学校的。<br><br>之后的一段时间一直是在慢慢地学习、偶尔到vijos上做题、参加模拟赛。<br><br>到了暑假，闫令琪在高考中取得了全市最高分，办了一个辅导班，我也去了。那儿的氛围很轻松，和平常上课很不一样，一人一台笔记本，课想听就听，不想听玩电脑。许多内容我确实认真听了，收获很多。<br>这个暑假进步很大，在各个方面：思考问题的方式、动态规划、搜索、图论、数论&#8230;&#8230;其中我认为最重要的就是思考问题的方式，其它的都是次要的，方法才是本质。<br><br>转眼间暑假过完了，到了9月份，这意味着我即将迎来新一年的NOIP！初赛是笔试，还要背许多计算机常识，什么人工智能之父、计算机之父之类的内容。<br><br>初赛在十五中举行，回到母校，突然感觉很熟悉，坐在教室里，感觉就像九年级月考一样，见到了一个初中同学。又想到了我九年级的八次月考，熟悉了八次的第一考场。<br><br>初赛有点不按常规出题&#8230;&#8230;但还是进了复赛，依然是第三。<br><br>之后是每周一次的集训，每次做2-3个小时题目，做过之后立即排名，我记得我第一次集训是第一名，之后在1-3名之间徘徊。<br><br>到了11月21日的复赛，这天是yx的生日。上午结束了3个小时的竞赛，回去的火车上给yx发了一条短信。在之后的一段时间里甚至是现在，我都觉得那3个小时惊心动魄，第三题很久没有思路，想到枚举，写了100多行的代码但是运行时却出错，当时的放弃真是最冒险也是最正确的决定了，果断地开始了最后一题。后来看成绩的时候，发现自己最后一题得了全省最高分，比这题的第三名高出50分，也就是靠最后一题才取得了全省第七的名次。忘了当时是如何决定放弃的，要知道，如果放弃一道题目，可能就不是一等奖了。就结果来看，如果不放弃，我真的不是一等奖了。<br><br>sqm、wxy同时获得省一等奖。<br><br>准备复赛的那段时间真的很辛苦，每天都要熬夜到十二点多，奇怪的是白天也不困，中午很多时候也不睡觉，走到哪想的都是算法和代码，每天抱着《算法艺术》和《培训教程》。<br><br>回想起来，最终不错的结果和我有计划的复习可能也有一定的关系（大半年之后的我真的算是&#8220;复习&#8221;了），把基础练习得很扎实。<br><br>NOIP2009圆满收场，之后的半年内我更多关注的是大学的招生信息，决定自己应该报考哪所大学的保送生考试，文化课方面也有所进步，编程方面没有花太多心思，偶尔看看算法、做做题。<br><br><br><br><br><br>1个月之后就是省选了，确实感觉到时间的流逝了，此刻再次想起了伽罗华的那句&#8220;我没有时间了&#8221;，语文老师教给我们许多惜时的名言，我觉得都没有这句话说得最真挚。这一年的时间里经历了太多的事情是我需要记录下来的，也正是出于这个目的我才决定写这篇日志。<br><br>忘记了当初是什么原因才有了一闪而过的念头：&#8220;参见信息学竞赛。&#8221;如果有重新来过的机会，我不会选择孤身奋战，我不会选择信息学竞赛，可能会选择数学或者物理竞赛，我希望有一些能够交流的朋友而不是自己一个人在漫长的黑夜坐在电脑前飞速地敲击着键盘&#8230;&#8230;<br>在这将近两年的时间里，我确实改变了很多，许多的磨砺让我愈发收敛了当初的锐气，这种&#8220;收敛&#8221;决不是&#8220;谦虚&#8221;，也算不上&#8220;自卑&#8221;，是真的能够看到自己身上有许多不足，想到了在一本书上看到的话&#8220;现在的高峰绝不是顶峰，有人在更高的地方看着你&#8221;。<br><br>高中的OI生涯即将结束（如果NOIP2010我不参加的话），希望我市在今后能够取得更好的成绩。这次省选之后，一中的学生如果需要资料的话可以随时向我借：<br>《程序算法与技巧精选》<br>《数据结构（C语言版）》<br>《数据结构与程序设计——C语言（第二版）》<br>《算法竞赛入门经典》<br>《全国青少年信息学奥林匹克联赛培训教程（中学高级本）》<br>《挑战编程 程序设计竞赛训练手册》<br>《计算机数学基础》<br>《算法艺术与信息学竞赛》<br>《信息学奥林匹克竞赛国际国内分类试题精解（2003-2004）上册》<br>《信息学奥林匹克竞赛国际国内分类试题精解（2003-2004）下册》<br>《程序设计中常用的解题策略》<br>《国际大学生程序设计竞赛例题解（五）》<br><br><br>       <img src ="http://www.cppblog.com/rakerichard/aggbug/110757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-03-28 21:37 <a href="http://www.cppblog.com/rakerichard/archive/2010/03/28/110757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的FYOI 2010</title><link>http://www.cppblog.com/rakerichard/archive/2010/03/28/110731.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sun, 28 Mar 2010 05:54:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/03/28/110731.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/110731.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/03/28/110731.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/110731.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/110731.html</trackback:ping><description><![CDATA[今天从家里出来的时候带了一块巧克力放在包里，结果竞赛的时候忘记吃了~~<br><br>昨晚得到通知说：&#8220;市选总共五道题，至少有两道送分题。&#8221;<br>结果第一题果然是一道送分题：两数相减，从数据规模来看不需要高精度。预计分数：100<br>第二题数据规模是n&lt;=maxlongint，而且不注意的话很容易中间结果溢出，可以通过不停地求余运算避免。尽管避免了溢出，但是复杂度是O(n)，如果数据不是很弱的话肯定会超时。预计分数：(50,100)<br>第三题是动态规划，刚看完题目就写出状态转移方程了，复杂度O(1/2n^2)，数据规模n&lt;=5000，应该不会超时。预计分数：100<br>第三题比较郁闷的是，因为空间复杂度是O(n^2)，想通过滚动数组优化一下，但是一直没有弄好，拐回头一看：内存限制128M，打开计算器算了一下，不会超空间，又想改回来，结果怎么改改不对了，连样例都通不过！犹豫了一会，急忙不停地点&#8220;撤销&#8221;，终于该回来了！浪费了十几分钟&#8230;&#8230;<br>第四题，一开始感觉像是BFS，但是又举出了反例；动态规划吧，第三题已经出了，而且如果DP的话，需要做四次；DFS，规模太大；骗分，给出的数据有很多内容，不好猜测&#8230;&#8230;最后选择了输出样例。<br>第五题，给出一个长度为n的序列，对最小值、最大值之间的数（不包括最大值）增加一个定值，执行此操作m次，每次输出最小值、最大值的编号和数值，数据规模很大：n,m&lt;=1000000。最先考虑某种树结构，往O(mlogn)的方向思考：二叉排序树，不支持增加某个值的操作；线段树，RMQ问题编程复杂度太高，而且100万的规模O(mlogn)都有可能超时啊！难道有O(m)的算法吗？心想，不太可能。最后的做法是：模拟。<br><br>唉&#8230;&#8230;市选的结果不令人满意。<br><br>后记：<br>今天下午成绩出来了，全市第一，但是分数却不理想，没达到我的目标。<br>想到我的高中OI生涯即将结束，不免有些感伤。单凭这一点，AOI2010我也要拼尽全力！只剩下一个月，我不知道还能够进步多少，总之会尽力而为！<br><br>   <img src ="http://www.cppblog.com/rakerichard/aggbug/110731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-03-28 13:54 <a href="http://www.cppblog.com/rakerichard/archive/2010/03/28/110731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>明天就市选啦~~</title><link>http://www.cppblog.com/rakerichard/archive/2010/03/27/110689.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sat, 27 Mar 2010 12:23:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/03/27/110689.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/110689.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/03/27/110689.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/110689.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/110689.html</trackback:ping><description><![CDATA[2010年3月28日，我将参加我的第二次市选。<br>今天特意去超市买了德芙，希望明天能取得好成绩！<br><br><br><img src ="http://www.cppblog.com/rakerichard/aggbug/110689.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-03-27 20:23 <a href="http://www.cppblog.com/rakerichard/archive/2010/03/27/110689.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>被点名了。</title><link>http://www.cppblog.com/rakerichard/archive/2010/02/22/108254.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Mon, 22 Feb 2010 14:01:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/02/22/108254.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/108254.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/02/22/108254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/108254.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/108254.html</trackback:ping><description><![CDATA[<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>这是2010年的第一个点名游戏，承载着上一年的祝福...</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>&nbsp;<br>被点名了 幸福接力棒 幸福约定 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><br><font face=楷体_GB2312 color=#000000 size=5><strong>上一棒:于大磊</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>&nbsp;<br>Q1：你的大名：lyr</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q2：如果看到自己最爱的人熟睡在你面前你会做什么？打开电脑</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q3：认为什么才算是真正幸福？幸福离我很遥远</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q4：你觉得友情重要还是爱情重要？随便啦</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q5：最喜欢什么？写程式<br>Q6：刚刚在干嘛？写作业</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q7：你现在过得快乐么 ？马马虎虎<br>Q9：你会抽烟不？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q10：喜欢小baby吗？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q11：最近喜欢听的歌？不经常听歌<br>Q12：希望自己多大结婚？30+</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q14：你是不是经常觉得自己很失败呢?是<br>Q17：没有了爱人,你会怎样呢?&nbsp;写程序去</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q21：你觉得自己长大了没有？长大了</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q24：觉得自己自恋嗎？自卑吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q25：你最讨厌的人会怎样去对待?走过去</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q28：现在最迷什么？Programming</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q31：你酒品怎么样？基本不喝</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q32：最想去哪里旅游?&nbsp;布莱奇利庄园</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q33：一辈子都不会忘记的事?不知道<br>Q35：看到天空你想起的第一个人是谁?LRJ</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q36：你会爱TA一辈子么？不会吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q38：你会以何种方式表现你对他（她）的爱?&nbsp;沉默</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q39：喜欢我么？不清楚</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q40：如果你想痛扁一个人，会？不会</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q41：你有后悔过自己的决定么？有遗憾，不后悔</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q44：你是好孩子么？是<br>Q46：在黑夜独自神伤的时候，手机里有能被打扰的那个人吗?&nbsp;没有</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q47：喜欢下雨不？为什么？不喜欢，雨天湿鞋</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q49：如果你的他（她）哭了，你的第一个举动是什么？哭我也看不到啊</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q51：希望和我一直做朋友么？希望</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q53：他什么都没有，你还愿意陪着他/她吗？还没有她</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q54：今天你快乐吗？快乐，虽然昨天WA无数，但今天AC两次！</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q55：当最熟悉的人变成陌生人你会怎么面对?熟悉就不陌生</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q56：为什么我们不能说不爱了就不爱了？可以说不爱就不爱啊</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q59：这个幸福接力棒接的下去不？我不会让它接下去</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q60：你睡觉前都想什么?&nbsp;明天的计划，我的不足</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q61：最想对我说的话：好久不见</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q62：一个人的时候时常干什么？听歌，锻炼，写程序</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q64：什么时候会想起他(她)?WA的时候</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q65：回答完这些题目想说什么？谁出的题！</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q66：最想回到什么时候？初一</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q67：出现过一个可以猜对你心思的异性吗？有</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q69：你想对你的朋友、还有周围的人、说什么？</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q74：你觉得女生卷发好还是直发好？灰原哀的发型好</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q75：你观察一个人的时候，最先注意TA哪一点呢？身材</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q78：对我的评价和看法？好！</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q79：喜欢野战吗? 不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q81：你曾喜欢的人欺骗了你，你知道后你会怎么办?&nbsp;沉默</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q82：点你名的人和你是什么关系？同学</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q83：我没表情的时候真的很凶么？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q84：说爱我，必须说！no.</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q85：我其实很象嫦娥吧 ?&nbsp;不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q86：你现在最想做什么？回答完</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q87：找到幸福的时候会忘记过去？会</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q88: 如果我出国了,你会舍不得么? 可能吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q90：我消失了，你会想我吗？嗯</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q91：你觉得我是个怎样的人？好</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q92：你觉得我的未来会是什么样子？强人</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q92：你认为我是一个真诚的人吗?&nbsp;嗯</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q93：当幸福就在你身边，你会因为一些别的因素去放弃幸福吗？不会</strong></font><font face=楷体_GB2312 color=#000000 size=5><strong>Q94：在这个现实的社会里、门当户对的爱情对不对？对<br></strong></font><font face=楷体_GB2312 color=#000000 size=5><strong>Q95：如果TA背叛了你,你会原谅吗？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q96：用三个词形容你心目中的我：好</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q97：你喜欢什么咖啡？苦咖啡</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q98：暧昧算什么？不知道<br>Q99:大学四年不谈恋爱，大学算不算白念？高中NOI，大学ACM</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q100:你现在想不想两腿一蹬？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q101：你坚信你们会有未来么？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q102：和他/她在一起时，想过对方的感受么？很少</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q103：好朋友的意义建立在地位与金钱之上吗？不是！</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q104：没问题</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q105：幸福么？还行</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q107：以后不会忘了我，对吧？不会 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q108：朋友我们会永远在一起吧？恩</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q109：今天是世界末日，你最想做的一件事是什么？AC最后一道题</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q110：什么人最让你心疼？没有人吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q111：你们总生气吗 因为什么呢？不知道 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q112: 假期看阿凡达了么？不</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q113：你偷看过我地没？没</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q114：你愿意承认自己是猪来陪我快乐或者郁闷么？不 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q115: 你觉得我会找到对象吗？会</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q116: 你说我是好人吗？是</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q117：我哪最有魅力？全身</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q118：你想不想跟我吃顿饭你请？行</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q119：你是个孝顺的好孩子吗？是</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q120：如果有人2013年1月4日向你求婚，会感觉幸福吗？不会<br></strong></font><font face=楷体_GB2312 color=#000000 size=5><strong>Q121：想结婚吗？为什么？不想，影响智商</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q122：喜欢韩庚吗？不喜欢</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q123：喜欢哪部动漫？死亡笔记 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q124：假如能够失忆，你会选择吗？不会</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q125：谈谈自己高中的回忆：竞赛！编程！学习！</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q126：现在有喜欢的人吗?&nbsp;如果Programming算的话有<br>Q127：你会在意你爱的人的过去吗？会<br>Q128：最喜欢什么颜色?&nbsp;红是AC的颜色</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q129：你会爱我一生一世么？不会吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q130：谁和我去放孔明灯？你问我</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q131：世界和平...阿门... ：</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q132：听过幸福大街的嫁衣么，感觉如何？没有</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q133：你回答这些问题头疼吗？比编程简单多了</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q134: 没问题了.....还是我最有爱吧... ╮( 。。。)╭</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q135: 好多题啊..不问了..休息...救救我吧</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q135: 不能再问了。。我自己都受不了了</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q136：我不问了</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q137：以后想生几个孩子？男孩还是女孩啊？我不结婚</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q138：看过小王子吗？喜欢吗？没有</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q139：喜欢猫吗？给个理由：不喜欢</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>Q140：喜欢小狗狗吗？不喜欢</strong></font></p>
<p style="FONT-FAMILY: 宋体"><strong><font face=楷体_GB2312 size=5>Q141：会骗自己爱的人吗？不会</font></strong></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000><strong><font size=5>Q142：我是谁啊？</font></strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>————————————幸福的分割线——————————————————</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>要遵守游戏规则,要好好玩下去.希望自己能得到并延续那份幸福,希望接下去的朋友也能得到幸福延续幸福... </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>游戏规则: </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>1、被点名的人在我空间将这篇文章转载到自己空间中，然后再编辑，删去我的答案，要在自己的Q空间里写下自己的答案，然后加上自己的1个问题，传给其他16个人，列出16个答问题的人的名字，通知对方被点名了，被点名者不得拒绝回答问题，完成游戏的人将会永远得到大家的祝福。</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>2、这16个人要在自己的Q空间里注明是从哪里接到问题的，并且再想一个题目传给其他16个人，让幸福的游戏继续下去。</strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>3、不能回传，否则犯规！ </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>4、被点到的人填完后要通知点你名的人去回复 </strong></font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>5、被点到名字的人将得到大家的祝福，并且所有的美丽愿望都会在不久后实现。</strong></font></p>
<p style="FONT-FAMILY: 宋体"><strong></strong><font face=楷体_GB2312 color=#000000 size=5>&nbsp;</font></p>
<p style="FONT-FAMILY: 宋体"><font face=楷体_GB2312 color=#000000 size=5><strong>&nbsp;我要点名喽：for(long i=1;i&lt;=16;i++) name[i]="";<br></strong></font></p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/108254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-02-22 22:01 <a href="http://www.cppblog.com/rakerichard/archive/2010/02/22/108254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于手机号素数的囧事</title><link>http://www.cppblog.com/rakerichard/archive/2010/02/20/108121.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Sat, 20 Feb 2010 15:26:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/02/20/108121.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/108121.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/02/20/108121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/108121.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/108121.html</trackback:ping><description><![CDATA[<p>今天第一次写出miller-rabbin素数测试，知道这个概率算法对于大整数测试是否是素数十分有效，成功率有保证~于是突然想到有没有手机号是素数！<br>电脑开了半个小时，用miller-rabbin测试，CPU一直保持占用率100%，结果搜结束之后我的data.out里面还是什么都没有！<br>拿出纸笔，开始计算：如果手机号只有如下几个限制：1、以1开头；2、共11位。根据素数定理，手机号是素数的概率为0.04（以1开头的11位整数大约有4亿个是素数）。<br>很明显，miller-rabbin出错了！用5000-10000之间的素数对拍了一下，算法没有出错。毫无疑问，快速幂取模时溢出了！<br>换用O(n^0.5)的素数判断，很快找到了许多素数手机号，列出几个好的手机号吧：<br><br>15956880001；</p>
<p>15956880007；</p>
<p>15256880101；</p>
<p>15256888811；</p>
<p>15256885577</p>
<p>还有很多&#8230;&#8230;</p>
<p><br></p>
<br><img src ="http://www.cppblog.com/rakerichard/aggbug/108121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-02-20 23:26 <a href="http://www.cppblog.com/rakerichard/archive/2010/02/20/108121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《疯狂的程序员》：Never Give up！</title><link>http://www.cppblog.com/rakerichard/archive/2010/02/12/107737.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Fri, 12 Feb 2010 02:24:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/02/12/107737.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/107737.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/02/12/107737.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/107737.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/107737.html</trackback:ping><description><![CDATA[<font size="3">&#8220;疯狂的程序员&#8221;绝对不是靠狂妄和拼命的程序员，而是能够脚踏实地、持续努力的程序员。一个程序员真正做到了这两点，技术上去之后，唯一能够限制他的只有想像力，到那个时候，才算&#8220;疯狂的程序员&#8221;，这种程序员啊，才能令竞争对手无比恐惧。</font>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ——《疯狂的程序员》<br><br>早在2009年11月份我参加NOIP的时候，在火车上，就从与我同行的武翔宇的手机中翻到了《疯狂的程序员》的txt版本；期末考试之前去新华书店，无意中也发现了这本书；但是直到前几天才开始看这本书（当然是txt版本，不过这本书已经准备购买）；昨天，其实应该算是今天了，凌晨两点，终于把这本书看完了，至于熬夜到两点的原因，不言而喻。<br><br>我不是一个程序员，我只是一个高中生，平常比较喜欢编程（我们的编程当然和程序员的编程不太一样，以算法为主），今后也未必会作一个程序员，我对纯算法的理论更感兴趣。但是读这本书的时候，总是可以不断地和绝影产生共鸣！<br>我也曾经熬夜写程序。记得一次化学老师布置了一个作业：每人或多人合作完成一份元素周期表。我当时就想，别人都在纸上画一个表格填上内容，这个谁都会，没什么意思，我不如写个程序算了。当时就写了一个300多行代码的查找程序，记得那次，我熬夜到了一两点，而白天还有课晚上有晚自习。而这个也是我第一次写300多行的程序。当然了，以自己现在的能力，重新审视这个程序，当然可以更加完善，但是已经没有必要了，那只是一个阶段、一次锻炼，不如就那样一直放着，在记忆中。<br>也不止一次地为一个问题找不到答案而闷闷不乐，对周围的人置之不理，这对于一个高中竞赛选手更应该说是常事；而且我自己感觉又是一个比较追求完美的人，什么问题不想有残留，想给每个问题都找到一个最合适的解释。做vijos、做UVa、做POJ，每道题目几乎都需要深入思考，这时候仿佛世界就只有我一个人，还有眼前的计算机，周围的人和事都不存在。不断地在草稿纸上设计算法，分析算法的复杂度，只为了获得OJ给你的AC，而一个&#8220;Accepted&#8221;对我又不止是AC。<br>每次看到自己进步也会感到十分高兴和暂时的狂妄。写出第一个程序，我和别人不同，一般人是&#8220;Hello World&#8221;，而我的第一次是&#8220;读入三个整数并输出&#8221;；第一个上百行的程序；第一个实用的程序；第一个游戏；第一次理解A*、动态规划、并查集、线段树&#8230;&#8230;每次看着自己的程序Run起来，就会自然而然产生一种成就感。或许作者说得对：程序员不是为了工资还有其它什么而努力，而是为了对得起自己。<br><br>我现在已经高二，正在考虑是不是要放弃信息学竞赛。看了文末的&#8220;Never Give up&#8221;，自己心里一震，微微一笑，心想：&#8220;程序还是要写，常规课程也不能落下，不就相对于多开一门课吗？不就是比平常人多努力一点吗？不就是还有一年半的时间吗？无所谓了，放轻松&#8230;&#8230;&#8221;<br><br>看了绝影和燕儿的结局，感觉这是书中唯一有点惋惜的地方。Girl和Man的想法还是不太一样吧，尽管绝影能挣钱，但那还不只是物质上的；尽管燕儿说支持绝影，想干就干吧，但那还不只是精神上的？<br><br>永不放弃！永不放弃又有两个原则，第一个原则是：永不放弃！第二个原则是当你想放弃时回头看第一个原则：永不放弃！<br>写成代码那就是：<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Never_Give_up(</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;Give_up)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(Give_up)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Never_Give_up(</span><span style="color: #000000;">!</span><span style="color: #000000;">Give_up);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;Never_Give_up(Give_up);<br>}</span></div>
<br>Never Give up！不只是程序员。<br><br>   <img src ="http://www.cppblog.com/rakerichard/aggbug/107737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-02-12 10:24 <a href="http://www.cppblog.com/rakerichard/archive/2010/02/12/107737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>集合上的动态规划——最优配对问题</title><link>http://www.cppblog.com/rakerichard/archive/2010/02/11/107696.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Thu, 11 Feb 2010 02:57:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/02/11/107696.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/107696.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/02/11/107696.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/107696.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/107696.html</trackback:ping><description><![CDATA[没有放假之前就从网上订了一本《算法竞赛入门经典》（lrj著），里面的内容确实是&#8220;入门&#8221;，不过有许多东西之前都不了解，通读了一遍，收获确实挺大。<br>今天刚起床（我十点钟才起床），就打开电脑，准备把&#8220;集合上的动态规划&#8221;那道例题自己编写一下。lrj在书中是用递推的形式，但是我思考了一下，那样做不太好。第一，要处理的对象是&#8220;集合&#8221;，通过记忆化形式的递归逐步缩小集合的规模显然要比递推写起来顺手很多；第二，递推计算了许多不必要的状态（这也是记忆化搜索的优势），很显然的一个事实就是状态只有在集合S中元素个数为偶数的时候才有意义，而元素为奇数的情况在递推时也被计算出。<br>以下是我的代码：
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><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>#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">math.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#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: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;maxn</span><span style="color: #000000;">=</span><span style="color: #000000;">22</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;INF</span><span style="color: #000000;">=</span><span style="color: #000000;">20000007.0</span><span style="color: #000000;">;<br>typedef&nbsp;</span><span style="color: #0000ff;">struct</span><span style="color: #000000;"><br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;x,y,z;<br>}point;<br></span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;n,s;<br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;d[(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">maxn)</span><span style="color: #000000;">+</span><span style="color: #000000;">7</span><span style="color: #000000;">];<br>point&nbsp;p[maxn];<br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;min(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;a,</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;b)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(a</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">b</span><span style="color: #000000;">?</span><span style="color: #000000;">a:b);<br>}<br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;dist(point&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">a,point&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">b)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;sqrt((a.x</span><span style="color: #000000;">-</span><span style="color: #000000;">b.x)</span><span style="color: #000000;">*</span><span style="color: #000000;">(a.x</span><span style="color: #000000;">-</span><span style="color: #000000;">b.x)</span><span style="color: #000000;">+</span><span style="color: #000000;">(a.y</span><span style="color: #000000;">-</span><span style="color: #000000;">b.y)</span><span style="color: #000000;">*</span><span style="color: #000000;">(a.y</span><span style="color: #000000;">-</span><span style="color: #000000;">b.y)</span><span style="color: #000000;">+</span><span style="color: #000000;">(a.z</span><span style="color: #000000;">-</span><span style="color: #000000;">b.z)</span><span style="color: #000000;">*</span><span style="color: #000000;">(a.z</span><span style="color: #000000;">-</span><span style="color: #000000;">b.z));<br>}<br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;dp(</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;s)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;i,j;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(d[s]</span><span style="color: #000000;">!=-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;d[s];<br>&nbsp;&nbsp;&nbsp;&nbsp;d[s]</span><span style="color: #000000;">=</span><span style="color: #000000;">INF;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(s</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j</span><span style="color: #000000;">=</span><span style="color: #000000;">i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;j</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">n;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(s</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">j))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d[s]</span><span style="color: #000000;">=</span><span style="color: #000000;">min(d[s],dp(s</span><span style="color: #000000;">^</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i)</span><span style="color: #000000;">^</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">j))</span><span style="color: #000000;">+</span><span style="color: #000000;">dist(p[i],p[j]));<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;d[s];<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">*</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">data.in</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">r</span><span style="color: #000000;">"</span><span style="color: #000000;">,stdin);<br>&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">data.out</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">w</span><span style="color: #000000;">"</span><span style="color: #000000;">,stdout);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">*/</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%ld</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">n);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">long</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%ld%ld%ld</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">p[i].x,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">p[i].y,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">p[i].z);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;Input</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;s</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">long</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;">n;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s</span><span style="color: #000000;">*=</span><span style="color: #000000;">2</span><span style="color: #000000;">;s</span><span style="color: #000000;">+=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%ld\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,s);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">long</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;">s;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;d[i]</span><span style="color: #000000;">=-</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;d[</span><span style="color: #000000;">0</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;Init</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%.3lf\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,dp(s));<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;DP&nbsp;&amp;&nbsp;Output</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br></span></div>
<br>因为没有data，也不知道会不会有些地方因为没有注意而写错，如果有，还请指出修正。<br>下面是我自己构造的一组数据：<br>Input：<br>20<br>1 2 3<br>1 1 1<br>5 6 2<br>4 7 8<br>2 3 1<br>1 4 7<br>2 5 8<br>3 6 9<br>1 2 5<br>2 3 6<br>4 5 2<br>7 8 5<br>4 5 1<br>-1 2 3<br>-1 -9 -7<br>0 0 0<br>100 0 0<br>9 5 1<br>7 5 3<br>5 5 5<br><br>Output：<br>119.076<br><br><img src ="http://www.cppblog.com/rakerichard/aggbug/107696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-02-11 10:57 <a href="http://www.cppblog.com/rakerichard/archive/2010/02/11/107696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>李开复：算法的力量</title><link>http://www.cppblog.com/rakerichard/archive/2010/02/08/107507.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Mon, 08 Feb 2010 10:51:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/02/08/107507.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/107507.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/02/08/107507.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/107507.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/107507.html</trackback:ping><description><![CDATA[<p>　　算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学，但是学
习计算机算法和理论更重要，因为计算机算法和理论更重要，因为计算机语言和开发平台日新月异，但万变不离其宗的是那些算法和理论，例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在&#8220;开复学生网&#8221;上，有位同学生动地把这些基础课程比拟为&#8220;内功&#8221;，把新的语言、技术、标准比拟为&#8220;外功&#8221;。整天赶时髦的人最后只懂得招式，没有功力，是不可能成为高手的。 </p>
<p><strong>算法与我</strong></p>
<p>　　当我在1980年转入计算机科学系时，还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说：&#8220;知道为什么只有你们系要加一个&#8216;科学
&#8217;，而没有&#8216;物理科学系&#8217;或&#8216;化学科学系&#8217;吗？因为人家是真的科学，不需要画蛇添足，而你们自己心虚，生怕不&#8216;科学&#8217;，才这样欲盖弥彰。&#8221;其实，这点他们彻底弄错了。真正学懂计算机的人（不只是&#8220;编程匠&#8221;）都对数学有相当的造诣，既能用科学家的严谨思维来求证，也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是&#8220;算法&#8221;。</p>
<p>　　记得我读博时写的Othello对弈软件获得了世界冠军。当时，得第二名的人认为我是靠侥幸才打赢他，不服气地问我的程序平均每秒能搜索多少步棋，当他发现我的软件在搜索效率上比他快60多倍时，才彻底服输。为什么在同样的机器上，我可以多做60倍的工作呢？这是因为我用了一个最新的算法，能够把一个指数函数转换成四个近似的表，只要用常数时间就可得到近似的答案。在这个例子中，是否用对算法才是能否赢得世界冠军的关键。</p>
<p>　　还记得1988年贝尔实验室副总裁亲自来访问我的学校，目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍，而且，在扩大至大词汇系统后，速度差异更有几百倍之多。他们虽然买了几台超级计算机，勉强让系统跑了起来，但这么贵的计算资源让他们的产品部门很反感，因为&#8220;昂贵&#8221;的技术是没有应用前景的。在与他们探讨的过程中，我惊讶地发现一个O(n*m)的动态规划(Dynamic Programming)居然被他们做成了O
(n*n*m)。更惊讶的是，他们还为此发表了不少文章，甚至为自己的算法起了一个很特别的名字，并将算法提名到一个科学会议里，希望能得到大奖。当时，贝尔实验室的研究员当然绝顶聪明，但他们全都是学数学、物理或电机出身，从未学过计算机科学或算法，才犯了这么基本的错误。我想那些人以后再也不会嘲笑学计算机科学的人了吧！</p>
<p><strong>网络时代的算法</strong></p>
<p>　　有人也许会说：&#8220;今天计算机这么快，算法还重要吗？&#8221;其实永远不会有太快的计算机，因为我们总会想出新的应用。虽然在摩尔定律的作用下，计算机的计算能力每年都在飞快增长，价格也在不断下降。可我们不要忘记，需要处理的信息量更是呈指数级的增长。现在每人每天都会创造出大量数据（照片，视频，语
音，文本等等）。日益先进的纪录和存储手段使我们每个人的信息量都在爆炸式的增长。互联网的信息流量和日志容量也在飞快增长。在科学研究方面，随着研究手
段的进步，数据量更是达到了前所未有的程度。无论是三维图形、海量数据处理、机器学习、语音识别，都需要极大的计算量。在网络时代，越来越多的挑战需要靠
卓越的算法来解决。</p>
<p>　　再举另一个网络时代的例子。在互联网和手机搜索，如果要找附近的咖啡店，那么搜索引擎该怎么处理这个请求呢？最简单的办法就是把整个城市的咖啡馆都找出来，然后计算出它们的所在位置与你之间的距离，再进行排序，然后返回最近的结果。但该如何计算距离呢？图论里有不少算法可以解决这个问题。</p>
<p>　　这么做也许是最直观的，但绝对不是最迅速的。如果一个城市只有为数不多的咖啡馆，那么这么做应该没什么问题，反正计算量不大。但如果一个城市里有很多咖啡馆，又有很多用户都需要类似的搜索，那么服务器所承受的压力就大多了。在这种情况下，我们该怎样优化算法呢？</p>
<p>　　首先，我们可以把整个城市的咖啡馆做一次&#8220;预处理&#8221;。比如，把一个城市分成若干个&#8220;格子(grid)&#8221;，然后根据用户所在的位置把他放到某一个格子里，只对格子里的咖啡馆进行距离排序。</p>
<p>　　问题又来了，如果格子大小一样，那么绝大多数结果都可能出现在市中心的一个格子里，而郊区的格子里只有极少的结果。在这种情况下，我们应该把市
中心多分出几个格子。更进一步，格子应该是一个&#8220;树结构&#8221;，最顶层是一个大格——整个城市，然后逐层下降，格子越来越小，这样有利于用户进行精确搜索——
如果在最底层的格子里搜索结果不多，用户可以逐级上升，放大搜索范围。</p>
<p>　　上述算法对咖啡馆的例子很实用，但是它具有通用性吗？答案是否定的。把咖啡馆抽象一下，它是一个&#8220;点&#8221;，如果要搜索一个&#8220;面&#8221;该怎么办呢？比
如，用户想去一个水库玩，而一个水库有好几个入口，那么哪一个离用户最近呢？这个时候，上述&#8220;树结构&#8221;就要改成&#8220;r-tree&#8221;，因为树中间的每一个节点
都是一个范围，一个有边界的范围（参考:<a href="http://www.cs.umd.edu/%7Ehjs/rtrees/index.html" target="_blank"><u>http://www.cs.umd.edu/~hjs/rtrees/index.html</u></a>）。</p>
<p>　　通过这个小例子，我们看到，应用程序的要求千变万化，很多时候需要把一个复杂的问题分解成若干简单的小问题，然后再选用合适的算法和数据结构。</p>
<p><strong>并行算法：Google的核心优势</strong></p>
<p>　　上面的例子在Google里就要算是小case了！每天Google的网站要处理十亿个以上的搜索，GMail要储存几千万用户的2G邮箱，
Google Earth要让数十万用户同时在整个地球上遨游，并将合适的图片经过互联网提交给每个用户。如果没有好的算法，这些应用都无法成为现实。</p>
<p>　　在这些的应用中，哪怕是最基本的问题都会给传统的计算带来很大的挑战。例如，每天都有十亿以上的用户访问Google的网站，使用Google
的服务，也产生很多很多的日志(Log)。因为Log每份每秒都在飞速增加，我们必须有聪明的办法来进行处理。我曾经在面试中问过关于如何对Log进行一
些分析处理的问题，有很多面试者的回答虽然在逻辑上正确，但是实际应用中是几乎不可行的。按照它们的算法，即便用上几万台机器，我们的处理速度都根不上数
据产生的速度。</p>
<p>那么Google是如何解决这些问题的？</p>
<p>　　首先，在网络时代，就算有最好的算法，也要能在并行计算的环境下执行。在Google的数据中心，我们使用的是超大的并行计算机。但传统的并行
算法运行时，效率会在增加机器数量后迅速降低，也就是说，十台机器如果有五倍的效果，增加到一千台时也许就只有几十倍的效果。这种事半功倍的代价是没有哪
家公司可以负担得起的。而且，在许多并行算法中，只要一个结点犯错误，所有计算都会前功尽弃。</p>
<p>　　那么Google是如何开发出既有效率又能容错的并行计算的呢？</p>
<p>　　Google最资深的计算机科学家Jeff?Dean认识到，Google所需的绝大部分数据处理都可以归结为一个简单的并行算法：Map?and?Reduce（<a href="http://labs.google.com/papers/mapreduce.html" target="_blank"><u>http://labs.google.com/papers/mapreduce.html</u></a>）。
这个算法能够在很多种计算中达到相当高的效率，而且是可扩展的（也就是说，一千台机器就算不能达到一千倍的效果，至少也可以达到几百倍的效果）。
Map?and?Reduce的另外一大特色是它可以利用大批廉价的机器组成功能强大的server?farm。最后，它的容错性能异常出色，就算一个
server?farm宕掉一半，整个fram依然能够运行。正是因为这个天才的认识，才有了Map?and?Reduce算法。借助该算法，
Google几乎能无限地增加计算量，与日新月异的互联网应用一同成长。</p>
<p><strong>算法并不局限于计算机和网络</strong></p>
<p>　　举一个计算机领域外的例子：在高能物理研究方面，很多实验每秒钟都能几个TB的数据量。但因为处理能力和存储能力的不足，科学家不得不把绝大部
分未经处理的数据丢弃掉。可大家要知道，新元素的信息很有可能就藏在我们来不及处理的数据里面。同样的，在其他任何领域里，算法可以改变人类的生活。例如
人类基因的研究，就可能因为算法而发明新的医疗方式。在国家安全领域，有效的算法可能避免下一个911的发生。在气象方面，算法可以更好地预测未来天灾的
发生，以拯救生命。</p>
<p>　　所以，如果你把计算机的发展放到应用和数据飞速增长的大环境下，你一定会发现；算法的重要性不是在日益减小，而是在日益加强。</p>
<p><br></p><img src ="http://www.cppblog.com/rakerichard/aggbug/107507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-02-08 18:51 <a href="http://www.cppblog.com/rakerichard/archive/2010/02/08/107507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>下一个排列</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/07/105083.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Thu, 07 Jan 2010 04:59:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/07/105083.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/105083.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/07/105083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/105083.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/105083.html</trackback:ping><description><![CDATA[昨天在《算法竞赛入门经典》中，挺刘汝佳介绍了C++的标准库中有&#8220;求一个数字序列的下一个排列&#8221;的函数，然后自己思考了一下如何实现这个函数。<br>所谓下一个排列，比如对于序列1 2 3，它的下一个排列是1 3 2，再下一个是2 1 3&#8230;&#8230;<br>首先想到的是通过一种规律性的总结，找到一种递推或者其他方法，对原序列做相应的变换，求得下一个排列。但是经过大约十分钟的思考之后，发现这种办法似乎行不通。<br>后来仔细地回忆了求全排列的过程，有了这么一个思路：之所以不能够直接求得下一个排列，就是因为不知道此时dfs()运行的情况，如果直接让dfs()运行到当前的情况，问题迎刃而解。<br>于是便有了下面的代码：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><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: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;maxn</span><span style="color: #000000;">=</span><span style="color: #000000;">108</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;n,a[maxn];<br></span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;used[maxn],first,ans;<br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;dfs(</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;dep)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(dep</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">n)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(first)&nbsp;first</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;f</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&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;">long</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;">n;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(f)&nbsp;f</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;putchar(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%ld</span><span style="color: #000000;">"</span><span style="color: #000000;">,a[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;putchar(</span><span style="color: #000000;">'</span><span style="color: #000000;">\n</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">long</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;">n</span><span style="color: #000000;">&amp;&amp;!</span><span style="color: #000000;">ans;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(first)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000;">=</span><span style="color: #000000;">a[dep];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dfs(dep</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">used[i])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[dep]</span><span style="color: #000000;">=</span><span style="color: #000000;">i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dfs(dep</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used[i]</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">*</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">program.in</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">r</span><span style="color: #000000;">"</span><span style="color: #000000;">,stdin);<br>&nbsp;&nbsp;&nbsp;&nbsp;freopen(</span><span style="color: #000000;">"</span><span style="color: #000000;">program.out</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">w</span><span style="color: #000000;">"</span><span style="color: #000000;">,stdout);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">*/</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&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;">%ld</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">a[n</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;">1</span><span style="color: #000000;">)&nbsp;n</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;Read&nbsp;In</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;ans</span><span style="color: #000000;">=</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;first</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">long</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;">n;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;used[i]</span><span style="color: #000000;">=</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;dfs(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">ans)&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">No&nbsp;answer\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br></span></div>
这段代码只适用于1-n不重复数字的排列，如果数字同样不重复，修改为任意一些数字的排列问题也是十分简单的。<br><br><img src ="http://www.cppblog.com/rakerichard/aggbug/105083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-07 12:59 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/07/105083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NOIp2009复赛体验。</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/06/104952.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Wed, 06 Jan 2010 10:29:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/06/104952.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/104952.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/06/104952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/104952.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/104952.html</trackback:ping><description><![CDATA[<p><font face=宋体 size=3>8点20左右进入考场，关闭杀软，阅读试题&#8230;&#8230;</font></p>
<p><font face=宋体 size=3>第一题：字符串处理，而且是我比较擅长的密文处理，记得高一上学期看了本书——赵燕枫的《密码传奇》，以对Enigma的介绍为主，同时介绍了几种经典加密方式，寒假的时候还编写了相应的模拟程序，因此比较熟悉。</font></p>
<p><font face=宋体 size=3>第二题：我看完题目感觉和分解质因数有关，但是无论如何想不到数论方面的解法，只好朴素算法。试后考虑到竟然没有DP题目，感觉最有可能DP的也只有第二题而已，或许分解质因数之后进行DP？题解还没有出来，等待。</font></p>
<p><font face=宋体 size=3>第三题：图问题，而且需要邻接表！程序120行！还好打字和思路足够快。我的思路是qsort之后，从首尾选择，遍历查看是否连通。</font></p>
<p><font face=宋体 size=3>第四题：DFS+朴素方法剪枝。</font></p>
<p><font face=宋体 size=3>我觉得这次竞赛无论是策略还是发挥方面都还算满意。第一题基本上15min就可以完成；第二题我没有花太多时间，对于不太擅长的数论果断放弃，只去争取那50分；第三题基本上没有太多考虑就开始编写，因为图论同样不是我擅长的，只想得到更多的分数而已；第四题一开始以为是动态规划，原因是竟然没有动态规划题，诧异！写不出状态转移方程（二维状态定义明显的后效性，不知道大牛是否在更高维解决，还是那句话，题解还没出），于是考虑搜索。</font></p>
<p><font face=宋体 size=3>总结这次联赛，前段时间的练习是一方面，运气也是另一方面吧。回想起来那3小时，确实分秒都很重要！而且做出了几个重要的决定。</font></p>
<p><font face=宋体 size=3>第一个决定就是第二题放弃一半的分数，尽管一般来说，NOIp题目越到后面越难，但是难易是相对的，数论我不擅长，就放弃，就这么简单。不过放弃前面有可能拿更多分数的题目，转而去做最后两道题，也需要一些勇气吧。现在回想起来，如果当时不放弃，可能就没有时间做最后一题了。</font></p>
<p><font face=宋体 size=3>不管怎么说，第一个决定始终是理智的，第二个决定就纯粹是冒险了。第三题按照我的做法编程量很大，好不容易写完程序之后用样例测试竟然提示内存错误！这时候就做出了一个大胆的决定，先去做第四题！&#8220;编写的程序不论是否能出正确解，至少能运行成功&#8221;，这看来永远是一个真理，但是当时面对120行的程序，那时却无论如何平静不下心来调试。然而去做第四题，在时间上无疑是一个挑战：我必须完成第四题之后，还剩余足够时间调试第三题！选择了后者。后来静下心来，第三题大约5min就调试完成。</font></p>
<p><font face=宋体 size=3>对于竞赛，实力是一方面，正确的策略也是十分重要的。</font></p>
<p><font face=宋体 size=3>这次和往年题目类型不同，感觉不是太好，主要是没有动态规划都不适应了。</font></p>
<p><font face=宋体 size=3>初评全省第七，只要复测不出意外，还是很不错的。</font></p>
<p><font face=宋体><font size=3><strong>赛后反思</strong>：</font></font></p>
<p><font face=宋体 size=3>第一题没有满分；</font></p>
<p><font face=宋体 size=3>数论、图论应该提高。</font></p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/104952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-06 18:29 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/06/104952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NOIp2009初赛体验。</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/06/104951.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Wed, 06 Jan 2010 10:28:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/06/104951.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/104951.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/06/104951.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/104951.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/104951.html</trackback:ping><description><![CDATA[<p><font size=3><font face=宋体><st1:chsdate isrocdate="False" islunardate="False" day="17" month="10" year="2009"><span>2009</span><span>年</span><span>10</span><span>月</span><span>17</span><span>日</span></st1:chsdate><span>星期六，在我初中时所在的学校——十五中举行了第十五届全国青少年信息学奥林匹克竞赛联赛初赛。</span></font></font></p>
<p><span><font size=3>升入高中以来，由于学校离家较远，一直是坐公交车上学，很久没有体验过步行上学了。今天在去考点的路上，感觉仿佛回到了初中，回到了两年前。路过初中时经常光顾的球台，又引起无比感慨了。和初中上学时唯一不同的是，路上没有熙熙攘攘上学的学生，一路上只有我一个人&#8230;&#8230;还不到两点，大家大概还在睡觉吧。呵呵，哈哈，我的初中生活。</font></span></p>
<p><font size=3><span>出门之前从书桌的抽屉里拿了几个德芙丝滑巧克力放在书包里，还似乎隐约记得当初&#8220;等我们分手的时候再吃&#8221;。大概就是这个意思，原话已经随着火光忘记了。当初所认为的无论如何不会忘记的事物，也已经渐渐模糊。记得之前我对</span><font face=宋体><span>yx</span><span>说能在三年内忘记</span><span>zxr</span><span>的时候，</span><span>yx</span><span>说如果我能在三年内忘记</span><span>zxr</span><span>，不如现在就把她忘了吧。以目前的趋势来看，不足三年，差不多就会忘了吧。</span></font></font></p>
<p><span><font size=3>暑假那段专心学习算法的时间里，真的算是&#8220;清心寡欲&#8221;了。连续数小时对一个问题的思考似乎已经习以为常了；很少和别人联系；除了健身房和西苑小区之外，印象中没有去过其他地方，和除了网络之外的外界隔绝了一样&#8230;&#8230;也就是这段时间里，模糊了许多事情，对待外界不相干世界的态度也愈发冷漠。让我奇怪的是，两年前就大概已经消失的嗅觉的记忆，前段时间似乎隐约闪过，让我措手不及。</font></span></p>
<p><font size=3><span>怀念初中时大家一起抄作业的日子，也就是因为怀念，今天在语文必修</span><font face=宋体><span>5</span><span>《学案与测评》上重新体验了一下。</span></font></font></p>
<p><span><font size=3>在学校门口遇见了孙启明和红旗中学的苏文奇、宋强祺，后来武翔宇也来了，好久不见。</font></span></p>
<p><font size=3><span>走进了考场，坐在绿色的课桌前，是我们那一届（</span><font face=宋体><span>8</span><span>）班的教室，想到了于学仁。考场的门上还贴着月考的名单，仿佛在参加月考，想到了那八次月考，而我一直在第一考场。</span></font></font></p>
<p><span><font size=3>分发试卷了。</font></span></p>
<p><font size=3><span>从第一题开始我的感觉就不太好，因为这段时间把历年竞赛题都做了一遍，和往年很不一样，没有了进制转换，没有了栈，更多的是图，还有很少出现的</span><font face=宋体><span>Hash Table</span><span>。选择题在迷惘中完成，问题求解没有做出一题。后面的程序阅读第一题很水，辗转相除法求最大公约数，第二题纯粹考细心，第三题杨辉三角，想到了二项式定理，但是不会用，还涉及到模运算，第四题没有时间计算了，先做最后两个大题。对初赛没有太高要求，能勉勉强强进复赛就行。</span></font></font></p>
<p><span><font size=3>铃声响了之后，我、孙启明、武翔宇陆续出了各自的考场，三个人开始对答案。结果很让我们惊奇，三个人竟然没有几题做的结果是一样的。</font></span></p>
<p><span><font size=3>算了，不想了，等成绩吧。</font></span></p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/104951.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-06 18:28 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/06/104951.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反思 08.09的比赛</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/06/104948.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Wed, 06 Jan 2010 10:27:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/06/104948.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/104948.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/06/104948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/104948.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/104948.html</trackback:ping><description><![CDATA[<p align=left><font face=宋体 size=3>这次比赛75%的水题，我却没有考好&#8230;&#8230;确实很值得我反思一下。</font></p>
<p align=left><font face=宋体 size=3>第一题是没有考虑周全，一开始做题也是比较急躁，该拿的分没有拿到。</font></p>
<p align=left><font face=宋体 size=3>第二题我知道应该用高精度，做的时候想着后面还有两题，时间不多，而且觉得正常情况下不用高精度可以拿70分吧，不一定非要满分的对不对&#8230;&#8230;结果题目是每个测试点多组数据，这样就给得分带来了一定困难，不用高精度果然还是不行&#8230;&#8230;该得分的没有得分，而且反思一下，我的高精度编写的太慢。</font></p>
<p align=left><font face=宋体 size=3>第三题是一道贪心，想复杂了&#8230;&#8230;思维一直受到限制，没有跳出一个圈子。</font></p>
<p align=left><font face=宋体 size=3>第四题&#8230;&#8230;</font></p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/104948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-06 18:27 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/06/104948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多表替换文本加密程序</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/06/104947.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Wed, 06 Jan 2010 10:26:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/06/104947.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/104947.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/06/104947.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/104947.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/104947.html</trackback:ping><description><![CDATA[看完了《密码传奇》之后自己写了一个。<br>以下是我的代码：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;num_KEY&nbsp;26</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;num_WORD&nbsp;1000</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;check(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;key[</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">]);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;check(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;key[</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">])<br><img id=Codehighlighter1_127_357_Open_Image onclick="this.style.display='none'; Codehighlighter1_127_357_Open_Text.style.display='none'; Codehighlighter1_127_357_Closed_Image.style.display='inline'; Codehighlighter1_127_357_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_127_357_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_127_357_Closed_Text.style.display='none'; Codehighlighter1_127_357_Open_Image.style.display='inline'; Codehighlighter1_127_357_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_127_357_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_127_357_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;cpy[</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">],t;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i,j;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>strcpy(cpy,key);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">25</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">25</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">j;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;cpy[i]</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">cpy[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;)<br><img id=Codehighlighter1_242_279_Open_Image onclick="this.style.display='none'; Codehighlighter1_242_279_Open_Text.style.display='none'; Codehighlighter1_242_279_Closed_Image.style.display='inline'; Codehighlighter1_242_279_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_242_279_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_242_279_Closed_Text.style.display='none'; Codehighlighter1_242_279_Open_Image.style.display='inline'; Codehighlighter1_242_279_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_242_279_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_242_279_Open_Text><span style="COLOR: #000000">{t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cpy[i];cpy[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cpy[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];cpy[i</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">t;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">25</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_302_355_Open_Image onclick="this.style.display='none'; Codehighlighter1_302_355_Open_Text.style.display='none'; Codehighlighter1_302_355_Closed_Image.style.display='inline'; Codehighlighter1_302_355_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_302_355_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_302_355_Closed_Text.style.display='none'; Codehighlighter1_302_355_Open_Image.style.display='inline'; Codehighlighter1_302_355_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_302_355_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_302_355_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cpy[i]</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">cpy[i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">])<br><img id=Codehighlighter1_334_350_Open_Image onclick="this.style.display='none'; Codehighlighter1_334_350_Open_Text.style.display='none'; Codehighlighter1_334_350_Closed_Image.style.display='inline'; Codehighlighter1_334_350_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_334_350_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_334_350_Closed_Text.style.display='none'; Codehighlighter1_334_350_Open_Image.style.display='inline'; Codehighlighter1_334_350_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_334_350_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_334_350_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>main()<br><img id=Codehighlighter1_367_1340_Open_Image onclick="this.style.display='none'; Codehighlighter1_367_1340_Open_Text.style.display='none'; Codehighlighter1_367_1340_Closed_Image.style.display='inline'; Codehighlighter1_367_1340_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_367_1340_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_367_1340_Closed_Text.style.display='none'; Codehighlighter1_367_1340_Open_Image.style.display='inline'; Codehighlighter1_367_1340_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_367_1340_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_367_1340_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;key[num_KEY][</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">],mingwen[num_WORD],ch;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num,i,j,count;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Input&nbsp;the&nbsp;number&nbsp;of&nbsp;keys:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>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);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>getchar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">num;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_520_718_Open_Image onclick="this.style.display='none'; Codehighlighter1_520_718_Open_Text.style.display='none'; Codehighlighter1_520_718_Closed_Image.style.display='inline'; Codehighlighter1_520_718_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_520_718_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_520_718_Closed_Text.style.display='none'; Codehighlighter1_520_718_Open_Image.style.display='inline'; Codehighlighter1_520_718_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_520_718_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_520_718_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\nInput&nbsp;the&nbsp;key%2d:</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><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;gets(key[i]);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)strlen(key[i])</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;check(key[i])</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_640_713_Open_Image onclick="this.style.display='none'; Codehighlighter1_640_713_Open_Text.style.display='none'; Codehighlighter1_640_713_Closed_Image.style.display='inline'; Codehighlighter1_640_713_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_640_713_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_640_713_Closed_Text.style.display='none'; Codehighlighter1_640_713_Open_Image.style.display='inline'; Codehighlighter1_640_713_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_640_713_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_640_713_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Wrong!Input&nbsp;this&nbsp;key&nbsp;again:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gets(key[i]);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%c&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">97</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>putchar(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">num;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_825_927_Open_Image onclick="this.style.display='none'; Codehighlighter1_825_927_Open_Text.style.display='none'; Codehighlighter1_825_927_Closed_Image.style.display='inline'; Codehighlighter1_825_927_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_825_927_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_825_927_Closed_Text.style.display='none'; Codehighlighter1_825_927_Open_Image.style.display='inline'; Codehighlighter1_825_927_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_825_927_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_825_927_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">The&nbsp;key%2d:</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><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">26</span><span style="COLOR: #000000">;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%c&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,key[i][j]);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;putchar(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\nPress&nbsp;[Enter]&nbsp;to&nbsp;continue.\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>RE:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>getchar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\nInput&nbsp;words:\n&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>gets(mingwen);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>count</span><span style="COLOR: #000000">=-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)strlen(mingwen);i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(mingwen[i]</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">97</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;mingwen[i]</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">122</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_1129_1197_Open_Image onclick="this.style.display='none'; Codehighlighter1_1129_1197_Open_Text.style.display='none'; Codehighlighter1_1129_1197_Closed_Image.style.display='inline'; Codehighlighter1_1129_1197_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1129_1197_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1129_1197_Closed_Text.style.display='none'; Codehighlighter1_1129_1197_Open_Image.style.display='inline'; Codehighlighter1_1129_1197_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1129_1197_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1129_1197_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;count</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mingwen[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">key[count</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">num][&nbsp;mingwen[i]</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">97</span><span style="COLOR: #000000">&nbsp;];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n\nMi&nbsp;Wen:\n&nbsp;&nbsp;&nbsp;&nbsp;%s</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,mingwen);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n\nAgain?&nbsp;Y/N&nbsp;:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>ch</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">getchar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(ch</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">y</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;ch</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Y</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;RE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>getchar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/rakerichard/aggbug/104947.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-06 18:26 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/06/104947.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>启发——“数的朗读”</title><link>http://www.cppblog.com/rakerichard/archive/2010/01/06/104946.html</link><dc:creator>lee1r</dc:creator><author>lee1r</author><pubDate>Wed, 06 Jan 2010 10:24:00 GMT</pubDate><guid>http://www.cppblog.com/rakerichard/archive/2010/01/06/104946.html</guid><wfw:comment>http://www.cppblog.com/rakerichard/comments/104946.html</wfw:comment><comments>http://www.cppblog.com/rakerichard/archive/2010/01/06/104946.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/rakerichard/comments/commentRss/104946.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/rakerichard/services/trackbacks/104946.html</trackback:ping><description><![CDATA[<p><font face=宋体 size=3>这是一道简单的但十分复杂的模拟题。</font></p>
<p><font face=宋体 size=3>我采用的方法是每四位分成一组去处理，</font></p>
<p><font face=宋体 size=3>基本思路是扫描一遍，一次读完。</font></p>
<p><font face=宋体 size=3>但闫令琪所采用的方法是先写出错解，</font></p>
<p><font face=宋体 size=3>比如4007，读作&#8220;4Q0B0S7&#8221;，然后再逐步处理，达到正确的结果。</font></p>
<p><font face=宋体 size=3>我的程序写了120行，但对于他的方法估计只需要50行&#8230;&#8230;</font></p>
<p><font face=宋体 size=3>先写出错解，在处理直到达到正确解，是一个不错的思考方式。</font></p>
<img src ="http://www.cppblog.com/rakerichard/aggbug/104946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/rakerichard/" target="_blank">lee1r</a> 2010-01-06 18:24 <a href="http://www.cppblog.com/rakerichard/archive/2010/01/06/104946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>