洛谷 P1135 【奇怪的电梯】
- 题库 :洛谷
- 题号 :1135
- 题目 :奇怪的电梯
- link :https://www.luogu.org/problemnew/show/P1135
一. 动态规划 :
- 思路 :这道题用动规来解决其实很简单,f[i][j]表示一共按了i次按钮到达了第j层,初始化f[0][s] = 1表示走0步就能到起点,最后答案在f[i][e]中(i是步数,枚举1 ~ n,从中找最小的来做i)表示走了i步到达了终点。状态转移方程是if(f[i - 1][j]) f[i][j + q[i]] = 1; f[i][j - q[i]] = 1;
- code :
1 #include <bits/stdc++.h>
2 #define INF 0x3f3f3f3f
3 using namespace std;
4 int n, q[1001], f[1001][1001], s, e;
5 signed main()
6 {
7 scanf("%d %d %d", &n, &s, &e);
8 for(register int i = 1; i <= n; ++i)
9 {
10 scanf("%d", &q[i]);
11 }
12 f[0][s] = 1;
13 for(register int i = 1; i <= n; ++i)
14 {
15 for(register int j = 1; j <= n; ++j)
16 {
17 if(f[i - 1][j])
18 {
19 if(j + q[j] <= n)//记得判边界
20 {
21 f[i][j + q[j]] = 1;
22 }
23 if(j - q[j] >= 1)
24 {
25 f[i][j - q[j]] = 1;
26 }
27 }
28 }
29 }
30 for(register int i = 0; i <= n; ++i)
31 {
32 if(f[i][e])
33 {
34 printf("%d", i);
35 return 0;
36 }
37 }
38 printf("-1");
39 return 0;
40 }
二. 广搜 :
- 思路 :没啥特别的,直接从起点开始搜(向上搜,向下搜),f[i]表示从起点到i的最小步数
- code :
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
int u[] = {, -};//向上 + 向下
int n, s, e, q[], f[];
struct node
{
int x, dis;//当前元素和从起点到x的距离
};
inline void bfs()//开搜
{
memset(f, INF, sizeof(f));
queue < node > pru;
pru.push(node{s, });
f[s] = ;
while(!pru.empty())
{
node p = pru.front();
pru.pop();
for(register int i = ; i < ; ++i)
{
int nx = p.x + q[p.x] * u[i];
if(nx >= && nx <= n && f[nx] > p.dis + )
{
f[nx] = p.dis + ;
pru.push(node{nx, f[nx]});
}
}
}
return;
}
signed main()
{
scanf("%d %d %d", &n, &s, &e);
for(register int i = ; i <= n; ++i)
{
scanf("%d", &q[i]);
}
bfs();
if(f[e] == INF)//搜不到
{
printf("-1");
}
else
{
printf("%d", f[e]);
}
return ;
}
洛谷 P1135 【奇怪的电梯】的更多相关文章
- 【DFS与BFS】洛谷 P1135 奇怪的电梯
题目:奇怪的电梯 - 洛谷 (luogu.com.cn) 因为此题数据范围较小,有dfs及bfs等多种做法. DFS 比较正常的dfs,注意vis数组一定要回溯,不然会漏情况 例如这个数据 11 1 ...
- 洛谷 P1135 奇怪的电梯 【基础BFS】
题目链接:https://www.luogu.org/problemnew/show/P1135 题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第 i 层 ...
- TYVJ P3522 &&洛谷 P1135 奇怪的电梯 Label:bfs
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...
- 洛谷 P1135 奇怪的电梯
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...
- 洛谷P1135 奇怪的电梯
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼 (1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮: ...
- 洛谷 P1135 奇怪的电梯 (dfs)
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...
- 洛谷P1135 奇怪的电梯【bfs】
题目:https://www.luogu.org/problemnew/show/P1135 题意: 一共有n层楼,在第i层可以往上或往下$k_i$层. 问从$a$层到$b$层至少需要多少乘多少次电梯 ...
- 洛谷P1135 奇怪的电梯 BFS例题
好,这是一道黄题.几个月前(2017.10.29)的我拿了可怜的20分. 这是当年的蒟蒻代码 #include <cstdio> #include <iostream> #in ...
- 洛谷 P1135 奇怪的电梯 (DFS)
题意:有一\(n\)层高的大楼,每层楼都只能在合法情况下上\(x\)层或者下\(x\)层,问你是否能从\(a\)层楼坐电梯到\(b\)层楼,输出最小步数. 题解:直接dfs搜,\(flo\)表示层数, ...
- 集训作业 洛谷P1135 奇怪的电梯
这个题我见过!!! 我之前在石油大学的网站上做练习赛,提高了很多,这个题是我第一次在比赛里见到深搜. 当时蒙蔽的一批,现在发现好简单…… 这个题和普通的深搜没什么区别,甚至可以说简单了,因为这个是1维 ...
随机推荐
- vue+ elementUI 打包发布到服务器后,element-icons.woff文件404
vue项目打包部署到服务器,静态资源文件404 js文件404问题 原因:打包的项目静态资源的路径需要设置为绝对路径.如果是相对路径会出错 解决办法:修改config/index.js文 ...
- CoreCLR Host源码分析(C++)
废话不多说,直接上源码: 1.在托管程序集里面执行方法 HRESULT CorHost2::ExecuteAssembly(DWORD dwAppDomainId,//通过CreateAppDomai ...
- JAVA-基础-数据类型转换
一.类型的转换 java中数据具有类型.这些类型是可以相互进行转换的. 1.自动类型转换 六个和数字相关的基本类型,可以自动由小到大进行类型转换.但是反过来就不行. *注意,在整形自动转浮点型时,有可 ...
- SQL和NoSQL的区别
一.概念 SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). No ...
- Canvas动画(PC端 移动端)
Canvas动画(PC端 移动端) 一,介绍与需求 1.1,介绍 canvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3 ...
- eclipse导入码云-GIT项目
1.首先找到项目源码地址我随便找到一个git地址 :https://gitee.com/mingSoft/MCMS 2.打开eclipse空白处右键导入项目搜索git. 3.将第一步复制的git地址复 ...
- Vue 中使用 typescript
Vue 中使用 typescript 什么是typescript typescript 为 javaScript的超集,这意味着它支持所有都JavaScript都语法.它很像JavaScript都强类 ...
- springboot整合websocket原生版
目录 HTTP缺点 HTTP websocket区别 websocket原理 使用场景 springboot整合websocket 环境准备 客户端连接 加入战队 微信公众号 主题 HTTP请求用于我 ...
- Markdown转载
@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown ...
- 重读《学习JavaScript数据结构与算法-第三版》- 第3章 数组(一)
定场诗 大将生来胆气豪,腰横秋水雁翎刀. 风吹鼍鼓山河动,电闪旌旗日月高. 天上麒麟原有种,穴中蝼蚁岂能逃. 太平待诏归来日,朕与先生解战袍. 此处应该有掌声... 前言 读<学习JavaScr ...