找回密码
 注册会员
查看: 590|回复: 0

c++编程:八车问题

[复制链接]
发表于 2010-6-1 11:12:50 | 显示全部楼层 |阅读模式
<p>c++编程:八车问题</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:30 -</p>
<p>解决时间:2010-6-1 11:12</p>
<p>设计程序在棋盘上放八个车,并使之间不能被吃掉,高手就来</p>
<p>提问者: 骓愤 - 二级</p>
<p>最佳答案</p>
<p>这是八皇后问题</p>
<p>你可以网上搜</p>
<p>#include <iostream></p>
<p>using namespace std;</p>
<p>#include <math.h></p>
<p>#define N 8</p>
<p>void Check(int p[]){</p>
<p>int i,j;</p>
<p>for(i=0;i<N;i++)</p>
<p>for(j=i+1;j<N;j++)</p>
<p>if(abs(p[j]-p)==j-i)</p>
<p>return;</p>
<p>for(i=0;i<N;i++)</p>
<p>printf("%d ",p);</p>
<p>printf("\n");</p>
<p>}</p>
<p>void Permute(int n,int p[]){</p>
<p>int i,j;</p>
<p>if(n==1)</p>
<p>Check(p);</p>
<p>for(i=0,j=n-1;i<N;i++)</p>
<p>if(!p){</p>
<p>p=j;  Permute(j,p);   p=0;</p>
<p>}</p>
<p>}</p>
<p>int main(){</p>
<p>static int p[N];</p>
<p>int n=N;</p>
<p>Permute(n+1,p);</p>
<p>return 0;</p>
<p>}</p>
<p>0</p>
<p>回答者:</p>
<p>dukang9904455 - 八级   2010-5-31 13:05</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>谢谢你了!</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-5-19 16:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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