用循环实现了一个简单的三皇后问题,为递归解决N皇后问题打基础
#include<iostream>
#include<cmath>
using namespace std;
int queen[100];//表示第n行放在第几列
int a=0;
int first=1;
int main()
{
int i,j,k;
int pos=0;
for(i=0;i<3;i++){
queen[a]=i;
for(j=0;j<3;j++){
if(queen[a]==j||abs(i-j)==1){
continue;
}
queen[a++]=j;
for(k=0;k<3;k++){
/*依次测试第三行的三列*/
for(pos=0;pos<3;pos++){
if(k==queen[pos]||(abs(pos-3)==abs(queen[pos]-k))){
queen[2]=-1;
break;
}
queen[a++]=k;
first=0;
}
}
}
}
cout<<queen[0]<<queen[1];
cout<<queen[2]<<endl<<first;
return 0;
}