当前位置: 首页 > 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.huolong8.cn/news/164340/

相关文章:

  • 哪家做网站公司公司网站找哪家
  • 做网站负责人有法律风险吗如何开网上商城
  • 网站按钮样式苏州市吴江太湖新城建设局网站
  • h5免费建站网站开发教程大全
  • 商标 做网站 是几类手机网站什么意思
  • 网站建设综合技能实训seo关键词排名优化报价
  • 怎么把别人做的网站变成自己的seo收录排名
  • 如何做不同域名跳转同一个网站小型教育网站的开发建设论文
  • 高端网站定制建设公司哪家好个人电脑 wordpress
  • 贺州招聘网站建设产品怎么做市场推广
  • 网站自身维护私人为别人做网站违法问题
  • 扬中市住房和城乡建设局网站如何制作网线
  • 朔州做网站巴西网站建设
  • 做网站销售大概多少钱网站建设方案设计书参考
  • wordpress本地建站教程网站快速注册
  • asp.net 网站开发 教程wordpress 数据还原
  • 简单大气网站欣赏沈阳网站建设的公司
  • 网站团购报名怎么做上海外贸出口代理公司排名
  • 网站设计公司请示邓州十九张麻将微信群app开发公司
  • 白酒公司网站的建设wordpress的别名获得页面的别名
  • 中卫网站推广制作哈尔滨优化网站公司
  • h5网站后台管理模板郑州网站建设制作价格
  • 口红网站建设目标wordpress在哪里下载
  • 平顶山市建设局网站定制型网站建设推广
  • 怎样在百度做网站wordpress视频教程
  • 做网站找沈阳横纵网络做内贸只要有什么网络推广网站
  • 厦门网站设计公司推荐重庆智能网站建设设计
  • 微信 wordpress 群发企业关键词优化价格
  • 建设网站要多少费用无锡网站开发公司电话
  • eclipse做网站代码微信小程序怎么做广告推广