蓝桥杯 基础训练 2n皇后
数月前做的2N皇后基本看书敲代码的,然后发现当时的代码不对,正好做到算法提高的8皇后·改,顺便把以前的代码顺带改了下,题目如下:
接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 0 1 1
1 1 1 1
1 1 1 1
1 1 1 1
#include<stdio.h>
int a[][];
int vis[][];
int b[];
int c[][];
int n;
int count=;
void dfs(int cur)
{
int i;
if(cur==n)
{
for(i=;i<n;i++)
c[count][i]=b[i];
count++;
}
else for(i=;i<n;i++)
{
if(a[cur][i]&&!vis[][i]&&!vis[][cur+i]&&!vis[][cur-i+n])
{
b[cur]=i;
vis[][i]=vis[][cur+i]=vis[][cur-i+n]=;
dfs(cur+);
vis[][i]=vis[][cur+i]=vis[][cur-i+n]=;
}
}
}
int main()
{
int i,j,k,number=,flag;
scanf("%d",&n);
for(i=;i<n;i++)
for(j=;j<n;j++)
scanf("%d",&a[i][j]);
dfs();
for(i=;i<count;i++)
{
for(j=i+;j<count;j++)
{
flag=;
for(k=;k<n;k++)
{
if(c[i][k]==c[j][k])
{
flag=;
break;
}
}
if(flag)
number++;
}
}
printf("%d",number*);
return ;
}
蓝桥杯 基础训练 2n皇后的更多相关文章
- [蓝桥杯][基础训练]2n皇后问题
Description 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行 ...
- 蓝桥杯—BASIC-27 2n皇后问题(DFS)
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后, 使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行. 同一列或 ...
- 蓝桥杯之 2n皇后问题(双层dfs,暴力)
Description 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后 和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两 个白皇后都不在同 ...
- 蓝桥杯训练 2n皇后问题
给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一条对角线上 ...
- 蓝桥杯训练 2n皇后
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一 ...
- 蓝桥杯 基础训练 BASIC-27 2n皇后问题
基础练习 2n皇后问题 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都 ...
- 基础训练 2n皇后问题
2n皇后问题 #include<iostream> #include<vector> using namespace std; int cnt = 0, n; vector&l ...
- java 蓝桥杯基础训练 回文数
public class _8回文数 { //两种方法都可以 // public static void main(String[] args) { // String zheng ="&q ...
- [蓝桥杯][基础训练]Sine之舞
Description 最近FJ为它的奶牛开设了数学分析课,FJ知道,若要学好这门课,必须有一个好的三角函数基本功. 所以他为奶牛们做了一个“Sine之舞”的游戏,寓教于乐,提高奶牛的计算能力. 不妨 ...
随机推荐
- XCode10 运行app报错
原因很简单:Xcode10起,苹果摒弃了对libstdc++库的支持转而支持libc++库了.为了保证老代码能跑,必须将几个库复制到对应文件夹(见后).同时修改Build Phases中的Link B ...
- A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider' was not present on the pro
Try setting (in global.cs): AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier; ...
- Spring源码导入IDEA
导入Spring 4.3.8的源码,JDK的版本1.8以上:因为 1.下载Spring源码 方法一: (1)下载并安装GIt,下载地址:https://git-scm.com/download/win ...
- Centos 下 JProfiler 9.1.1 安装 部署 及 使用
JProfiler[1] 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的.它把CPU.执行绪和内存的剖析组合在一个强大的应用中.JProfil ...
- 通过User-agent进行SQL注入
声明:本文由Bypass整理并翻译,仅用于安全研究和学习之用. 文章来源:https://hackerone.com/reports/297478 我发现了一个SQL注入漏洞 /dashboard/d ...
- js---设置cookie的方法
在客户端进行一些操作的时候,很多时候会要用到设置cookie的方法.具体的做法: <script type="text/javascript"> var documen ...
- Q - Girls and Boys
来源poj1068 In the second year of the university somebody started a study on the romantic relations be ...
- jsonp 的实质
发送 get请求,可以通过 浏览器输入 url地址,也可以在 javascript 脚本中手动发送 ajax. 或者也可以在 Html网页中定义一个 带 src的 Html 标签,比如 <img ...
- 微信小程序之点赞和取消点赞
wxml代码 <image wx:if="{{collection}}" src="/images/boy.png" bindtap="toCo ...
- 四、XML语言学习(3)
XML编程(CURD) 1.XML解析技术概述XML解析方式分为两种:DOM方式和SAX方式DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式 ...