一本通1360 奇怪的电梯

news/2024/11/29 6:53:08/

1360:奇怪的电梯(lift)


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 4790     通过数: 2047

【题目描述】

大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)(1≤i≤N) 上有一个数字Ki(0≤=Ki≤=N)Ki(0≤=Ki≤=N) 。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……)Ki(K1=3,K2=3,……) ,从一楼开始。在一楼,按“上”可以到44 楼,按“下”是不起作用的,因为没有−2−2 楼。那么,从AA 楼到BB 楼至少要按几次按钮呢?

【输入】

共有二行,第一行为三个用空格隔开的正整数,表示N,A,B(1≤N≤200,1≤A,B≤N)N,A,B(1≤N≤200,1≤A,B≤N) ,第二行为NN 个用空格隔开的正整数,表示KiKi 。

【输出】

一行,即最少按键次数,若无法到达,则输出−1−1 。

【输入样例】

5 1 5
3 3 1 2 5

【输出样例】

3

【来源】


No

 

 

 

 

 

#include <bits/stdc++.h>
#define MAXN 305
using namespace std;
struct node
{int x;int step;node(){x=0,step=0;}
};
queue<node> que;
int arr[MAXN];
int vis[MAXN];
int n,a,b;void bfs(int x)
{node p,q,n1,n2;p.x=x;vis[x]=1;p.step=0;que.push(p);bool flag=false;while(!que.empty()){q=que.front();que.pop();int xx=q.x;if(xx==b){flag=true;cout<<q.step<<endl;break;}n1.x=xx+arr[xx];n1.step=q.step+1;n2.x=xx-arr[xx];n2.step=q.step+1;if(n1.x>=1&&n1.x<=b&&!vis[n1.x]){que.push(n1),vis[n1.x]=1;}if(n2.x>=1&&n2.x<=b&&!vis[n2.x]){que.push(n2),vis[n2.x]=1;}}if(!flag)cout<<"-1"<<endl;return ;
}int main()
{int i;cin>>n>>a>>b;for(i=1; i<=n; i++)cin>>arr[i];bfs(a);return 0;
}

 


http://www.ppmy.cn/news/215643.html

相关文章

LeetCode 1360 - 1363

时间之间隔几天 两个日期之间没有大小关系&#xff0c;可能第 1 个日期大&#xff0c;可能第 2 个日期大&#xff0c;需要同时处理两种情况 1971.1.1 → date1 一共过了 days1 天 1971.1.1 → date2 一共过了 days2 天 | day1 - day2 | 就是答案&#xff0c;因为不知道哪个…

[Codeforces Round #644 (div3)]1360

1360A - Minimal Square[思维] 1360B - Honest Coach[思维] 1360C -Similar Pairs[思维] 1360D - Buying Shovels[思维] 1360E - Polygon[思维] 1360F - Spy-string[暴力] 1360G - A/B Matrix[构造] 1360H - Binary Median[思维] 这场都是思维题&#xff0c;题目就不贴过来了 感…

cf1360G

1360G 1900 题意&#xff1a;对一个长度为m高度为n的全为零二维数组进行操作也就是ar[n][m], 令其每列横行1的个数为a,每排纵行的1的个数为b&#xff0c; 如下所示、 该数组的a2&#xff0c;b1&#xff0c;问你是否存在这么一个ar[n][m]数组使得其满足a和b的要求&#xff0c;…

厦大C语言上机 1360 算日期

1360.算日期 时间限制: 1000 MS 内存限制: 65536 K 提交数: 647 (0 users) 通过数: 286 (279 users) 问题描述 自从收了小明这个徒弟之后&#xff0c;小强的生活就没平静过&#xff0c;小明发扬勤奋好问的精神&#xff0c;总是缠着小强问这问那的。这天&…

ausu-fx80-efi黑苹果10.15.7

因为虚拟机实在太卡了&#xff0c;尝试下了黑苹果&#xff0c;还有一点点的小毛病但是总体我很满意。 这里我分享一下我的笔记本用的EFI。 https://gitee.com/NoCoke/ausu-fx80-g-fx504-ge-efi

华硕fx80笔记本一键u盘安装win8系统图文教程

华硕fx80笔记本是一款2018年上市的家用型游戏影音笔记本电脑&#xff0c;这款电脑搭载了英特尔第八代酷睿i7处理器以及gtx10系列独立显卡&#xff0c;能够满足用户们日常娱乐使用需求&#xff0c;那么华硕fx80笔记本如何一键u盘安装系统呢?今天为大家分享华硕fx80笔记本一键u盘…

飞行堡垒FX80GM热键无反应与触摸板无法使用

快捷键问题&#xff1a; 1.安装hotkey 触摸版问题 2.安装intel serialIO 3.安装touchpad FX80GM - 服务支持

2021-01-06

Vue配置proxy 疯狂的地球人 2021-01-05 12:52:58 13 收藏 分类专栏&#xff1a; Vue学习笔记 文章标签&#xff1a; vue proxy 跨域 ajax跨域问题 devServer 最后发布:2021-01-05 12:52:58 首次发布:2021-01-05 12:52:58 版权声明&#xff1a;本文为博主原创文章&#xff0c…