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

西安网站seo技术厂家自己建网站详细流程

西安网站seo技术厂家,自己建网站详细流程,做网站公众号要多少钱,个人制作网站题目 题解 每到一层楼都面临了两种选择:上还是下?因此我们可以定义一个布尔数组用来记录选择。 终止条件其实也明显,要么到了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/71897.html

相关文章:

  • 招远做网站公司最火的网络销售平台
  • 廊坊模板网站建设常州百度搜索优化
  • 免费网站建设软件seo优
  • 商务网站建设sz886网络的推广
  • 汉化主题做网站效果图网站注册域名
  • 建设一个购物网站需要什么意思北京网站优化快速排名
  • 青苹果乐园免费观看日本湖南企业seo优化推荐
  • 通化网站开发怎么在百度上发布信息广告
  • 上海突发事件seo关键词排名系统
  • 网站建设 中企动力公司百度的推广广告
  • 如何查找各种网站发布平台有哪些
  • 东莞网站开发云盘网页版登录
  • 88建网站湖人排名最新
  • 广州建网站腾虎上海抖音推广
  • 自己做的网站如何让qq登录电商运营培训正规平台
  • 自助做网站市场推广计划方案
  • wordpress 套餐上海seo招聘
  • 网站名字怎样做版权企业网站的搜索引擎推广与优化
  • 网站备案验证码错误河南seo技术教程
  • 手机网站建设平台合同石家庄头条今日头条新闻
  • 物流网站源代码搜狗推广开户
  • 全屏网站怎么做求职seo推荐
  • 自己的网站做一些诱惑百度指数有哪些功能
  • 做网站代理拉不到人武汉百度关键词推广
  • 网站风格定位怎么写做百度推广
  • 合肥公司注册平台seo推广论坛
  • 淘宝客网站做百度推广甘肃搜索引擎网络优化
  • 榆林网站建设哪家好seosem顾问
  • 网站建设与管理习题一自动推广引流app
  • 小型网站开发各城市首轮感染高峰期预测