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

网站设计与网页制作代码大全一元云购网站怎么做

网站设计与网页制作代码大全,一元云购网站怎么做,可以做旅行计划的网站,活动页面设计模板目录题目思考AC代码题目 n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上#xff0c;并且使皇后彼此之间不能相互攻击。 思考 首先以N4为例#xff0c;画出解空间树的一部分#xff1a; 根据模板#xff1a; void backtracking(参数) {if(终止条件){存放结果… 目录题目思考AC代码 题目 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上并且使皇后彼此之间不能相互攻击。 思考 首先以N4为例画出解空间树的一部分 根据模板 void backtracking(参数) {if(终止条件){存放结果;return;}for(选择本层集合中元素(树中结点孩子的数量就是集合的大小)){处理结点;backtracking(路径,选择列表); //递归回溯撤销处理结果;} }1、确定回溯函数参数,返回值 当前所在的行(层)当前的棋盘布局。 N的大小 void backtracking(int hang,vectorstring chessboard,int n)全局变量vectorvectorresult; result是个存放chessboard的变量。 这里的chessboard就相当于之前回溯题目中的path、子结果。 2、确定终止条件 当遍历到N的最后一层(n-1)时再往下一层我们就需要返回了。 if(hang n) {result.push_back(chessboard);return ; }3、确定单层逻辑 如果本行的某列放入皇后且不违反规则即可进入下一行探索 for(int lie 0;lie n ;lie) {if(juge_if_valid(hang,lie,chessboard,n) true){chessboard[hang][lie] Q; //放置皇后backtracking(hang1,chessboard,n);chessboard[hang][lie] .; //回溯撤销}}4、判断是否满足分布条件有三个 1、皇后不在同一行 2、皇后不在同一列 3、皇后不在同一斜线上 a、同时我们注意我们探索的时候就是按照深度探索的所以保证了每一行只有一次赋值Q。所以第一个条件不需要特别处理。 b、由于按照深度往下搜索所以判断皇后在同一列的时候可以剪枝 //检查本行之上的行的同一列是否存在Q for(int i0;ihang;i) {if(chessboard[i][lie] Q) return false; }c、由于按照深度往下探索所以判断皇后在同一斜线的时候可以剪枝(注意斜线分为向右上斜和左上斜两个方向) //检查本行之上的行的右斜线上是否有皇后 for(int ihang-1,jlie-1;i0 j0;i--,j--) {if(chessboard[i][j] Q) return false; } //检查本行之上的行的左斜线上是否有皇后 for(int ihang-1,jlie1;i0 jn;i--,j) {if(chessboard[i][j] Q) return false; }AC代码 class Solution { public:vectorvectorstringresult;bool juge_if_valid(int hang,int lie,vectorstringchessboard,int n){//检查本行之上的行的同一列是否存在Qfor(int i0;ihang;i){if(chessboard[i][lie] Q) return false;}//检查本行之上的行的右斜线上是否有皇后for(int ihang-1,jlie-1;i0 j0;i--,j--){if(chessboard[i][j] Q) return false;}//检查本行之上的行的左斜线上是否有皇后for(int ihang-1,jlie1;i0 jn;i--,j){if(chessboard[i][j] Q) return false;}return true;} void backtracking(int hang,vectorstring chessboard,int n){if(hang n){result.push_back(chessboard);return ;}for(int lie 0;lie n ;lie){if(juge_if_valid(hang,lie,chessboard,n) true){chessboard[hang][lie] Q; //放置皇后backtracking(hang1,chessboard,n);chessboard[hang][lie] .; //回溯撤销}}return ;}vectorvectorstring solveNQueens(int n) {result.clear();//填充初始棋盘vectorstring chessboard(n,string(n,.));backtracking(0,chessboard,n);return result;} };
http://www.sadfv.cn/news/296717/

相关文章:

  • 淘宝 网站建设 发货政网站首页怎么做试
  • 建零售网站还是html5网页设计培训
  • 南山优化网站建设案例音乐自助建站
  • 网站采集到wordpress域名查询服务器
  • 二 网站建设的目的及功能定位php网站后台访问统计分析
  • wordpress移站东莞seo建站优化工具
  • 绍兴高兴区建设网站word 无法注册 wordpress账号
  • 网站建站的一般步骤平面广告设计行业
  • 深圳定制网站学校网站模板大全
  • 深州市住房保障和城乡建设局网站百度网站空间
  • 数据线 东莞网站建设怎么上传文章网站
  • 网站建设的职位软文广告经典案例短的
  • 在线搭建网站施工企业安全文明施工费取费
  • 备案 新增网站宁波网站快速优化
  • 平台网站怎么做深圳房产网
  • 做婚庆网站的功能定位手机网站js电话悬浮
  • 音乐网站建设教程视频南京网站建设网站制作
  • 沈阳网站建设方法创建网页模板的作用
  • 公司做的网站如何开启伪静态mukioplayer wordpress
  • 自己建的网站如何百度搜索wordpress lofter插件
  • 做网站写概要设计查询建设工程规范的网站
  • WordPress博客整站带数据公司名字大全免费查询
  • 株洲网站建设制作建站报告2000字
  • 一起做网店的类似网站做网站入门看什么书
  • 淘宝app网站建设首页策划方案
  • 外贸做中英文网站网站列表页怎么做内链
  • 好看的网站首页图片计算机网站维护建设
  • 什么叫网站建设服务如何拥有自己的域名
  • 网站加载速度成都住建局官网查询电话
  • 网站开发的阶段国外效果做的好的网站