首页 > 其他分享 >52. N 皇后 II

52. N 皇后 II

时间:2023-06-13 10:24:01浏览次数:29  
标签:cnt int diag 52 II anti 皇后 col row

class Solution {
public:
    vector<bool> row,anti_diag,col,diag;
    int res=0;
    void dfs(int n,int x,int y,int cnt)
    {
        
        if(y==n)    y=0,x++;
        if(x==n)
        {   
            if(cnt==n)
                res++;
            return;
        }
        if(!row[x]&&!col[y]&&!diag[x+y]&&!anti_diag[x-y+n])
        {
            row[x]=col[y]=diag[x+y]=anti_diag[x-y+n]=true;
            dfs(n,x,y+1,cnt+1);
            row[x]=col[y]=diag[x+y]=anti_diag[x-y+n]=false;
        }
        dfs(n,x,y+1,cnt);
    }
    int totalNQueens(int n) {
        row=col=vector<bool>(n,false);
        diag=anti_diag=vector<bool>(2*n,false);
        dfs(n,0,0,0);
        return res;
    }
};

标签:cnt,int,diag,52,II,anti,皇后,col,row
From: https://www.cnblogs.com/tangxibomb/p/17476758.html

相关文章

  • LeetCode 51. N 皇后
    classSolution{public:vector<vector<string>>res;vector<string>path;vector<bool>anti_diag,col,diag;voiddfs(intn,intu){if(u==n){res.push_back(path);return;......
  • 代码随想录算法训练营第25天 | ● 216.组合总和III ● 17.电话号码的字母组合 - 第7章
     第七章 回溯算法part02 今日内容:  ●  216.组合总和III●  17.电话号码的字母组合  详细布置   216.组合总和III  如果把 组合问题理解了,本题就容易一些了。  题目链接/文章讲解:https://programmercarl.com/0216.%E7%BB%84%E5%90%88%E6%80%B......
  • 51nod-1523 非回文
    原题链接1523 非回文题目来源: CodeForces基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题一个字符串是非回文的,当且仅当,他只由前p个小写字母构成,而且他不包含长度大于等于2的回文子串。给出长度为n的非回文串s。请找出字典序......
  • POJ 2352 HDU1541 Stars(树状数组)
    题意:二维平面给定n个点的坐标,然后要你输出每个点的“等级“。每个点的等级是它的左下放的点个数(包括正下放和正左方的点)。即要你输出对于每个点(x,y)来说,有多少点的坐标(xi,yi)满足xi<=x且yi<=y。思路:题目给出的坐标中已经是按y升序排列,那么其实只用考虑x轴,那么显然就是在前面的......
  • HDU 3277 Marriage Match III(并查集+二分+最大流)
    题意:和HDU3081一样的题意,只不过多了一个条件,每个女孩除了能选自己喜欢的男生之外,还能选不超过K个自己不喜欢的男生,问游戏最多能进行几轮思路:除了选喜欢的,还能选任意K个不喜欢的,怎么建图呢?一开始我想每个女孩连喜欢的男孩,而且选K个不喜欢的男孩也连边,可是这K个要怎么确定呢?这种显然......
  • HDU 3081 Marriage Match II(二分+并查集+最大流)
    题意:有N个女孩要与N个男孩玩配对游戏.每个女孩有一个可选男孩的集合(即该女孩可以选自己集合中的任意一个男孩作为该轮的搭档).然后从第一轮开始,每个女孩都要和一个不同的男孩配对.如果第一轮N个女孩都配对成功,那么就开始第二轮配对,女孩依然从自己的备选男孩集合中选择,但是不能......
  • Windows服务器IIS日志存放位置 及 查看方法
    用户每打开一次网页,iis都会记录用户IP、访问的网页地址、访问时间、访问状态等信息,这些信息保存在iis日志文件里,方便网站管理员掌握网页被访问情况和iis服务器运行情况。如果网页被恶意访问(如注入数据库),日志中会有相应的记录,并且能看到注入者用什么代码注入,便于分析网站漏洞。i......
  • 503. 下一个更大元素 II
    给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1......
  • deal.II — an open source finite element library
    简介:Whatitis: AC++softwarelibrarysupportingthecreationoffiniteelementcodesandanopencommunityofusersanddevelopers.(Learnmore.)Mission: Toprovidewell-documentedtoolstobuildfiniteelementcodesforabroadvarietyofPDEs,froml......
  • 访问利用windows IIS 搭建的webdav出现500、403等代码的解决方案
    服务端在IIS中启用webDav添加创作规则(如第1张图)启用「身份验证」(如第2、3张图)防火墙设置将「在IIS中对该webDav站点设置的端口」设为「例外」或直接关闭防火墙重启该IIS站点(可选)客户端下载地址(选一即可):Windows64位https://www.123pan.com/s/FfztVv-DxNn3.html......