1 条题解

  • -1
    @ 2018-04-11 15:54:03
    #include<iostream>
    #include<cstdio>
    using namespace std;
    bool d[100]= {0},b[100]= {0},c[100]= {0};
    int a[200],n,m,x[100];
    int i,l,p=1;
    int sb;
    int print();
    int search();
    int search(int i) {
        int j;
        for(j=1; j<=8; j++)
            if((!b[j])&&(!c[i+j])&&(!d[i-j+7])) {
                a[i]=j;
                b[j]=1;
                c[i+j]=1;
                d[i-j+7]=1;
                if(i==8) print();
                else search(i+1);
                b[j]=0;
                c[i+j]=0;
                d[i-j+7]=0;
            }
    }
    int print() {
        int j;
        int s[100][100];
        sb++;
        cout<<"No. "<<sb<<endl;
            for(i=1; i<=8; i++) {
                for(l=1; l<=8; l++) {
                    s[i][l]=0;
                }
            }
            for(i=1; i<=8; i++) {
                s[a[i]][i]=1;
            }
            for(i=1; i<=8; i++) {
                for(l=1; l<=8; l++) {
                    cout<<s[i][l]<<" ";
                }
                cout<<endl;
            }
            j++;
    }
    int main() {
        search(1);
        return 0;
    }
    
  • 1

信息

难度
9
分类
(无)
标签
(无)
递交数
54
已通过
4
通过率
7%
被复制
2
上传者