📄 queen.cpp
字号:
#include<iostream>
#include<fstream>
#include"compare.cpp"
void Queen(ofstream &ofile)
{
int count=0;
for(int i0=0;i0<8;i0++)
for(int i1=0;i1<8;i1++){if(i1==i0) continue;
for(int i2=0;i2<8;i2++){if(i2==i1||i2==i0) continue;
for(int i3=0;i3<8;i3++){if(i3==i2||i3==i1||i3==i0) continue;
for(int i4=0;i4<8;i4++){if(i4==i3||i4==i2||i4==i1||i4==i0) continue;
for(int i5=0;i5<8;i5++){if(i5==i4||i5==i3||i5==i2||i5==i1||i5==i0) continue;
for(int i6=0;i6<8;i6++){if(i6==i5||i6==i4||i6==i3||i6==i2||i6==i1||i6==i0) continue;
for(int i7=0;i7<8;i7++){if(i7==i6||i7==i5||i7==i4||i7==i3||i7==i2||i7==i1||i7==i0) continue;
{
int mk0=8+0-i0-1; int sk0=0+i0;
int mk1=8+1-i1-1; int sk1=1+i1;
int mk2=8+2-i2-1; int sk2=2+i2;
int mk3=8+3-i3-1; int sk3=3+i3;
int mk4=8+4-i4-1; int sk4=4+i4;
int mk5=8+5-i5-1; int sk5=5+i5;
int mk6=8+6-i6-1; int sk6=6+i6;
int mk7=8+7-i7-1; int sk7=7+i7;
int mk[]={mk0,mk1,mk2,mk3,mk4,mk5,mk6,mk7};
int sk[]={sk0,sk1,sk2,sk3,sk4,sk5,sk6,sk7};
int i[]={i0,i1,i2,i3,i4,i5,i6,i7};
vector<int> vmk(mk,mk+8);
vector<int> vsk(sk,sk+8);
vector<int> vi(i,i+8);
if(compare(vmk)&&compare(vsk)){
count++;
for(int j=0;j<8;j++) ofile<<vi[j]<<" ";
ofile<<" ";
if(count%4==0) ofile<<'\n';
}
}}}}}}}}
ofile<<"there are totly "<<count<<" outputs!"<<endl;
}
void main()
{
ofstream ofile("E:\\C++\\eightqueen_result.txt");
if(!ofile)
{
cerr<<"unable to open the file! "<<endl;
exit(1);
}
Queen(ofile);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -