#include<iostream>
#include<algorithm>
using namespace std;
int queen[9]={0},ans;
bool check(int i){
if((queen[i-1] == queen[i]) || (abs(queen[i]-queen[i-1] == 1))){
return false;
}
return true;
}
void print(){
ans++;
cout<<"Case "<<ans<<" : ";
for(int i=1;i<=8;i++){
cout<<queen[i]<<" ";
queen[i]=0;
}
cout<<endl;
}
void dfs(int step){
if(step>8){
print();
return;
}
for(int i=1;i<=8;i++){
if(check(i)){
queen[step]=i;
dfs(step+1);
queen[step]=0;
}
}
}
int main(){
dfs(1);
cout<<"total : "<<ans;
return 0;
}
求助。。。