问题描述
地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。
看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。
所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死……
现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的格子可能不到9个)。当然,皇后也不会攻击国王。
现在知道了国王的位置(x,y)(国王位于第x行第y列,x,y的起始行和列为1),请问,有多少种方案放置n个皇后,使她们不能互相攻击。

输入格式
一行,三个整数,皇宫的规模及表示国王的位置
输出格式
一个整数,表示放置n个皇后的方案数
样例输入
8 2 2
样例输出
10
数据规模和约定
n<=12

package algo125;import java.util.Scanner;public class Main {private static int[] pos;private static int x;private static int y;private static int cnt;public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();pos = new int[n];x = in.nextInt() - 1;y = in.nextInt() - 1;in.close();dfs(0, n);System.out.println(cnt);}private static boolean isSafe(int row) {if (Math.abs(row - x) <= 1 && Math.abs(pos[row] - y) <= 1) {return false;}for (int i = 0; i < row; i++) {if (pos[row] == pos[i] || row - i == Math.abs(pos[row] - pos[i])) {return false;}}return true;}private static void dfs(int row, int n) {if (row >= n) {cnt++;return;}for (pos[row] = 0; pos[row] < n; pos[row]++) {if (isSafe(row)) {dfs(row + 1, n);}}}}

[Java] 蓝桥杯ALGO-125 算法训练 王、后传说相关推荐

  1. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  2. 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法

    原文: 算法训练 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...

  3. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式

    题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...

  4. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  5. JAVA蓝桥杯:高精度算法

    问题描述 问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义 ...

  6. 蓝桥杯练习系统—算法训练 s01串

    第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...

  7. 蓝桥杯:试题 算法训练 采油区域 矩阵前缀和+动态规划+分治+枚举

    资源限制 时间限制:2.0s 内存限制:512.0MB 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M× ...

  8. 蓝桥杯-黑色星期五(算法训练)

    题目描述: 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是"诸事不宜".请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是1 ...

  9. 【算法】【蓝桥杯】试题 算法训练 黑心药商 ALGO-1002

    题目 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 JiaoShou消灭了百变怪,为爱琳世界赢得了和平,但他突然发现自己没有升级,这就意味着必须去喝药补血.爱琳世界的NPC卖的药已 ...

  10. 蓝桥杯 算法训练 王,后传说

    题目: 算法训练 王.后传说   时间限制:1.0s   内存限制:256.0MB      问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横.坚.斜线位置. 看过清宫 ...

最新文章

  1. ASP.NET弹出窗口技术之增加网站流量方法
  2. 清华硕士爆料:这些才是机器学习必备的数学基础
  3. [unity3d]导出安卓版设置
  4. ckks方案优化最好的_站群如何优化才能提高SEO效果?站群优化方案有哪些?
  5. Django后台管理
  6. Problem - 6111迷宫出逃
  7. POJ1321(DFS)
  8. 对于linux socket与epoll配合相关的一些心得记录
  9. 一天开8次会议,是什么体验
  10. 解决CodeIgniter大量查询sql时占用内存大问题
  11. Python基础:文件的操作
  12. 【C++】accumulate函数的用法(STL)
  13. 北美前景最好25种职业 软件工程师独占鳌头
  14. API Monitor简介(API监控工具)
  15. Javaweb免费RDP报表工具常用函数的用法总结
  16. My sql 存储过程实例
  17. 电脑可以上网但打不开微信公众号
  18. 索隆:九山八海,无我不断者。
  19. 用python 读取excel 指定列
  20. java虚拟机堆空间

热门文章

  1. c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!
  2. 如何监控一个Activity加载完毕(完成渲染)
  3. Android新的menu实现——ActionMode
  4. Android----Allapps加载流程详解【AndroidICS4.0——Launcher系列五】
  5. [iCustomer] 项目技术简介
  6. Android 中文 API (28) —— CheckedTextView
  7. java基础学习之对象转型
  8. linux查找有用日志常用技巧
  9. java --微信支付2
  10. 转:华 为 路 由 常 用 命 令