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);
}
相关推荐
西柚小萌新2 分钟前
【计算机视觉CV:目标检测】--3.算法原理(SPPNet、Fast R-CNN、Faster R-CNN)
算法·目标检测·计算机视觉
高频交易dragon4 分钟前
Hawkes LOB Market从论文到生产
人工智能·算法·金融
脏脏a4 分钟前
C++ 容器的两把利器:优先级队列与反向迭代器
c++·反向迭代器·优先级队列
张张努力变强12 分钟前
C++ 类和对象(三):拷贝构造函数与赋值运算符重载之核心实现
开发语言·c++
_OP_CHEN13 分钟前
【算法基础篇】(五十)扩展中国剩余定理(EXCRT)深度精讲:突破模数互质限制
c++·算法·蓝桥杯·数论·同余方程·扩展欧几里得算法·acm/icpc
福楠13 分钟前
C++ STL | set、multiset
c语言·开发语言·数据结构·c++·算法
enfpZZ小狗15 分钟前
基于C++的反射机制探索
开发语言·c++·算法
炽烈小老头19 分钟前
【每天学习一点算法 2026/01/22】杨辉三角
学习·算法
MicroTech202519 分钟前
微算法科技(NASDAQ :MLGO)量子安全区块链:PQ-DPoL与Falcon签名的双重防御体系
科技·算法·安全
努力也学不会java20 分钟前
【Spring Cloud】 服务注册/服务发现
人工智能·后端·算法·spring·spring cloud·容器·服务发现