题解 | #N皇后问题#

思路

考察递归,枚举皇后的位置,不符合条件回溯即可

#include <bits/stdc++.h>
#define ios std::ios::sync_with_stdio(false);std::cin.tie(0)
using namespace std;
int res[20],cot,n;
void dfs(int L,int C){
    if(L == n) cot++;
    else{
        res[L] = C;
        for(int i = 1;i <= n;i++){
            int j;
            for(j = 1;j <= L;j++)
                if((res[j] == i)||((j+res[j]) == L+1+i)||((j-res[j]) == (L+1-i)))
                    break;
            if(j == L+1) dfs(L+1,i);
        }
    }
}

int main(){
    ios;
    cin>>n;
    for(int i = 1;i <= n;i++)
        dfs(1,i);
    cout<<cot;
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 14:45
bg是二本双一流硕,目标是Java后端开发岗,投暑期实习0大厂面试,只有极少的大厂测开,可能投的晚加上简历太烂加上0实习?求大佬们给个建议
程序员小白条:别去小厂,初创或者外包,尽量去中小,100-499和500-999,专门做互联网产品的,有公司自研的平台和封装的工具等等,去学习一些业务相关的,比如抽奖,积分兑换,SSO认证,风控,零售等等,目标 Java 后端开发吗?你要不考虑直接走大厂测开?如果技术不行的话,有面试你也很难过的
实习,不懂就问
点赞 评论 收藏
分享
05-14 09:24
青岛工学院 C++
点赞 评论 收藏
分享
nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务