📄 queen.cpp
字号:
#include <iostream.h>
#include <fstream.h>
#define MAX 20
void main()
{
ofstream out("a.txt");
int n,m,good;
int col[MAX+1],a[MAX+1],b[2*MAX+1],c[2*MAX+1];
int j;
cin>>n;
for (j=0;j<=n;j++)
a[j]=1;
for (j=0;j<2*n;j++)
b[j]=c[j]=1;
m=1;
col[1]=1;
good=1;
col[0]=0;
do{
if (good)
if (m==n)
{
for (j=1;j<=n;j++)
out<<"列"<<j<<" 行"<<col[j]<<endl;
out<<endl;
while (col[m]==n)
{
m--;
a[col[m]]=b[m+col[m]]=c[n+m-col[m]]=1;
}
col[m]++;
}
else
{
a[col[m]]=b[m+col[m]]=c[n+m-col[m]]=0;
col[++m]=1;
}
else
{
while (col[m]==n)
{
m--;
a[col[m]]=b[m+col[m]]=c[n+m-col[m]]=1;
}
col[m]++;
}
good=a[col[m]] && b[m+col[m]] && c[n+m-col[m]];
}
while (m!=0);
out.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -