首页 > 其他分享 >LeetCode 51. N 皇后

LeetCode 51. N 皇后

时间:2023-06-13 10:02:11浏览次数:53  
标签:false int diag 51 vector anti res 皇后 LeetCode

class Solution {
public:
    vector<vector<string>> res;
    vector<string> path;
    vector<bool> anti_diag,col,diag;
    void dfs(int n,int u)
    {
        if(u==n)
        {
            res.push_back(path);
            return;
        }
        string str(n,'.');
        for(int i=0;i<n;i++)//枚举皇后在该行的位置
        {
            if(!col[i]&&!diag[u+i]&&!anti_diag[u-i+n])
            {
                str[i]='Q';
                col[i]=diag[u+i]=anti_diag[u-i+n]=true;
                path.push_back(str);
                dfs(n,u+1);
                str[i]='.';
                col[i]=diag[u+i]=anti_diag[u-i+n]=false;
                path.pop_back();
            }
        }
    }
    vector<vector<string>> solveNQueens(int n) {
        col=vector<bool>(n,false);
        diag=anti_diag=vector<bool>(2*n,false);
        dfs(n,0);
        return res;
    }
};

标签:false,int,diag,51,vector,anti,res,皇后,LeetCode
From: https://www.cnblogs.com/tangxibomb/p/17476686.html

相关文章

  • YOKOGAWA CP451-10
    W;① ⑧ 0 ③0 ① 7 7 ⑦ 5 ⑨YOKOGAWAYNT511DYOKOGAWA PW501YOKOGAWA AIP578 YOKOGAWA AIP171从IntelAtom四核1.9GHz到IntelCeleron2GHz的不同CPU版本可实现应用程序优化的计算能力,因此可视化、图像处理、PLC、运动、机器人和CNC可以在单......
  • leetCode1768.交替合并字符串 && [1679] K 和数对的最大数目
    题目:给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回合并后的字符串。      输入:word1="abc",word2="pqr"      输出:"apbqcr......
  • LeetCode/区间子数组个数
    给你一个整数数组nums和两个整数:left及right找出nums中连续、非空且其中最大元素在范围[left,right]内的子数组,并返回满足条件的子数组的个数1.遍历区间右端点+同时记录满足条件的左边点位数组中不能含有大于right的元素,且至少含有一个处于[left,right]区间的元......
  • 51nod-1605 棋盘问题
    原题链接1605 棋盘问题基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的。亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色......
  • 51nod-1086 背包问题(多重背包)
    原题链接1086 背包问题 V2基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注Input第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W <= 50000)第2 - N......
  • 51nod-1280 前缀后缀集合
    原题链接1280 前缀后缀集合题目来源: Codility基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注一个数组包含N个正整数,其中有些是重复的。一个前缀后缀集是满足这样条件的下标对(P,S),0<=P,S......
  • 51nod-1523 非回文
    原题链接1523 非回文题目来源: CodeForces基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题一个字符串是非回文的,当且仅当,他只由前p个小写字母构成,而且他不包含长度大于等于2的回文子串。给出长度为n的非回文串s。请找出字典序......
  • 51nod-1460 连接小岛
    原题链接1460 连接小岛题目来源: CodeForces基准时间限制:1.5 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注li+1  对于所有的 1≤i≤n-1。现在要将相邻的小岛用桥连接起来。现在有一条桥的长度是a,第i个......
  • 51nod-1434 区间LCM
    原题链接1434 区间LCM题目来源: TopCoder基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注例如,LCM(2)=2,LCM(4,6)=12,LCM(1,2,3,4,5)=60。现在给定一个整数N(1<=N<=1000000),需要找到......
  • 51nod-1624 取余最长路
    原题链接1624 取余最长路基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注佳佳有一个n*m的带权矩阵,她想从(1,1)出发走到(n,m)且只能往右往下移动,她能得到的娱乐值为所经过的位置的权的总和。有一天,她被下了恶......