首页 > 其他分享 >洛谷八皇后问题

洛谷八皇后问题

时间:2024-04-21 15:14:21浏览次数:28  
标签:洛谷 int dfs 问题 num 皇后 include row

洛谷八皇后问题

原题链接https://www.luogu.com.cn/problem/P1219
简单dfs思路,g[n]存储的是可以作为选择的列下标
输出的时候记着加一(从0开始)

#include <iostream>
#include<cstring>
        
using namespace std;

const int N=15;
int n;
int num;

bool lie[N],duijiao[2*N],Uduijiao[2*N];
int g[N];

const int maxx=3;
void dfs(int row)//row是行//col是列
{
    if(row==n)
    {
            num++;
            if(num>maxx)return ;
            for(int i=0;i<n;i++)
            {
             cout<<g[i]+1<<" ";
            }
            puts("");
            return ;
        
       
    }

    for(int col=0;col<n;col++)
    {
        if(!lie[col]&&!duijiao[col+row]&&!Uduijiao[n-row+col-1])
        {
            lie[col]=duijiao[row+col]=Uduijiao[n-row+col-1]=true;
            g[row]=col;
            dfs(row+1);
            lie[col]=duijiao[row+col]=Uduijiao[n-row+col-1]=false;
            //g[row]=0;
        }
    }



}

int main()
{
    cin>>n;
    for(int i=0;i<n;i++)lie[i]=false;
    for(int i=0;i<n*2;i++)duijiao[i]=Uduijiao[i]=false;
    dfs(0);
    cout<<num<<endl;
}

标签:洛谷,int,dfs,问题,num,皇后,include,row
From: https://www.cnblogs.com/2362471311mars/p/18148945

相关文章

  • 洛谷 P4451 [国家集训队] 整数的lqp拆分
    洛谷传送门设\(G\)为斐波那契数列的生成函数,显然有\(F=F\timesG+1\)。那么\(F=\frac{1}{1-G}=1+\frac{x}{1-2x-x^2}\)。问题是如何展开\(\frac{x}{1-2x-x^2}\)。因为\(\frac{1}{1-ax}=\sum\limits_{i\ge0}(ax)^i\),所以考虑设\(\frac{x}{1-......
  • 【题解】[NOIP2001 普及组] 装箱问题
    [NOIP2001普及组]装箱问题这是一道动态规划题。那就先定义状态吧(这里用的是一维滚动数组)。$f[j]$代表当我有$j$这么多容量可以用时,能装的最大重量是多少。好,状态定义好了再想状态转移方程。$f[j]$可以从哪里转移过来呢?想一想,当我们循环到第$i$个物品时,我们面临两个......
  • 毕业设计/毕业论文中的题注样式问题——基于自定义样式章节号的题注
    问题:在为毕业设计论文中的图表插入题注时,使用word自带的“包含章节号”功能时,无法选择自定义样式,或随便选一个起始样式导致“错误!文档中没有指定样式的文字”。解决方案:步骤如下随便插入题注:右键选中图表>插入题注>编号>包含章节号查看域代码:右键>切换域代码更改域......
  • 染色问题 题解
    \(f(i)\):满足\(n\)行\(m\)列每行每列都有颜色,最多用了\(j\)种颜色的方案数根据容斥原理\[f(i)=[(i+1)^m-1]^n-\sum_{i=1}^m(-1)^{k-1}C_m^k[(i+1)^{m-k}-1]^n\]意思是对于每一行,每个格子都可以填\(i\)种颜色或不填;但是整行不能一个格子都不填色,所以减一;而有\(n\)行,......
  • 菜品分类模块删除接口+今天的图片不回显问题没有解决,明天再说。这篇随便写写吧,呕。+修
    点击删除按钮,删除菜品,也可以在左侧进行批量删除,故制定批量删除接口。删除规则如下 其中被套餐关联的菜品不能删除,因为删除这些菜品直接影响到套餐删除菜品后,关联的口味也要删除,所以这个删除蛮复杂的,并不是那种单表直接删的简单操作  请求参数和返回数据: 涉及到的表有......
  • Go的多版本问题
    Go多版本控制工具g在项目开发中,有可能会遇到不同版本使用的情况g继承了nvm、n、rvm等工具的思路本次是在windows系统下安装的安装g安装地址:Releases·voidint/g(github.com)根据自己的需求选择安装包环境配置解完压缩包之后,里面有一个g.exe文件在系统环境中配置......
  • 双模数问题 题解
    Statement\(S(n,m)=\{k\midk\in\mathbbN^+\landn\bmodk+m\bmodk\gek\}\),求\(\varphi(n)\varphi(m)\sum_{k\inS(n,m)}k\pmod{998244353}\)(\(n,m\le10^{15}\))Solution欧拉函数怎么求就不说了,可以\(\mathcalO(\sqrtn)\)解决\(n\bmodk+m\bmodk......
  • 停机问题
    为什么停机问题是图灵不可计算问题?若人脑是图灵机那么举个例子:你在做一道题时,你想要知道你自己能不能在有限时间内做出这道题但是如果这道题是证明或证伪黎曼猜想那你就不知道你自己能不能在有限时间内做出这道题了因为你有可能一生都做不出来,也有可能某个灵感就做出来了,这个......
  • 解决 macOS 下 Python 3.8 安装 mysqlclient 的问题
    环境背景Python版本:3.8macOS版本:14.4(M2芯片)在安装mysqlclient时遇到的问题我在网上找到的方案基本上都是通过brewinstallmysql-connector-c安装、修改mysql_config文件、安装openssl及gcc,这个解决方案对我并没有效果解决方案步骤一:配置环境变量#使用pkg-config......
  • [题解] [洛谷 P1174] 打砖块
    [洛谷P1174]打砖块题目描述有\(n\)行\(m\)列的砖块和\(k\)发子弹,每个砖块都有一个得分,每次可以用一发子弹打碎某一列最下面的砖块并得到相应的得分。有的砖块在打碎后可以获得一发额外子弹的奖励。求该游戏的最大得分。输入格式第一行有\(3\)个正整数,\(n,m,k\)。......