首页 > 其他分享 >n皇后问题

n皇后问题

时间:2023-12-17 17:34:24浏览次数:20  
标签:char 摆法 int dfs 问题 皇后 include

N 皇后问题是指在 n * n 的棋盘上要摆 n 个皇后,
要求:任何两个皇后不同行不同列不在同一条斜线上,
求给一个整数 n ,返回 n 皇后的摆法数。

数据范围: 1 ≤ n ≤ 9

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
const int N = 20;
int n;
char map[N][N];
bool col[N], dg[N], udg[N];

void dfs(int x){
    if (x == n + 1){
        for(int i = 1; i <= n;i++){
            for (int j = 1; j <= n; j ++ )
                printf("%c", map[i][j]);
            puts("");
        }
        puts("");
    }
    
    for(int i = 1; i <= n;i++){
        if (!col[i] && !dg[n - x + i] && !udg[x + i]){
            col[i] = dg[n - x + i] = udg[x + i] = true;
            map[x][i] = 'Q';
            dfs(x + 1);
            col[i] = dg[n - x + i] = udg[x + i] = false;
            map[x][i] = '.';
        }
    }
    
}

int main(){
    scanf("%d", &n);
    for (int i = 1; i <= n; i ++ )
        for (int j = 1; j <= n; j ++ )
            map[i][j] = '.';
            
            
    dfs(1);
    return 0;
}

 

标签:char,摆法,int,dfs,问题,皇后,include
From: https://www.cnblogs.com/xyfmFocus/p/17909413.html

相关文章

  • Java-与斐波那契数列相关的变体问题
    变体问题指的是提问的方式不一样了,但是解决问题的方法还是用斐波那契数列来解。——写在前面的话。一、变体1-兔子问题1.问题描述第一个月,有一对未成熟的兔子第二个月上述的一对兔子成熟第三个月,他们能产下一对小兔子所有兔子遵循相同规律,求第n个月的兔子个数2.分析例子假设我要求......
  • mac系统使用NTFS移动硬盘只读问题
    查看硬盘状态diskutilinfo/Volumes/秋雨mount命令也能看出磁盘挂载位置尝试使用makedir命令新建文件夹,提示只读解决方案#查看挂载的磁盘mount#卸载挂载的磁盘sudoumount/dev/disk4s1#以读写模式重新挂载:#新建一个目录$mkdir~/flashdisk#使用mount_ntfs命令......
  • springboot连接mysql出现的SSL问题
    1、连接配置spring:datasource:username:rootpassword:rooturl:jdbc:mysql://192.168.0.1:3307/admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaidriver-class-name:com.mysql.cj.jdbc.Driver出现SSL连接问题2、解......
  • 已经调试成功的Protues工程用了一段时间后不能用的问题
    已经调试成功的Protues工程,经过一段时间后不能用的问题主要现象:(1)可以打开,运行时没有效果;(2)可以打开,运行时闪退解决办法:(1)删除原ARM芯片;(2)重新找到ARM芯片,重新加载;(3)重新连线;(4)装载hex文件;(5)运行调试 一点提示:Protues仿真时,不需要按键防抖动程序程序段: ......
  • 监控易管理平台7.0助力解决IT故障监控与告警问题
    一、背景介绍  随着信息技术的不断发展,大数据中心在各行业中的地位日益重要。作为支撑企业业务发展的重要基础设施,大数据中心的稳定运行和高效管理至关重要。某电力大数据中心面临着众多的IT设备和技术,如何确保这些设备的稳定运行,以及如何及时发现和解决潜在问题,是该中心面临的......
  • VMware workstation中安装的centos虚拟机ip自动获取可以上网,设置静态ip不能上网问题解
    一、需求   linux中我们会设置hosts文件,这会涉及ip和域名的设置,但是如果虚拟机自动获取ip地址的话,这就意味着之前设置的hosts文件需要重新修改,所以我们需要设置虚拟机为静态ip地址。二、故障现象   我linux虚拟机最开始是自动获取的ip地址,用的nat模式,是可以上网的,......
  • pygame安装问题
    pygame的安装问题(1)python-mpipinstall--upgradepip(2)pipinstallpygame(3)更换下载网站,且赋予信任pipinstallpygame-ihttp://pypi.douban.com/simple--trusted-hostpypi.douban.com(4)python-mpipinstall-Upygame--user(5)python-mpipinstall-Upy......
  • MySQL账户问题
    1、用户创建、授权、修改密码创建用户createuser'sysh'@'192.168.1.11'IDENTIFIEDBY'123456';sysh:用户名192.168.1.11:只允许来自此主机的用户登录。'%'表示允许来自任意IP的用户登录。123456:登录密码PS:刚创建的用户什么权限都没有。查看用户权限mysql通过mysql.user表记录......
  • 云平台运维过程问题,以及解决方法
    1.裸金属替换下发,后bond1网络不通或者丢包。:排查用到的命令:ifdown  ifconfigeth0down/up ip-bra  demsg|grepDMI查看服务器厂家 、cat/etc/os-release查看操作系统版本#用带外看服务器的状态ipmitool-Ilanplus-H22.234.11.158-Uadmin-PPCfwq@psbc202......
  • 【理论篇】SaTokenException: 非Web上下文无法获取Request问题解决 -理论篇
    在我们使用sa-token安全框架的时候,有时候会提示:SaTokenException:非Web上下文无法获取Request错误截图:在官方网站中,查看常见问题排查:错误追踪:跟着源码可以看到如下代码:从源码中,我们可以看到,由于非Web上下文中无法直接获取HttpServletRequest对象,因此无法直接在子线程中使用SA-Token......