博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - N-Queens II
阅读量:5138 次
发布时间:2019-06-13

本文共 514 字,大约阅读时间需要 1 分钟。

bool clash(int c1,int l1,int r1,int c2,int l2,int r2){

    if(c1&c2)return false;
    if(l1&l2)return false;
    if(r1&r2)return false;
    return true;
}

int ans;

void dfs(int step,int n,int c1,int l1,int r1){
    if(step == n){
        ans++;
        return ;
    }
    for(int i = 0 ; i < n ; i ++){
        int c2 = 1 << i;
        int l2 = 1 << (n-step+i);
        int r2 = 1 << (i+step);
        if(clash(c1,l1,r1,c2,l2,r2)){
            dfs(step+1,n,c1|c2,l1|l2,r1|r2);
        }
    }
}
int totalNQueens(int n) {
   
    ans = 0;
    dfs(0,n,0,0,0);

    return ans;

}

转载于:https://www.cnblogs.com/clover-xuqi/p/7154893.html

你可能感兴趣的文章
Android Support库百分比布局
查看>>
IOS 后台执行 播放音乐
查看>>
简单的方法来改善手机3G上网速度(2G转3G)
查看>>
HDU 2544-最短路(最短路spfa)
查看>>
Codeforces 432 D. Prefixes and Suffixes
查看>>
用JSP实现的商城购物车模块
查看>>
java环境变量配置
查看>>
强化学习(三)—— 时序差分法(SARSA和Q-Learning)
查看>>
StringBuffer类的总结
查看>>
Who's in the Middle
查看>>
创建私有cocoapods
查看>>
Customers Who Never Order
查看>>
HR给应届生的黄金面试技巧
查看>>
model.js
查看>>
iOS开发支付集成之微信支付
查看>>
技术人员的发展之路
查看>>
redis缓存数据库
查看>>
Maven的安装及配置
查看>>
oracle中sum求和问题
查看>>
Nginx配置upstream实现负载均衡
查看>>