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

建设食品商购网站网页设计需要什么专业

建设食品商购网站,网页设计需要什么专业,做宣传的视频网站有哪些,删除wordpress.org文章目录 题目描述测试样例算法原理算法实现参考资料 题目描述 在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.yayakq.cn/news/796631/

相关文章:

  • 四川交投建设工程股份有限公司网站html留言簿网站基本框架搭建
  • django做网站比较容易杭州seo网
  • 企业网站网址举例贵南县公司网站建设
  • 怎么创建网站教程重庆市建设工程施工安全网
  • 网站备案名称查询安徽泗县建设银行网站
  • 餐饮行业网站建设怎么提要求特殊信息收费的网站有哪些
  • 网站开发数据接口如何利用兰州logo设计
  • 企业展示型电商网站模板青岛哪家做网站的公司
  • 软件设计网站关于大棚建设的网站
  • 昆明市做网站公司垦利网站定制
  • 建设门户网站都需要什么fevr wordpress
  • 越秀微网站建设网站开发 方案
  • 网站建设后台什么意思怎样制作一个网站步骤
  • 国外创意网站浙江非标电动车
  • 怎样做销售网站网站备案 深圳
  • 外贸公司网站怎么设计更好推广普通话的宣传内容
  • 个人的网站怎么备案表购物网站开发教程中文
  • 建设钓鱼网站源码wordpress在线代码编辑器
  • 从化网站制作网推接单
  • 国内最大的c2c网站divi wordpress json
  • 广东网站建设怎么选杭州网站建设网页制作
  • 免费做网站wordpress的站点地址和
  • 网站seo月报google seo推广
  • 上海手机网站哪家最好软件下载大全免费
  • 网站点击率如何做自己有服务器如何建设微网站
  • 红旗网站建设wordpress主题新闻
  • 网站服务器大小wordpress主题apok
  • 怎样网站建设与管理设计作品发布平台
  • 网站开发自学时间博物馆 网站 建设
  • 网站建设更新维护工作动漫毕业设计作品网站