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);
}
相关推荐
hetao173383721 小时前
2026-01-16~19 hetao1733837 的刷题笔记
c++·笔记·算法
程序员-King.21 小时前
day153—回溯—子集(LeetCode-78)
算法·leetcode·回溯·递归
玖釉-21 小时前
[Vulkan 学习之路] 29 - 加载模型 (Loading Models)
c++·windows·图形渲染
MicroTech202521 小时前
突破C2Q瓶颈,MLGO微算法科技高性能可重构计算机实现量子算法真实级仿真,推动量子仿真进入新阶段
科技·算法·重构
HelloWorld1024!21 小时前
C++中链表的虚拟头结点:应用场景与使用时机
网络·c++·链表
fakerth21 小时前
【C++】【Linux】从零实现日志库:LogLib 设计与实现详解
c++·日志库
乌萨奇也要立志学C++21 小时前
【洛谷】搜索初识 回溯剪枝 + 三大枚举题型 + 全排列实现
算法·剪枝
企业对冲系统官21 小时前
期货套保系统移动端操作的技术架构与实现
算法·架构·区块链·github
wen__xvn21 小时前
代码随想录算法训练营DAY20第六章 二叉树part07
数据结构·算法·leetcode
夜思红尘21 小时前
算法--双指针2
算法