题目描述

继续思考“n-queens”问题
这次我们不是输出皇后的排列情况,而是输出n皇后问题一共有多少种解法
leetcode 98:n-queens-ii

Follow up for N-Queens problem.

Now, instead outputting board configurations, return the total number of distinct solutions.

leetcode 98:n-queens-ii



示例1

输入

复制
1

输出

复制
1
示例2

输入

复制
8

输出

class Solution {
public:
    /**
     *
     * @param n int整型
     * @return int整型
     */
    void f(int &cnt,int a[],int n,int level){
        if (level ==n) {cnt++;return;}
        for (int i=0;i<n;i++){
            int j=0;
            for (;j<level;j++){
                if (a[j]==i || level -j ==i-a[j] || j-level==i-a[j]) break;
                
            }
            if (j==level){
                a[level]=i;
                f(cnt,a,n,level+1);
            }
        }
    }
    int totalNQueens(int n)
    {
        int a[n];
        int cnt=0;
        f(cnt,a,n,0);
        return cnt;
        
    }
    
};

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2022-01-06
  • 2021-07-10
  • 2021-07-21
  • 2021-05-30
猜你喜欢
  • 2021-10-17
  • 2021-08-27
  • 2021-06-27
  • 2021-12-25
  • 2022-02-09
  • 2021-09-16
相关资源
相似解决方案