﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-看海的小星</title><link>http://www.cppblog.com/cuijiaxing/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Apr 2026 23:07:13 GMT</lastBuildDate><pubDate>Tue, 14 Apr 2026 23:07:13 GMT</pubDate><ttl>60</ttl><item><title>博客内容迁移</title><link>http://www.cppblog.com/cuijiaxing/archive/2014/07/18/207686.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Thu, 17 Jul 2014 16:45:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2014/07/18/207686.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/207686.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2014/07/18/207686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/207686.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/207686.html</trackback:ping><description><![CDATA[我的新博客大部分都发表到了<a href="kanhaide.blogspot.com">kanhaide.blogspot.com</a>,欢迎光临。<img src ="http://www.cppblog.com/cuijiaxing/aggbug/207686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2014-07-18 00:45 <a href="http://www.cppblog.com/cuijiaxing/archive/2014/07/18/207686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>硬币找钱问题</title><link>http://www.cppblog.com/cuijiaxing/archive/2012/04/15/171448.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Sun, 15 Apr 2012 02:33:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2012/04/15/171448.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/171448.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2012/04/15/171448.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/171448.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/171448.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 硬币找钱问题问题描述设有6种不同面值的硬币，各硬币的面值分别为5分，1角，2角，5角，1元，2元。现要用这些面值的硬币来购物和找钱。购物时规定了可以使用的各种面值的硬币个数。假定商店里各面值的硬币有足够多，顾客也可用多种方式支付。在1次购物中希望使用最少硬币个数。例如，1次购物需要付款0.55元，没有5角的硬币，只好用2*20+10+5共4枚硬币来付款。如果付出1元，找回4角5分，同样需要4枚硬币...&nbsp;&nbsp;<a href='http://www.cppblog.com/cuijiaxing/archive/2012/04/15/171448.html'>阅读全文</a><img src ="http://www.cppblog.com/cuijiaxing/aggbug/171448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2012-04-15 10:33 <a href="http://www.cppblog.com/cuijiaxing/archive/2012/04/15/171448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>表达式求值</title><link>http://www.cppblog.com/cuijiaxing/archive/2011/04/24/144916.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Sun, 24 Apr 2011 13:00:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2011/04/24/144916.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/144916.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2011/04/24/144916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/144916.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/144916.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天刷刷我们学校的OJ。看到了那道我们大家都熟悉的表达式求值题目。去网上搜了下，发现没有现成可用的好的算法。于是自己花了点时间写了个。没有做过多优化，先发出来再说。&nbsp;&nbsp;1#include&lt;stdio.h&gt;&nbsp;&nbsp;2#include&lt;string.h&gt;&nbsp;&nbsp;3#include&lt;stack&gt;&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.cppblog.com/cuijiaxing/archive/2011/04/24/144916.html'>阅读全文</a><img src ="http://www.cppblog.com/cuijiaxing/aggbug/144916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2011-04-24 21:00 <a href="http://www.cppblog.com/cuijiaxing/archive/2011/04/24/144916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>幻方问题</title><link>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140181.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Wed, 16 Feb 2011 11:43:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140181.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/140181.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/140181.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/140181.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: n阶幻方问题：设n为奇数(n&#8712;[3, 19])。试在n&#180;n的表格内不重复地填上1, 2, &#8230;, n2数字，使得横向、纵向、两对角线上数之和都相等。&nbsp;&nbsp;1#include&lt;stdio.h&gt;&nbsp;&nbsp;2#include&lt;malloc.h&gt;&nbsp;&nbsp;3//此程序适用于幻方问题&nbsp;&nbs...&nbsp;&nbsp;<a href='http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140181.html'>阅读全文</a><img src ="http://www.cppblog.com/cuijiaxing/aggbug/140181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2011-02-16 19:43 <a href="http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新开的模块-数据结构和算法</title><link>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140179.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Wed, 16 Feb 2011 11:23:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140179.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/140179.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/140179.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/140179.html</trackback:ping><description><![CDATA[<span style="FONT-FAMILY: Comic Sans MS; FONT-SIZE: 18pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;终于到了开始学习算法的时刻了，心情好激动。去年暑假申请的这个博客又派上用场了，我会把我最近写的算法都发表在这里，希望大家喜欢，共同进步~</span>
<img src ="http://www.cppblog.com/cuijiaxing/aggbug/140179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2011-02-16 19:23 <a href="http://www.cppblog.com/cuijiaxing/archive/2011/02/16/140179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>poj题目分类</title><link>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124210.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Sat, 21 Aug 2010 12:07:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124210.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/124210.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124210.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/124210.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/124210.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A+B Problem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 送分题1001&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exponentiation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124210.html'>阅读全文</a><img src ="http://www.cppblog.com/cuijiaxing/aggbug/124210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2010-08-21 20:07 <a href="http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124210.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku 1042</title><link>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124186.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Sat, 21 Aug 2010 07:09:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124186.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/124186.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124186.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/124186.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/124186.html</trackback:ping><description><![CDATA[<p>贪心算法，使用STL的priority_queue来维护一个队列。保证鱼数最多（相同鱼则保存标号较小的）的一个序列。然后贪心就可以了。一下是代码<br>#include&lt;iostream&gt;<br>#include&lt;queue&gt;<br>using namespace std;<br>int n,h;<br>int f[30],t[30],d[30];<br>int best[30],way[30],maxinum,tot,tag=0;<br>struct node<br>{<br>&nbsp;int num;<br>&nbsp;int fish;<br>&nbsp;void set(int id,int f)<br>&nbsp;{<br>&nbsp;&nbsp;num=id;<br>&nbsp;&nbsp;fish=f;<br>&nbsp;}<br>};<br>bool operator&lt;(const node a,const node b)<br>{<br>&nbsp;if(a.fish==b.fish)<br>&nbsp;&nbsp;return a.num&gt;b.num;<br>&nbsp;else<br>&nbsp;&nbsp;return a.fish&lt;b.fish;<br>}<br>priority_queue&lt;node&gt; qu;<br>node now;<br>int main()<br>{<br>&nbsp;while(scanf("%d",&amp;n)&amp;&amp;n)<br>&nbsp;{<br>&nbsp;&nbsp;if(tag)<br>&nbsp;&nbsp;&nbsp;printf("\n");<br>&nbsp;&nbsp;cin&gt;&gt;h;<br>&nbsp;&nbsp;h*=12; <br>&nbsp;&nbsp;maxinum=-1;<br>&nbsp;&nbsp;int i,j;<br>&nbsp;&nbsp;for(i=0;i&lt;n;i++)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;cin&gt;&gt;f[i];<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;for(i=0;i&lt;n;i++)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;cin&gt;&gt;d[i];<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;for(i=0;i&lt;n-1;i++)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;cin&gt;&gt;t[i];<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;///////////数据输入完毕，开始进入计算<br>&nbsp;&nbsp;for(i=0;i&lt;n;i++)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;memset(way,0,sizeof(way));<br>&nbsp;&nbsp;&nbsp;while(!qu.empty())<br>&nbsp;&nbsp;&nbsp;&nbsp;qu.pop();<br>&nbsp;&nbsp;&nbsp;if(i&gt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;h-=t[i-1];<br>&nbsp;&nbsp;&nbsp;tot=0;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;for(j=0;j&lt;=i;j++)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;now.set(j,f[j]);<br>&nbsp;&nbsp;&nbsp;&nbsp;qu.push(now);&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;for(j=0;j&lt;h;j++)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;now=qu.top();<br>&nbsp;&nbsp;&nbsp;&nbsp;qu.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;tot+=now.fish;<br>&nbsp;&nbsp;&nbsp;&nbsp;now.fish-=d[now.num];<br>&nbsp;&nbsp;&nbsp;&nbsp;if(now.fish&lt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;now.fish=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;way[now.num]+=5;<br>&nbsp;&nbsp;&nbsp;&nbsp;qu.push(now);<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;if(tot&gt;maxinum)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;maxinum=tot;<br>&nbsp;&nbsp;&nbsp;&nbsp;memcpy(best,way,sizeof(way));<br>&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;}<br>&nbsp;&nbsp;printf("%d",best[0]);<br>&nbsp;&nbsp;for(i=1;i&lt;n;i++)<br>&nbsp;&nbsp;&nbsp;printf(", %d",best[i]);<br>&nbsp;&nbsp;printf("\nNumber of fish expected: %d\n",maxinum);<br>&nbsp;&nbsp;tag=1;<br>&nbsp;}<br>&nbsp;return 0;</p>
<p>}</p>
<img src ="http://www.cppblog.com/cuijiaxing/aggbug/124186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2010-08-21 15:09 <a href="http://www.cppblog.com/cuijiaxing/archive/2010/08/21/124186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>八皇后问题</title><link>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124116.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Fri, 20 Aug 2010 10:34:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124116.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/124116.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/124116.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/124116.html</trackback:ping><description><![CDATA[<p>回溯法:八皇后问题，一个经典问题</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 在程序设计中还有一种方法叫做"回溯法".他不是按照某种公式或确定的法则,求问题的解,而是通过试探和纠正错误的策略,找到问题的街.这种方法一般是从一个原始状态出发,通过若干步试探,最后达到目标状态终止.<br>&nbsp;&nbsp;&nbsp; 回溯法在理论上来说,就是在一棵搜索树中从根结点出发,找到一条达到满足某条件的子结点的路径.在搜索过程中,对于每一个中间结点,他的位置以及向下搜索过程是相似的,因此完全可以用递归来处理.典型的例子就是著名的"八皇后问题".<br>&nbsp;&nbsp;&nbsp; "八皇后问题"是在国际象棋棋盘上放置八个皇后,使她们不能相吃.国际象棋中的皇后可以吃掉与她处于同一行,同一列,同一对角线上的棋子.因此每一行只能摆放一个皇后.因共有八行,所以每行有且只有一个皇后.<br>&nbsp;&nbsp;&nbsp; 在本例中皇后的位置有一个一维数组来存放A(I)=J表示第I行皇后放在第J列.下面主要来看看怎么样判断皇后是否安全的问题.(1)首先,用一维数组来表示,已经解决了不在同一行的问题.(2)对于列可以引进一个标志数组C[J],若J列上已放了皇后,则C[J]=FALSE.(3)对于左上右下的对角线I-J为一常量,位于[-7,+7]之间,再此引入标志数组L[-7..7];对于左下右上的对角线,类似的有I+J等于常量,用数组R[2..16]来表示.当在第I行,第J列上放置了皇后,则只需设置:C[J]:=FALSE; L[I-J]:=FLASE; R[I+J]:=FALSE就可以解决皇后的安全问题了.</p>
<p>&nbsp;</p>
<p>问题描述：在标准国际象棋的棋盘上（8*8格）准备放置8只皇后，我们知道，国际象棋中皇后的威力是最大的，她既可以横走竖走，还可以斜着走，遇到挡在她前进路线上的敌人，她就可以吃掉对手。要求在棋盘上安放8只皇后，使她们彼此互相都不能吃到对方，求皇后的放法。<br>/************************************************************************/<br>/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 */<br>/*　　　　问题：在8&#215;8的国际象棋棋盘上放置8个皇后，要求任意两个皇后　　　　　　 */<br>/*　　　　　　 不能在同一行、同一列或同一条对角线上。　　　　　　　　　　　　 */<br>/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 */<br>/*　　　　本程序使用递归－回溯法求解8皇后问题。Visual C++ 6.0 调试通过。　　*/<br>/*　　　　作者 晨星　　　　 2002年5月9日　　　　　　　　　　　　　　　　　　 */<br>/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 */<br>/************************************************************************/<br>#include &lt;stdio.h&gt;<br>#include &lt;conio.h&gt;<br>#include &lt;math.h&gt;<br>#define QUEENS 8<br>//!记录解的序号的全局变量。<br>int iCount = 0;<br>//!记录皇后在各列上的放置位置的全局数组。<br>int Site[QUEENS];<br>//!递归求解的函数。<br>void Queen(int n);<br>//!输出一个解。<br>void Output();<br>//!判断第n个皇后放上去之后，是否有冲突。<br>int IsValid(int n);<br>/*----------------------------Main：主函数。 ----------------------------*/<br>void main()<br>{<br>　　　　 //!从第0列开始递归试探。<br>　　　　 Queen(0);<br>　　　　 //!按任意键返回。<br>　　　　 getch();<br>}<br>/*-----------------Queen：递归放置第n个皇后，程序的核心!----------------*/<br>void Queen(int n)<br>{<br>　　　　 int i;<br>　　　　 //!参数n从0开始，等于8时便试出了一个解，将它输出并回溯。<br>　　　　 if(n == QUEENS)<br>　　　　 {<br>　　　　　　　　　　 Output();<br>　　　　　　　　　　 return;<br>　　　　 }<br>　　　　　　<br>　　　　 //!n还没到8，在第n列的各个行上依次试探。<br>　　　　 for(i = 1 ; i &lt;= QUEENS ; i++)<br>　　　　 {<br>　　　　　　　　　　 //!在该列的第i行上放置皇后。<br>　　　　　　　　　　 Site[n] = i;<br>　　　　　　　　　　 //!如果放置没有冲突，就开始下一列的试探。<br>　　　　　　　　　　 if(IsValid(n))<br>　　　　　　　　　　　　　　　　 Queen(n + 1);<br>　　　　 }<br>}<br>/*------IsValid：判断第n个皇后放上去之后，是否合法，即是否无冲突。------*/<br>int IsValid(int n)<br>{<br>　　　　 int i;<br>　　　　 //!将第n个皇后的位置依次于前面n－1个皇后的位置比较。<br>　　　　 for(i = 0 ; i &lt; n ; i++)<br>　　　　 {<br>　　　　　　　　　　 //!两个皇后在同一行上，返回0。<br>　　　　　　　　　　 if(Site[i] == Site[n])<br>　　　　　　　　　　　　　　　　 return 0;<br>　　　　　　　　　　 //!两个皇后在同一对角线上，返回0。<br>　　　　　　　　　　 if(abs(Site[i] - Site[n]) == (n - i))<br>　　　　　　　　　　　　　　　　 return 0;<br>　　　　 }<br>　　　　 //!没有冲突，返回1。<br>　　　　 return 1;<br>}<br>/*------------Output：输出一个解，即一种没有冲突的放置方案。------------*/<br>void Output()<br>{<br>　　　　 int i;<br>　　　　 //!输出序号。<br>　　　　 printf("No.%-5d" , ++iCount);<br>　　　　 //!依次输出各个列上的皇后的位置，即所在的行数。<br>　　　　 for(i = 0 ; i &lt; QUEENS ; i++)<br>　　　　　　　　　　 printf("%d " , Site[i]);<br>　　　　 printf("n");<br>}</p>
<p><br>STL源代码<br>用了STL, 方法是一样的.<br>#include &lt;iostream&gt;<br>#include &lt;string&gt;<br>using namespace std;<br>void queen(const string t, const string s)<br>{<br>　　　　if (s=="") cout&lt;&lt;t&lt;&lt;endl;<br>　　　　else<br>　　　　　　　　for (int i=0; i&lt;s.length(); i++) {<br>　　　　　　　　　　　　bool safe=true;<br>　　　　　　　　　　　　for (int j=0;j&lt;t.length();j++) {<br>　　　　　　　　　　　　　　　　if (t.length()-j==abs(s[i]-t[j])) safe=false;<br>　　　　　　　　　　　　}<br>　　　　　　　　　　　　if (safe) queen(t+s[i], s.substr(0,i)+s.substr(i+1));<br>　　　　}<br>}<br>int main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string s="01234567";<br>　　　　queen("",s);<br>　　　　system("PAUSE");<br>　　　　exit(EXIT_SUCCESS);<br>}</p>
<p>递归解八皇后问题<br>/*递归法解八皇后问题*/<br>/*作者黄国瑜，《数据结构（C语言版）》清华大学出版社*/<br>char Chessboard[8][8]; /*声明8＊8的空白棋盘*/<br>int N_Queens(int LocX, int LocY, int Queens) /*递归*/<br>{<br>int i,j;<br>int Result=0;<br>if(Queens == 8)/*递归结束条件*/<br>　　 return 1;<br>else if(QueenPlace(LocX,LocY))/*递归执行部分*/<br>　　{<br>　　Chessboard[LocX][LocY] = 'Q';<br>　　for(i=0;i&lt;8;i++)<br>　　　　for(j=0;j&lt;8;j++)<br>　　　　{<br>　　　　Result += N_Queens(i,j,Queens+1);<br>　　　　if(Result&gt;0)<br>　　　　　　break;<br>　　　　}<br>　　if(Result&gt;0)<br>　　　　return 1;<br>　　else<br>　　　　{<br>　　　　Chessboard[LocX][LocY] = 'X';<br>　　　　}<br>　　}<br>else<br>　　return 0;<br>}<br>int QueenPlace(int LocX,int LocY) /*判断传入坐标本身及入八个方向上是否有皇后*/<br>{<br>int i,j;<br>if(Chessboard[LocX][LocY] != 'X')<br>　　return 0;<br>for(j=LocY-1;j&gt;=0;j--)<br>　　if(Chessboard[LocX][j] != 'X')<br>　　　　return 0;<br>for(j=LocY+1;j&lt;8;j++)<br>　　if(Chessboard[LocX][j] != 'X')<br>　　　　return 0;<br>for(i=LocX-1;i&gt;=0;i--)<br>　　if(Chessboard[i][LocY] != 'X')<br>　　　　return 0;<br>for(i=LocX+1;i&lt;8;i++)<br>　　if(Chessboard[i][LocY] != 'X')<br>　　　　return 0;<br>i= LocX - 1;<br>j= LocY - 1;<br>while (i&gt;=0&amp;&amp;j&gt;=0)<br>　　if(Chessboard[i--][j--] != 'X')<br>　　　　return 0;<br>i= LocX + 1;<br>j= LocY - 1;<br>while (i&lt;8&amp;&amp;j&gt;=0)<br>　　if(Chessboard[i++][j--] != 'X')<br>　　　　return 0;<br>i= LocX - 1;<br>j= LocY + 1;<br>while (i&gt;=0&amp;&amp;j&lt;8)<br>　　if(Chessboard[i--][j++] != 'X')<br>　　　　return 0;<br>i= LocX + 1;<br>j= LocY + 1;<br>while (i&lt;8&amp;&amp;j&lt;8)<br>　　if(Chessboard[i++][j--] != 'X')<br>　　　　return 0;<br>return 1;<br>}<br>main() /*主程序*/<br>{<br>int i,j;<br>for(i=0;i&lt;8;i++)<br>　　for(j=0;j&lt;8;j++)<br>　　　　Chessboard[i][j] = 'X';<br>N_Queens(0,0,0);<br>printf("the graph of 8 Queens on the Chessboard.is:n");<br>for(i=0;i&lt;8;i++)<br>　　for(j=0;j&lt;8;j++)<br>　　{<br>　　if(Chessboard[i][j] == 'Q')<br>　　　　printf("(%d,%d)n",i,j);<br>　　}<br>getch();<br>}<br>/*********************************************************<br>*****************八皇后问题*******************************<br>************根据严书给的类c算法求得************************<br>*********************************************************/<br>#include&lt;stdio.h&gt;<br>#define N 8<br>int col=1,row=1,slash=1,bslash=1;<br>int a[N][N];<br>int p,q,k,l;<br>int num=0;<br>void trial(int i)<br>{<br>int j;　　 /*注 意，这里的j 一定要设为内部变量*/<br>if(i==N)<br>{<br>num++;<br>for(k=0;k&lt;N;k++)<br>{<br>for(l=0;l&lt;N;l++)<br>{<br>　　if(a[k][l]==1)<br>　　 printf("@");<br>　　else printf("*");<br>}<br>printf("n");<br>}<br>printf("nn");<br>getchar();<br>}<br>else<br>{<br>for(j=0;j&lt;N;j++)<br>{<br>for(k=0;k&lt;i;k++)<br>　　if(a[k][j]==1)<br>　　{<br>　　 col=0;<br>　　 break;<br>　　}　　　　 /*列*/<br>p=i-1;<br>q=j+1;<br>while((p&gt;=0)&amp;&amp;(q&lt;N))<br>{<br>　　if(a[p][q]==1)<br>　　{<br>　　 slash=0;<br>　　 break;<br>　　}<br>　　p--;<br>　　q++;<br>}<br>p=i-1;<br>q=j-1; /*对角*/<br>while((p&gt;=0)&amp;&amp;(q&gt;=0))<br>{<br>　　if(a[p][q]==1)<br>　　{<br>　　 bslash=0;<br>　　 break;<br>　　}<br>　　p--;<br>　　q--;<br>}　　　　　　/*斜对角*/<br>if((col==1)&amp;&amp;(slash==1)&amp;&amp;(bslash==1)) /*条件判断*/<br>{<br>　　a[i][j]=1;<br>　　trial(i+1);<br>}<br>col=1;slash=1;bslash=1;<br>a[i][j]=0;<br>}<br>}<br>}<br>void main()<br>{<br>trial(0);<br>printf("%dn",num);<br>getchar();<br>}</p>
<img src ="http://www.cppblog.com/cuijiaxing/aggbug/124116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2010-08-20 18:34 <a href="http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>全排列算法(Using c++ template): </title><link>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124073.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Fri, 20 Aug 2010 02:51:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124073.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/124073.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124073.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/124073.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/124073.html</trackback:ping><description><![CDATA[<font face=宋体 size=2>这是一个全排列算法的C++模板, 与STL中泛型算法next_permutation的功能是一样的。<br><br>template &lt; typename T &gt;<br>bool _next_permutation( T *first, T *last );<br>#define N 8<br>int main(int argc, char* argv[])<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int y = 1;//序号<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char a[N];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( i=0; i&lt;N; i++ )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i] = i + 1 + 64 + 32;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long t0 = time( NULL );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; y &lt;&lt; "　---&gt;　";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( i = 0; i&lt;N; i++ ) cout &lt;&lt; a[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }while( _next_permutation( &amp;a[0], &amp;a[N] ) );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long t1 = time( NULL ) - t0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; t1 &lt;&lt; endl;//当N为8时耗时130秒，与泛型算法next_permutation用时一样<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>}<br><br>template &lt; typename T &gt;<br>bool _next_permutation( T *first, T *last )<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int x = -1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int rang = last - first;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( i=0; i&lt;rang-1; i++ )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( *( first+i ) &lt;= *( first+i+1 ) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( x != -1 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( i=x; i&lt;rang; i++ )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( *( first+x ) &lt;= *( first+i ) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<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; j = i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _swap( *( first+x ), *( first+j ) );<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ( i=x+1; i&lt;rang; i++ )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( i != rang + x - i )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<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; int nSwap = rang + x - i;<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; _swap( *( first+i ), *( first+ ( rang+x-i ) ) );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( ( i + 1 ) * 2 &gt; rang + x )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<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; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( -1 == x ) return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return true;<br>}<br><br>template &lt; typename T &gt;<br>void _swap( T &amp;a, T &amp;b )<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = a + b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = a - b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = a - b;<br>}</font><br>
<img src ="http://www.cppblog.com/cuijiaxing/aggbug/124073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2010-08-20 10:51 <a href="http://www.cppblog.com/cuijiaxing/archive/2010/08/20/124073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>poj 2572</title><link>http://www.cppblog.com/cuijiaxing/archive/2010/08/19/123979.html</link><dc:creator>崔佳星</dc:creator><author>崔佳星</author><pubDate>Thu, 19 Aug 2010 08:26:00 GMT</pubDate><guid>http://www.cppblog.com/cuijiaxing/archive/2010/08/19/123979.html</guid><wfw:comment>http://www.cppblog.com/cuijiaxing/comments/123979.html</wfw:comment><comments>http://www.cppblog.com/cuijiaxing/archive/2010/08/19/123979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuijiaxing/comments/commentRss/123979.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuijiaxing/services/trackbacks/123979.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 14pt">大整数的加法。与以前高精度算法不同的是这次要一下子读入一个算式。然后简便的是，这次不用再交换顺序了，直接加。但是结果的判断稍微麻烦一点，要把开头的0都去掉才行。一下是我的代码。哎，刚开始把自己弄得挺混乱的，后来愤怒了，就把所有代码全删掉重新写了一遍。然后一次AC<br>#include&lt;iostream&gt;<br>#include&lt;stdio.h&gt;<br>#include&lt;cstring&gt;<br>using namespace std;<br>char a[12],b[12],c[12];<br>char temp[25];<br>bool add(char *first,char *second)<br>{<br>&nbsp;int len1=strlen(first);<br>&nbsp;int len2=strlen(second);<br>&nbsp;first[len1]='0';<br>&nbsp;int i,j;<br>&nbsp;for(i=0;i&lt;len2;i++)<br>&nbsp;{<br>&nbsp;&nbsp;second[i]-='0';<br>&nbsp;}<br>&nbsp;for(j=0;j&lt;=len1;j++)<br>&nbsp;{<br>&nbsp;&nbsp;first[j]-='0';<br>&nbsp;}<br>&nbsp;for(i=0;i&lt;len2;i++)<br>&nbsp;{<br>&nbsp;&nbsp;first[i]+=second[i];<br>&nbsp;}<br>&nbsp;for(i=0;i&lt;len1;i++)<br>&nbsp;{<br>&nbsp;&nbsp;if(first[i]&gt;=10)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;first[i+1]+=first[i]/10;<br>&nbsp;&nbsp;&nbsp;first[i]%=10;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;for(i=0;i&lt;=len1;i++)<br>&nbsp;&nbsp;first[i]+='0';<br>&nbsp;while(first[len1]=='0')<br>&nbsp;&nbsp;len1--;<br>&nbsp;int len3=strlen(c);<br>&nbsp;len3--;<br>&nbsp;while(c[len3]=='0')<br>&nbsp;&nbsp;len3--;<br>&nbsp;if(len1!=len3)<br>&nbsp;&nbsp;return false;<br>&nbsp;while(len3&gt;=0)<br>&nbsp;{<br>&nbsp;&nbsp;if(c[len3]!=first[len3])<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;len3--;<br>&nbsp;}<br>&nbsp;return true;<br>}<br>int main()<br>{<br>&nbsp;while(gets(temp))<br>&nbsp;{<br>&nbsp;&nbsp;int kk=0;<br>&nbsp;&nbsp;while(temp[kk]!='+')<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;a[kk]=temp[kk];<br>&nbsp;&nbsp;&nbsp;kk++;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;a[kk]='\0';<br>&nbsp;&nbsp;kk++;<br>&nbsp;&nbsp;int kkk=0;<br>&nbsp;&nbsp;while(temp[kk]!='=')<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;b[kkk]=temp[kk];<br>&nbsp;&nbsp;&nbsp;kk++;kkk++;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;b[kkk]='\0';<br>&nbsp;&nbsp;kk++;<br>&nbsp;&nbsp;kkk=0;<br>&nbsp;&nbsp;while(temp[kk]!='\0')<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;c[kkk]=temp[kk];<br>&nbsp;&nbsp;&nbsp;kk++;kkk++;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;c[kkk]='\0';</p>
<p style="FONT-SIZE: 14pt">&nbsp;&nbsp;int len1=strlen(a);<br>&nbsp;&nbsp;int len2=strlen(b);<br>&nbsp;&nbsp;if(len1==1&amp;&amp;len2==1&amp;&amp;a[0]=='0'&amp;&amp;b[0]=='0')<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;cout&lt;&lt;"True"&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if(len1&gt;len2)<br>&nbsp;&nbsp;&nbsp;if(add(a,b))<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"True"&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"False"&lt;&lt;endl;<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;if(add(b,a))<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"True"&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"False"&lt;&lt;endl;<br>&nbsp;}<br>&nbsp;return 0;</p>
<p style="FONT-SIZE: 14pt">}</p>
<img src ="http://www.cppblog.com/cuijiaxing/aggbug/123979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuijiaxing/" target="_blank">崔佳星</a> 2010-08-19 16:26 <a href="http://www.cppblog.com/cuijiaxing/archive/2010/08/19/123979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>