八皇后92种解八皇后92种解(不排除对称和旋转所得棋局)
一.穷举法
(1)不用递归(教材P282例12。3)
#include
int data[9],iCount;
bool check();
void out(void);
void main()
{
int i1,i2,i3,i4,i5,i6,i7,i8;
for(i1=1;i1
int iCount;
int data[9];
bool check();
void out();
void queen(int r);
void main(...
八皇后92种解(不排除对称和旋转所得棋局)
一.穷举法
(1)不用递归(教材P282例12。3)
#include
int data[9],iCount;
bool check();
void out(void);
void main()
{
int i1,i2,i3,i4,i5,i6,i7,i8;
for(i1=1;i1<=8;i1++)
for(i2=1;i2<=8;i2++)
for(i3=1;i3<=8;i3++)
for(i4=1;i4<=8;i4++)
for(i5=1;i5<=8;i5++)
for(i6=1;i6<=8;i6++)
for(i7=1;i7<=8;i7++)
for(i8=1;i8<=8;i8++)
{
data[1]=i1;
data[2]=i2;
data[3]=i3;
data[4]=i4;
data[5]=i5;
data[6]=i6;
data[7]=i7;
data[8]=i8;
if(check())
out();
}
}
bool check()
{
int i,m;
for(m=1;m<9;m++)
for(i=1;i
int iCount;
int data[9];
bool check();
void out();
void queen(int r);
void main()
{
queen(8);
}
void queen(int r)
{
int i;
for(i=1;i<=8;i++)
{
data[8-r+1]=i;
if(r>1)
queen(r-1);
else
if(check())
out();
}
}
bool check()
{
int i,m;
for(m=1;m<9;m++)
for(i=1;i
int iCount;
int data[9],m;
bool check(int m);
void change(void);
void extend(void);
void out();
void main()
{
data[0]=0;
data[1]=1;
m=1;
while(m>0)
if(check(m))
{
if(m==8)
{
out();
change();
}
else
extend();
}
else
change();
}
void change(void)
{
while(data[m]==8)
m=m-1;
data[m]=data[m]+1;
}
void extend(void)
{
m=m+1;
data[m]=1;
}
bool check(int m)
{
int i;
for(i=1;i
int iCount;
int data[9];
bool check(int m);
void out();
void queen(int r);
void main()
{
queen(8);
}
void queen(int r)
{
int i;
for(i=1;i<=8;i++)
{
data[8-r+1]=i;
if(check(8-r+1))
if(r>1)
queen(r-1);
else
out();
}
}
bool check(int m)
{
int i;
for(i=1;i
本文档为【八皇后92种解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。