数组大小有问题!!!
查看原帖
数组大小有问题!!!
497099
theshyer楼主2021/6/10 21:52
#include<iostream>
#include<cstdio>
using namespace std;

#define N 15
int n,sum,temp = 1;
int a[N][N];
int path[N];
bool lie[N],xie1[N],xie2[N];

void dfs(int x)
{
    if (x == n)
    {
        if (temp <= 3)
        {
            for (int i = 0; i < n; i++)printf("%d ",path[i]+1);
            printf("\n");
            temp++;
        }
        sum ++;
        return ;
    }
    for (int i = 0; i < n;i ++)
    {
        if (!lie[i] && !xie1[x + i] && !xie2[n - x + i])
        {
            lie[i] = xie1[x+i] = xie2[n-x+i] = true;
            path[x] = i;
            dfs(x+1);
            lie[i] = xie1[x+i] = xie2[n-x+i] = false;
        }
    }
}


int main()
{
    scanf("%d",&n);
    dfs(0);
    printf("%d\n",sum);
    return 0;
}

为啥开15的时候n大于9就不行了呀?

2021/6/10 21:52
加载中...