输出一个整数,表示总共有多少种放法。
样例输入
4

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1
样例输出
2
思路:数据量不大,就是暴力搜索,先安排一种皇后,然后再安排另一种皇后。注意判断的条件。
代码如下:

#include<bits/stdc++.h>
#define ll long long
using namespace std;const int maxx=10;
int a[maxx][maxx];
int vis[maxx][maxx];
int n;inline int check(int x,int y,int k)
{for(int i=1;i<=n;i++) if(vis[i][y]==k&&i!=x) return 0;for(int i=1;i<=n;i++) if(vis[x][i]==k&&i!=y) return 0;for(int i=1;i<x;i++)for(int j=1;j<=n;j++) if(vis[i][j]==k&&abs(i-x)==abs(j-y)) return 0;return 1;
}
inline void Dfs(int x,int &ans)
{if(x==n+1){ans++;return ;}for(int i=1;i<=n;i++){if(a[x][i]&&vis[x][i]==0&&check(x,i,2)){vis[x][i]=2;Dfs(x+1,ans);vis[x][i]=0;}}
}
inline void dfs(int x,int &ans)
{if(x==n+1){Dfs(1,ans);return ;}for(int i=1;i<=n;i++){if(a[x][i]&&vis[x][i]==0&&check(x,i,1)){vis[x][i]=1;dfs(x+1,ans);vis[x][i]=0;}}
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) scanf("%d",&a[i][j]);int ans=0;dfs(1,ans);cout<<ans<<endl;return 0;
}

努力加油a啊,(o)/~

[蓝桥杯][基础练习VIP]2n皇后问题(深搜)相关推荐

  1. [蓝桥杯][算法训练VIP]摆动序列(深搜+回溯||动态规划)

    题目描述 如果一个序列满足下面的性质,我们就将它称为摆动序列: 序列中的所有数都是不大于k的正整数: 序列中至少有两个数. 序列中的数两两不相等: 如果第i – 1个数比第i – 2个数大,则第i个数 ...

  2. 蓝桥杯 基础练习VIP FJ的字符串 java

    蓝桥杯 基础练习VIP FJ的字符串 java 题目 题目描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = " ...

  3. [蓝桥杯][基础练习VIP]Huffuman树

    题目描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到 ...

  4. 问题 1462: [蓝桥杯][基础练习VIP]Huffuman树

    题目描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0,  p1,  -,  pn-1},用这列数构造Huffman树的过程如下: ...

  5. [蓝桥杯][基础练习VIP]完美的代价(贪心)

    题目描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串. 交换的定义是 ...

  6. [蓝桥杯][基础练习VIP]分解质因数

    题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然后再分解. 数据规模和约定 2< =a< =b< =10000 输入 输入两个整数a,b. 输出 每行输 ...

  7. [蓝桥杯][基础练习VIP]报时助手

    题目描述 给定当前的时间,请用英文的读法将它读出来. 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上"o'clock",如3:00读 ...

  8. [蓝桥杯][基础练习VIP]分解质因数-质数筛选+模拟+双指针

    题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然后再分解. 数据规模和约定 输入 输入两个整数a,b. 2< =a< =b< =10000 输出 每行输 ...

  9. [蓝桥杯][基础练习VIP]完美的代价-贪心

    题目描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串. 交换的定义是 ...

最新文章

  1. 设置IDEA最多同时打开的窗口数量为100
  2. Java按钮哪个方法响应_当用户点击按钮时,Java程序采用什么方法来响应?()
  3. 小眼睛适合大框还是小框眼镜_北京潘家园眼镜城良心商家推荐
  4. 使用Devstack部署neutron网络节点
  5. Qt状态机框架介绍(二)
  6. Qt Creator添加新的自定义向导
  7. python登录代码思路_终于找到一个思路比较清晰的可以模拟登录百度的代码!
  8. 高中计算机计划,高中信息技术教学计划
  9. 在.NET Core 中实现健康检查
  10. mysql从多个表查询数据类型_MySQL 之 多表查询
  11. python合法的变量名有哪些_Python判断变量名是否合法的方法示例
  12. python柱形图绘制_Python Excel 绘制柱形图
  13. 树形背包O(n * v^2)入门
  14. 国密SM2/SM3算法在单片机平台上的实现(C语言)
  15. lena.raw图片文件下载及打开方式
  16. error: skipping because parent directory has insecure permissions问题
  17. cpu飙高1000,几近崩溃
  18. html 图片靠左浮动,float【css浮动】left靠左 right靠右属性图文教程
  19. iOS开发:Protocol协议以及委托代理传值
  20. python添加图片要怎么弄_python怎么实现添加图片

热门文章

  1. IOS之通知KVO的常量定义
  2. 程序员基本功02对象与内存控制
  3. python 垃圾回收哪时候执行_Python 中的垃圾回收机制是如何工作的?
  4. python正则匹配日期2019-03-11_都2019年了,正则表达式为啥还是这么难?这里的Python学习教程教你搞定!...
  5. 比较两组数据的差异用什么图更直观_芯片数据分析中常见的一些图的作用
  6. 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...
  7. linux 文件 加密传输,服务端和客户端之文件加密传输
  8. python elasticsearch timeout_Python操作Elasticsearch处理timeout超时
  9. 如何使用_如何使用Excel播放音乐
  10. custompage.width 不能小数吗_基金净值暴涨暴跌,背后的原因你清楚吗?