经典问题,八皇后
/*下面这个是我自己写的,不过个人感觉还是很慢,有没有能在2秒钟内完成的程序?*/#include<iostream>
using namespace std;
int main(){
int b[8]={0,1,2,3,4,5,6,7},sum=0;
while(b[0]<8){
for(int j=7; j>=0; j--){
if(j && b[j]<7){
b[j]++;
break;
}
else if(!j){
b[j]++;
break;
}
else
b[j]=0;
}
for(int j=0; j<7; j++)
for(int k=j+1; k<8; k++)
if(b[j]==b[k] || j+b[j]==k+b[k] || j-b[j]==k-b[k]){
j=8;
k=8;
}
else if(j==6){
sum++;
char c='A';
for(int a=0; a<8; a++){
cout<<c++<<b[a]+1<<" ";
}
cout<<endl;
j=8;
k=8;
}
}
}