n皇后问题(DFS) C++实现

cpp 复制代码
#include<iostream>
using namespace std;
const int N=20;
bool col[N],dg[N],udg[N];
int n;
char q[N][N];

void dfs(int u){
    if(u==n){
        for(int i=0;i<n;i++) puts(q[i]);
        puts("");
        return ;
    }
    
    for(int i=0;i<n;i++){
        if(!col[i] && !dg[u+i] && !udg[u+n-i]){
            q[u][i]='Q';
            col[i]=dg[u+i]=udg[u+n-i]=true;
            dfs(u+1);
            col[i]=dg[u+i]=udg[u+n-i]=false;
            q[u][i]='.';
        }
    }
}

int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++) q[i][j]='.';
    dfs(0);
}
相关推荐
SpongeG42 分钟前
数据结构第三周做题总结_链表
数据结构·算法·链表
everyStudy43 分钟前
前端五种排序
前端·算法·排序算法
未来可期LJ2 小时前
【C++ 设计模式】单例模式的两种懒汉式和饿汉式
c++·单例模式·设计模式
Trouvaille ~3 小时前
【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
c++·c++20·编译原理·编译器·类和对象·rvo·nrvo
little redcap3 小时前
第十九次CCF计算机软件能力认证-乔乔和牛牛逛超市
数据结构·c++·算法
机器视觉知识推荐、就业指导3 小时前
Qt/C++事件过滤器与控件响应重写的使用、场景的不同
开发语言·数据库·c++·qt
muyierfly3 小时前
34.贪心算法1
算法·贪心算法
孤寂大仙v3 小时前
【C++】STL----list常见用法
开发语言·c++·list
咩咩大主教4 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
luthane6 小时前
python 实现average mean平均数算法
开发语言·python·算法