num皇后遍历

来源:互联网 发布:淘宝如何刷层级 编辑:程序博客网 时间:2024/05/18 14:13

int x[9];

int sum=0;

int num=8;

bool place(int k)

{

    for(int j =1;j<k;j++)

        if(abs(x[k] -x[j]) == abs(k-j)||x[j] ==x[k])

            returnfalse;

    returntrue;

    

}

void backtrack(int t)

{

    if(t>num)//num为皇后的数目

    {

        sum++;

    }

    else

        for(int i =1;i<=num;i++)

        {

            x[t] = i;

            if(place(t))

                backtrack(t+1);

        }

}


原创粉丝点击