📄 1.八皇后问题.txt
字号:
//1.八皇后问题
#include<stdio.h>
#define n 8
int m=1,a[n];
int ok(int i,int j) //此函数测试其位置是不是合适
{
int t,b,ok1;
t=j;b=i;ok1=1;
while((t>1)&&ok1) //检查行是否合适
{t--;ok1=a[t]!=i; }
t=j;b=i;
while((t>1)&&(b>1)&&ok1) //检查一个对角线是否合适
{t--;b--;ok1=a[t]!=b;}
t=j;b=i;
while((t>1)&&(b<n)&&ok1) //检查另一个对角线是不是合适
{t--;b++;ok1=a[t]!=b;}
return ok1;
}
unknown2(int j)
{
int i;
if (j>n) {m++;printf("m=%d",m-1);
for (i=1;i<=n;i++)
{printf(" %d",a[i]); }
printf("\n "); }
else for(i=1;i<=n;i++)
if(ok(i,j)){a[j]=i;unknown2(j+1);}
return m;
}
main()
{
unknown2(1);
printf("NUMBER=%d \n", m-1 );
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -