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);
}
相关推荐
有一个好名字几秒前
力扣-小行星碰撞
算法·leetcode·职场和发展
MM_MS几秒前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
lamentropetion8 分钟前
E - Equal Tree Sums CF1656E
算法
hui函数9 分钟前
如何解决 pip install 编译报错 g++: command not found(缺少 C++ 编译器)问题
开发语言·c++·pip
代码游侠10 分钟前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
XiaoHu020726 分钟前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
Xの哲學26 分钟前
Linux Platform驱动深度剖析: 从设计思想到实战解析
linux·服务器·网络·算法·边缘计算
逑之32 分钟前
C语言笔记11:字符函数和字符串函数
c语言·笔记·算法
苏宸啊39 分钟前
C++(二)类和对象上篇
开发语言·c++
栈与堆1 小时前
LeetCode-1-两数之和
java·数据结构·后端·python·算法·leetcode·rust