当前位置: 首页 > news >正文

昆山做网站的公昆山做网站的公司司微信网站怎样做

昆山做网站的公昆山做网站的公司司,微信网站怎样做,泰安招聘齐鲁人才网,网站动画是怎么做的n-皇后问题1.题目2.基本思想3.代码实现1.题目 n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 …

n-皇后问题

  • 1.题目
  • 2.基本思想
  • 3.代码实现

1.题目

n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。
在这里插入图片描述
现在给定整数 n,请你输出所有的满足条件的棋子摆法。

输入格式
共一行,包含整数 n。

输出格式
每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。

其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。

每个方案输出完成后,输出一个空行。

注意:行末不能有多余空格。

输出方案的顺序任意,只要不重复且没有遗漏即可。

数据范围
1≤n≤91≤n≤91n9

输入样例:

4

输出样例:

.Q…
…Q
Q…
…Q.

…Q.
Q…
…Q
.Q…

2.基本思想

DFS 时间复杂度O(n!)

在这里插入图片描述
正对角线,y=-x+c,c=x+y,c这里代表截距,反对角线y=x+c,c=y-x,所以这里的c可能是负的,但作为数组下标,不能是负的,所以我们把反对角线加上一个偏移量,c=y-x+n是没影响的,因为截距最大是n,也可以加比n大的任何数
用截距表示对角线,截距相同就说明是同一条对角线

核心目的:找一些合法的下标来表示dg或udg是否被标记过,所以如果你愿意,你取 udg[n+n−u+i]

也可以,只要所有(u,i)对可以映射过去就行.

3.代码实现

import java.util.Scanner;public class _843n皇后问题 {static Scanner sc = new Scanner(System.in);static int N = 20;//增加 了一个 偏移量 n 需要 开 20static int n;static char path[][] = new char[N][N];//保存 路径信息static boolean[] col = new boolean[N];// bool数组用来判断搜索的下一个位置是否可行 col列,dg对角线,udg反对角线static boolean[] dg = new boolean[N];static boolean[] udg = new boolean[N];public static void main(String[] args) {n = sc.nextInt();for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)path[i][j] = '.';dfs(0);}private static void dfs(int u) {if (u == n) {//表示 已经搜素了n行 输出这条路径 信息for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++)System.out.print(path[i][j]);System.out.println();//换行}System.out.println();return;}//对n个位置按行搜索for (int i = 0; i < n; i++) {if (!col[i] && !dg[i + u] && !udg[n + i - u]) {path[u][i] = 'Q';col[i] = dg[u + i] = udg[n + i - u] = true;dfs(u + 1);//枚举 下一行//恢复 回溯col[i] = dg[u + i] = udg[n + i - u] = false;path[u][i] = '.';}}}
}
http://www.yayakq.cn/news/693630/

相关文章:

  • 太原制作手机网站logo设计公司汉狮怎么样
  • 做网站设计制作的公司wordpress怎么汉化插件
  • 网站对应的ip网站标题符号有哪些
  • 郑州做网站kuihuakeji珠海网站建设尚古道策略
  • 做网站分辨率一般多少wordpress主题放在
  • 购买域名搭建网站网站首页没被收录
  • 淄博公司做网站昆明优化官网服务
  • liunx做网站跳转国外服务器网站
  • 建设端午节网站的目的主题网站pv是什么
  • 公司网站设计规范外贸推广的网站
  • 网站设计鉴赏保定建站模板
  • 建医疗网站步骤wordpress ua
  • 高端网站开发步骤阿里云镜像wordpress
  • 宝塔服务器官网大连网站优化多少钱
  • 公司网站建设如何撤销空间站天宫vr全景
  • 广州嘉怡服饰有限公司网站建设中国建筑门户网
  • 番禺做网站多少钱网站制作职责
  • 网站开发进度设计可玩儿小程序可以加盟么
  • 中国核工业第二二建设有限公司是国企吗台州百度推广优化
  • 专门做ppt的网站斧头电子商务网站模版
  • 重庆网站建设外包石家庄最新轨迹
  • 门户网站的概念成都武侯区建设厅官方网站
  • 网站开发公司vue框架漳州建设银行网站首页
  • 有赞网站开发做原创音乐的网站
  • 杭州有实力的网站开发百度手机网站自助建站
  • 企业做网站有发展么西安网站制作价格
  • 建设隔离变压器移动网站聊城做网站的公司平台
  • 沈阳做网站客户多吗好网站求推荐
  • 行业 专业 网站建设离开东莞最新政策
  • 电脑网络秦皇岛seo网站推广