1 条题解

  • 0
    @ 2023-3-13 11:53:10

    C++ :

    
    #include<bits/stdc++.h>
    using namespace std;
    int a[30];
    int b[30];
    int c[30];
    int d[30];
    int flag=0;
    void print()
    {
        flag++;
        cout<<"No. "<<flag<<endl;
        for(int i=1;i<=8;i++)
        {
            for(int j=1;j<=8;j++)
            {
                if(a[j]==i)
                    cout<<"1 ";
                else
                    cout<<"0 ";
            }
            cout<<endl;
        }
    }
    void searchh(int i)
    {
        for(int 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 searchh(i+1);
                b[j]=0;
                c[i+j]=0;
                d[i-j+7]=0;
            }
        }
    }
    int main()
    {
        searchh(1);
        return 0;
    }
    
    • 1

    信息

    ID
    1888
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者