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

网站平台建设咨询合同百度广告收费表

网站平台建设咨询合同,百度广告收费表,如何查看网站的浏览量,常州seo网站推广【算法学习】—n皇后问题(回溯法) 1. 什么是回溯法? 相信"迷宫"是许多人儿时的回忆,大家小时候一定都玩过迷宫游戏。我们从不用别人教,都知道走迷宫的策略是: 当遇到一个岔路口,会有以下两种情况&#xf…

【算法学习】—n皇后问题(回溯法)

1. 什么是回溯法?

相信"迷宫"是许多人儿时的回忆,大家小时候一定都玩过迷宫游戏。我们从不用别人教,都知道走迷宫的策略是:

当遇到一个岔路口,会有以下两种情况:

存在没走过的路。此时可以任意选一条没走过的路深入,只要记住我们所走过的路径即可。

倘若下次再来到这个路口,便不再沿着走过的路径继续深入,而是沿着没走过的路径深入下去;

所有路都已经走过。如果所有岔路口都已经遍历,则回退至上一个最近的岔路口。

当遇到死胡同,便回退到刚才距离最近的岔路口。

不断前进并重复该过程,直到找到终点或回退到起点位置。

其实,这就是回溯法:一个基于深度优先搜索和约束函数的问题求解方法。

(1)、n皇后问题

在这里插入图片描述

在这里插入图片描述

📢 非递归求解n皇后问题

#include <math.h>
#include <stdio.h>
#include <stdlib.h>#define N 4int q[N + 1]; // 存储皇后的列号int check(int j)
{ // 检查第i个皇后的位置是否合法int i;for (i = 1; i < j; i++){if (q[i] == q[j] || abs(i - j) == abs(q[i] - q[j])){ // 判断是否在同一斜线上return 0;}}return 1;
}void queen()
{ //int i;for (i = 1; i <= N; i++){q[i] = 0;}int answer = 0; // 方案数int j = 1;      // 表示正在摆放第j个皇后while (j >= 1){q[j] = q[j] + 1; // 让第j个皇后向后一列摆放while (q[j] <= N && !check(j)){                    // 判断第j个皇后的位置是否合法q[j] = q[j] + 1; // 不合法就往后一个位置摆放}if (q[j] <= N){ // 表示第j个皇后的找到一个合法的位置if (j == N){ // 找到了一组皇后的解answer = answer + 1;printf("放案%d:", answer);for (i = 1; i <= N; i++){printf("%d", q[i]);}printf("\n");}else{ // 继续摆放下一个皇后j = j + 1;}}else{ // 表示第j个皇后找不到一个合法的位置q[j] = 0;  // 还原第j个皇后的位置j = j - 1; // 回溯}}
}
int main()
{queen();return 0;
}

📢 递归求解n皇后问题

#include <math.h>
#include <stdio.h>
#include <stdlib.h>#define N 4int answer=0;int q[N + 1]; // 存储皇后的列号int check(int j)
{ // 检查第i个皇后的位置是否合法int i;for (i = 1; i < j; i++){if (q[i] == q[j] || abs(i - j) == abs(q[i] - q[j])){ // 判断是否在同一斜线上return 0;}}return 1;
}void queen(int j){int i;for(i=1;i<=N;i++){q[j]=i;
if(check(j)){// 当摆放的皇后位置为合法时if(j==N){//找到了N皇后的一组解answer=answer+1;printf("方案%d:",answer);for(i=1;i<=N;i++){printf("%d",q[i]);}printf("\n");}else{queen(j+1);//递归摆放下一个位置}
}}
}int main()
{queen(1);return 0;
}

在这里插入图片描述

http://www.shuangfujiaoyu.com/news/52316.html

相关文章:

  • wordpress添加修改记录谷歌优化师
  • 做网站不知道做什么内容的企业建站要多少钱
  • 许昌 网站建设关键词seo排名优化如何
  • 毕设网站可以用axure做吗今日军事新闻头条视频
  • wordpress小型论坛主题seo排名推广工具
  • 大浪网站建设青岛网站设计微动力
  • 莆田网站建设哪里便宜东莞seo优化
  • 网站功能规划朝阳区seo技术
  • 唐山公司做网站长治网站seo
  • 发布课程的网站模板搜索引擎优化seo名词解释
  • 网站建设模板个人网站搭建源码
  • 购物网站功能市场调研报告范文3000字
  • 水电公司设计logo长沙seo培训班
  • 团购网站建设百度关键词优化的意思
  • php网站开发视频教程下载软件开发培训机构去哪个学校
  • 关于学院网站建设的意见国内免费ip地址
  • 如果自己建立网站做一个简单的网站需要多少钱
  • b2b网站推荐怎么样才能引流客人进店
  • ubuntu 做网站百度快照首页
  • 一级a做爰片免费网站给我看看黄页引流推广
  • 网站开发建设付款方式百度网盘资源分享
  • 郑州做供暖的公司网站seo快速整站上排名教程
  • 佛山网站制作网址国内最新新闻
  • 建筑网站大全玻璃seo外包是什么
  • jsp动态网站开发书籍2345网址导航设置
  • 广州地产网站设计网络推广公司哪里好
  • 阴阳师网站怎么做百度接单平台
  • 应届生求职网seo用什么工具
  • 广州市品牌网站建设平台网站推广的要点
  • dw做网站首页成都网站关键词排名