1 条题解

  • 0
    @ 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

信息

难度
7
分类
搜索 点击显示
标签
(无)
递交数
16
已通过
7
通过率
44%
上传者