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

公司网站如何宣传推广建筑网格布搭接

公司网站如何宣传推广,建筑网格布搭接,wordpress搜索结果页,html表单提交中文乱码题目 题解 每到一层楼都面临了两种选择:上还是下?因此我们可以定义一个布尔数组用来记录选择。 终止条件其实也明显,要么到了B层,要么没有找到楼层。 如果找到了,选择一个步骤少的方式。又怎么表示没有找到楼层&…

题目

题解

每到一层楼都面临了两种选择:上还是下?因此我们可以定义一个布尔数组用来记录选择。

终止条件其实也明显,要么到了B层,要么没有找到楼层。

如果找到了,选择一个步骤少的方式。又怎么表示没有找到楼层?

定义一个答案res,把它定义很大,如果找到了答案,更新最小值即可。

int res=1e9;

res = min(res,cnt);

这其实都很简单,关键在于怎么剪枝?

第一,找答案的过程中如果发现cnt>res,就可以剪掉了

第二,每一层尽可能只来一次,如果选择了相同的选择。就消耗了一定的cnt,不可取。如果选择了不同的方式,没找到B层也还行,如果找到了,那我们第一次到这个楼层的时候就该选这个不同的方式,整个方案就已经没有必要再进行下去了。所以综上,再选择的时候我们应该一个楼层最多走一次。

答案

#include <bits/stdc++.h>using namespace std;const int N = 210;int n;
int A,B;
int K[N];
int res = 1e9;
bool st[N] = {false};void dfs(int x,int cnt)
{if(cnt > res) return ;if(x == B){res = min(res,cnt);return ;}if(x+K[x] <= n && !st[x+K[x]]){st[x] = true;dfs(x+K[x],cnt+1);st[x]=false;}if(x-K[x] > 0 && !st[x+K[x]]){st[x] = true;dfs(x-K[x],cnt+1);st[x] = false;}}int main()
{cin >> n >> A >> B;for(int i = 1;i<=n;i++){cin >> K[i];}st[A]=true;dfs(A,0);if(res == 1e9){cout << "-1";return 0;}cout << res;return 0;
}

http://www.dtcms.com/wzjs/667517.html

相关文章:

  • 多米诺网站建设服务昌平装修公司哪家好
  • 做视频网站要什么软件下载最近重大新闻事件2021
  • 网站建设哪一家好企业seo平台
  • 上海建设行业的资质网站商丘网站制作报价信赖赛憬科技
  • 先网站开发后软件开发好百度账号怎么改用户名
  • 网站备案表格做网站的人跑了网站可以恢复吗
  • 缅甸网站网站代理怎么做网站 提示建设中
  • 免费网站安全软件下载wordpress主题 新闻
  • 温州建网站wordpress 外贸主题
  • 优化 导航网站wordpress基础模板
  • 济南网站建设山东聚搜网推荐wordpress08影院404
  • 学网页设计先学什么厦门seo关键词排名
  • 做外贸比较好用的网站html怎么弄
  • 网站网页设计招聘17网站一起做网店登录
  • 免备案的网站什么人需要网站建设
  • 网站建设合同续签申请书网站建设步骤图
  • logo设计网站平台平台推广应用
  • 网站qq未启用网站备案导致网站被k
  • 东莞微网站商城类网站功能列表
  • wordpress几个网站共用用户物流网站毕业设计
  • 现在个人都在哪个网站做外贸怎么搞wordpress
  • 福州网站建设熊掌号untitled怎么做网页
  • 网站建设的基本目标大淘客网站推广位怎么做
  • 网站开发的初始密码wordpress页面显示分类文章
  • 做技术分享网站有哪些做网站有什么优势
  • 一个在线做笔记的网站安国市住房和城乡建设局网站
  • 番禺网站开发设计成都两条传播链在成华区
  • 网站建设业务客户来源seo职位具体做什么
  • 网站开发适配做企业网站设计与实现
  • 网站登录账号密码保存在哪里南京网站制作公司排名前十