Advertisement

7-6号N皇后问题(28分)

阅读量:

在一个N乘N的棋盘上安置N个皇后,确保它们之间不会发生相互攻击的情况(即任何两个皇后不能位于同一行、同一列,也不能处于与棋盘边缘形成45度角的对角线上)。
你的任务是,针对给定的数值N,计算出所有符合要求的摆放方式的数量。

输入格式:

输入数据由多行组成,每行包含一个不超过10的正整数N,用于表示棋盘的规模以及所放置皇后的数目;

输出格式:

每一行数据对应一个正整数,用以体现相应输入行中皇后不同摆放方式的数量

输入样例解析

以下是一组示例输入数据:

1
8
5

输出样例:

在此处展示对应的输出结果。例如:

1
92
10

AC代码:

复制代码
    #include<bits/stdc++.h>
    using namespace std;
    int a[15];//记录每行皇后的位置(即列号)
    int n,sum;
    void queen(int k)//第k行
    {
    if(k==n)//如果k=n,每行放完了 
    {
        sum++;
        return;
    }
    for(int i=0;i<n;i++)//假设放在第k行的第i列
    {

全部评论 (0)

还没有任何评论哟~