1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <iostream> #include <algorithm> using namespace std; const int size=8; int eq[]={0,1,2,3,4,5,6,7}; long cc=0; int eightqueen(){ while(next_permutation(eq,eq+8)){ bool ok=true; int i,j; for(i=0;i<size && ok;i++){ for(j=0;j<size && ok;j++){ if(i==j) continue; if( (i-eq[i]==j-eq[j])||(i+eq[i]==j+eq[j]) ) ok=false; } } if(ok){ cc++; for(i=0;i<size;i++){ cout<<eq[i]; } cout<<endl; } } return cc; } int main(){ cout<<endl<<eightqueen()<<endl; return 0; }
|