📄 八皇后.txt
字号:
#include<iostream>
using namespace std;
int line[8],answer=0;
void show()//显示摆放的结果.
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
if(line[i]==j)
cout<<"Q"<<" ";
else
cout<<"*"<<" ";
}
cout<<endl;
}
answer++;
cout<<endl;
cout<<answer<<endl;
getchar();
}
int Judge(int t)//判断摆放的位置是否正确,不正确返回1,正确返回0.
{
int i,n=0;
for(i=0;i<t;i++)
{
if(line[i]==line[t])//判断是否在同一列
{n=1;break;}
if(line[i]+i==line[t]+t)//判断在/方向是否有别的皇后
{n=1;break;}
if(line[i]-i==line[t]-t)//判断在\方向上是否有别的皇后
{n=1;break;}
}
return n;
}
void control(int n)//主要控制函数.
{
int t=8;
for(line[n]=0;line[n]<t;line[n]++)
{
if(Judge(n))
continue;
else
if(n!=7)
control(n+1);
else
show();
}
}
void main()//主函数
{
control(0);
cout<<answer<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -