数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 7013|回复: 7

八皇后问题

[复制链接]
发表于 2004-11-29 16:32:14 | 显示全部楼层 |阅读模式
<><FONT face=宋体>我正在学c++</FONT></P>
<><FONT face=宋体>在国际象棋中,皇后的威力最大,她可以在横线,竖线及斜线八个方向上吃子,那么,</FONT></P>
<><FONT face=宋体>如何才能在8*8的国际象棋盘上放上8个皇后,而不让它们互不相吃?</FONT></P>
<P><FONT face=宋体>请用C++程序求解.</FONT></P>
<P><FONT face=宋体>八皇后问题是数学家gauss于1850年提出的,现知道共有92种解.</FONT></P>
发表于 2004-12-18 09:26:49 | 显示全部楼层
<>呵呵,我们数据结构的作业啊!不过我用C写的.不难,挺短的.</P>
发表于 2004-12-3 17:01:45 | 显示全部楼层
随便在google上一搜就能找到n多的源代码了
发表于 2005-2-28 01:46:13 | 显示全部楼层
这个我看过的至少有两种方法.
发表于 2005-3-13 02:07:13 | 显示全部楼层
<>回朔法</P>
发表于 2005-8-27 01:41:44 | 显示全部楼层
利用概率算法可以更高效的得出结果!具体可以查查:《算法设计与分析(王晓东 第一版 )》
发表于 2005-9-11 18:45:48 | 显示全部楼层
<>#include &lt;stdio.h&gt;<BR>#include &lt;stdlib.h&gt;<BR>#define SIZE 8</P>
<>int chessBoard[8][8]={0};<BR>int queuecount=0;<BR>int column[SIZE]={0};<BR>int upline[(SIZE-1)*2]={0};<BR>int downline[SIZE*2-1]={0};<BR>int times=0;</P>
<>void printBoard();<BR>void addQueue();</P>
<P>main(){<BR> addQueue();<BR> return 0;<BR>}</P>
<P>void addQueue()<BR>{<BR> int col;<BR> queuecount++;<BR> for(col=0;col&lt;=SIZE-1;col++){<BR>  if(column[col]!=1 &amp;&amp; upline[queuecount+col]!=1 &amp;&amp; downline[queuecount-col+SIZE-1]!=1){<BR>   column[col]=1;<BR>   upline[queuecount+col]=1;<BR>   downline[queuecount-col+SIZE-1]=1;<BR>   chessBoard[queuecount-1][col]=1;<BR>   //printBoard();<BR>   if(queuecount==SIZE){<BR>    printBoard();<BR>   }<BR>   else{<BR>    addQueue();<BR>    column[col]=0;<BR>    upline[queuecount+col]=0;<BR>    downline[queuecount-col+SIZE-1]=0;<BR>    chessBoard[queuecount-1][col]=0;<BR>   }<BR>   <BR>  }<BR> }<BR> queuecount--;<BR>}</P>
<P>void printBoard()<BR>{<BR> int i,j;<BR> for(i=0;i&lt;=SIZE-1;i++){<BR>  for(j=0;j&lt;=SIZE-1;j++){<BR>   if(chessBoard[j]==0)<BR>    printf("%d%d ",i,j);<BR>   else if(chessBoard[j]==1)<BR>     printf("*  ");<BR>  }<BR>  printf("\n");<BR> }<BR> times++;<BR> printf("%d \n",times);<BR>}</P>
<P>  <BR>  </P>

<P><BR> </P>
发表于 2005-9-12 05:08:07 | 显示全部楼层
可以用递归回溯,比较方便
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 08:37 , Processed in 0.050271 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表