1 条题解
-
0绝艺 LV 8 @ 2021-02-09 18:46:38
#include <iostream>
using namespace std;
int c[20],n=8,cnt=0;
/*void print(){
for(int i=0;i<n;++i){
for(int j=0;j<n;++j){
if(j==c[i]) cout<<"1 ";
else cout<<"0 ";
}
cout<<endl;
}
cout<<endl;
}
*/
void ch(int r){
if(r==n){
//print();
++cnt;
return;
}
for(int i=0;i<n;++i){
c[r]=i;
int ok=1;
for(int j=0;j<r;++j)
if(c[r]==c[j]||r-j==c[r]-c[j]||r-j==c[j]-c[r]){
ok=0;
break;
}
if(ok) ch(r+1);
}
}
int main(){
ch(0);
cout<<cnt<<endl;
return 0;
}
- 1