大佬求助
  • 板块灌水区
  • 楼主I_AM_SB_
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/12 14:51
  • 上次更新2023/11/12 16:20:54
查看原帖
大佬求助
940136
I_AM_SB_楼主2023/11/12 14:51

这题我的代码:

#include <iostream>
using namespace std;
int a[10001],b[10001],c[10001],d[10001],total=1,n;
void print()
{
    cout<<"No."<<total<<endl;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(a[i]==j)
            {
                cout<<1<<" ";
            }
            else
            {
                cout<<0<<" ";
            }
        }
        cout<<endl;
    }
    total++;
}
void queen(int pos)
{
    if(pos>n)
    {
        print();
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(!b[i]&&!c[pos+i]&&!d[pos-i+n])
        {
            a[pos]=i;
            b[i]=1;
            c[pos+i]=1;
            d[pos-i+n]=1;
            queen(pos+1);
            b[i]=0;
            c[pos+i]=0;
            d[pos-i+n]=0;
        }
    }
}
int main()
{
    n=8;
    queen(1);
    return 0;
}


```我错哪了???qwq
2023/11/12 14:51
加载中...