2018-11-03

#include
#define Debug
int count=0;
void Queen(int n,int l);
bool CanPut(int i,int j,int (*a)[8],int n);
void Print(int (*a)[8],int n);
int main()
{
    printf("请输入棋盘的规模\n");
    int n;
    scanf("%d",&n);
    Queen(n,0);
    if(count)
        printf("解的总数是:%d\n",count);
    else
        printf("无解\n");
    return 1;
}
int a[8][8]={0};
void Queen(int n,int l)
{
    if(l==n-1)//最后一行,递归出口
    {
        for(int j=0;j=0;k--)
    {
        s++;
        if(a[k][j]==1 || j+s=0&&a[k][j-s]==1)
            return false;
    }
    return true;
}

作者:weixin_41133154
来源:CSDN
原文:https://blog.csdn.net/weixin_41133154/article/details/78986617
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(2018-11-03)