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

%2enet网站开发站长工具pr值查询

%2enet网站开发,站长工具pr值查询,网站模版源代码,淘宝网站怎么做的文章目录 题目描述测试样例算法原理算法实现参考资料 题目描述 在nxn格的棋盘上放置彼此不受攻击的n格皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同…

文章目录

    • 题目描述
    • 测试样例
    • 算法原理
    • 算法实现
    • 参考资料

题目描述

在nxn格的棋盘上放置彼此不受攻击的n格皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。

当n=6时,一个如下的 6×6 的跳棋棋盘:

在这里插入图片描述

上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子。这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前三个解。最后一行是解的总个数。

测试样例

输入:

6

输出:

2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4

算法原理

       使用回溯法对解空间进行深度优先搜索遍历,同时要满足规则(任何两个皇后不放在同一行或同一列或同一斜线上),为节省时间我创建了四个数组:x[1000], y[1000], zr[1000], zl[1000],分别存储横轴、纵轴、左对角线、右对角线上是否已被占用的信息。其中,x[i]=j表示在第i行第j个位置放置一个皇后(方便输出结果);y[j]=1表示第j列已被占用;zr[i - j + n]=1表示这条从左上到右下的对角线已被占用(所有处于同一条左上到右下对角线上元素的横坐标减纵坐标都相同,为了让索引为正,所以加n);zl[i+j]=1表示这条从右上到左下的对角线已被占用(所有处于同一条右上到左下对角线上元素的横坐标加纵坐标都相同)。

算法实现

#include<bits/stdc++.h>
using namespace std;int n, num = 0;
int x[1000], y[1000], zr[1000], zl[1000];
void print()
{if (num < 3){for (int i = 1; i <= n; i++)cout << x[i] << " ";cout << endl;}num++;
}
void dfs(int i)
{if (i > n){print();return;}else{for (int j = 1; j <= n; j++){if ((!y[j]) && (!zr[i - j + n]) && (!zl[i + j])){x[i] = j;//i行第j个y[j] = 1;zr[i - j + n] = 1;zl[i + j] = 1;dfs(i + 1);//递归y[j] = 0;zr[i - j + n] = 0;zl[i + j] = 0;}}}
}
int main()
{cin >> n;dfs(1);cout << num;return 0;
}

参考资料

回溯法之n皇后问题总结_用回溯法求解n皇后问题的思路

http://www.ds6.com.cn/news/29909.html

相关文章:

  • 软件商店下载电脑版郴州seo网络优化
  • 汽车销售在哪些网站做推广磁力珠
  • 聊城网站开发培训浙江关键词优化
  • 如何自建公司网站短视频seo系统
  • 建筑建设网站建设百度搜索风云榜小说总榜
  • 济源企业网站建设怎么制作网页链接
  • 徐州网站平台制作公司大数据营销名词解释
  • 网站建设全网营销客户资源亚马逊跨境电商
  • 沧州网站建设培训网络推广优化平台
  • 邯郸广告公司网站建设中国万网域名注册免费
  • 山东官方网站建设百度seo推广是什么
  • 长沙网站建设招聘百度一下电脑版
  • 哪些网站可以接任务做兼职公司开发设计推荐
  • 网站建设价格济南所有的竞价托管公司
  • 建立soho公司网站信息流推广渠道
  • 多商家平台seo内链优化
  • 惠来做网站诈骗凡科建站官网入口
  • h5响应式网站建设方案怎么写深圳推广平台有哪些
  • 武汉网站开发定制百度搜索量排名
  • 想找人做公司网站要注意什么百度搜索推广
  • 网站推广的目标女儿考试没圈关键词
  • 无锡设计网站苏州seo优化
  • 网站想上线怎么做同城推广平台
  • c2c模式的特点有哪些成都网站优化
  • 做电影网站的服务器广州权威发布
  • 上海好的网站制作公司seopeixun
  • 日本真人做黄视频网站网站关键词优化怎么做的
  • 莘县网站建设公司深圳关键词快速排名
  • 做自己的网站网站推广方案范例
  • 一般在百度做网站多少钱域名申请的流程