【ACM- OJ】《奇怪的电梯》C++

  • 题目描述
  • 输入
  • 输出
  • 样例输入
  • 样例输出
  • AC代码

题目描述

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

输入

共二行。
第一行为3个用空格隔开的正整数,表示N,A,B(1≤N≤200,1≤A,B≤N)。
第二行为N个用空格隔开的非负整数,表示Ki。

输出

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

样例输入

5 1 5
3 3 1 2 5

样例输出

3

AC代码

//
//  main.cpp
//  奇怪的电梯
//
//  Created by HISS on 2020/11/5.
//  Copyright © 2020 HISS. All rights reserved.
//#include <iostream>
#include <queue>
using namespace std;int n, m, a, b;
int q[250], vis[250];int main()
{int i;queue<int> p;cin >> n >> a >> b;vis[a]=1;for(i = 1; i <= n; i ++)cin >> q[i];p.push(a);while(!p.empty()){int now = p.front(), l = now - q[now], r = now + q[now];//电梯向下if(l >= 1 && !vis[l]){p.push(l);vis[l] = vis[now] + 1;}//电梯向上if(r <= n && !vis[r]){p.push(r);vis[r] = vis[now] + 1;}//到达目标bif(l == b || r == b)break;p.pop();}cout << vis[b] - 1 << endl;
}

【ACM- OJ】《奇怪的电梯》C++相关推荐

  1. c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析

    Python基础语法学习完成,先刷基础题100道巩固 ,附 题目.代码.知识分析 题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index ...

  2. 几个有名的 ACM oj

    几个有名的在线做题系统(ACM OJ) 1. 浙江大学 Online Judge(ZOJ) http://acm.zju.edu.cn      国内最早也是最有名气的OJ,有很多高手在上面做题.特点 ...

  3. ACM OJ 平台以及平台题目分类

    OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性.著名的OJ有RQNOJ.URAL等.国内著名的题库有北京大学题库.浙江大学题库等.国外的题库包括乌拉尔大学.瓦拉杜利德大学题库 ...

  4. 几个有名的在线做题系统(ACM OJ)

    1. 浙江大学 Online Judge(ZOJ) http://acm.zju.edu.cn      国内最早也是最有名气的OJ,有很多高手在上面做题.特点是数据比较刁钻,经常会有你想不到的边界数 ...

  5. ACM OJ反馈结果大全

    下面是常见的OJ评判结果以及它们表示的意思: Waiting:你的程序刚刚提交,正在等待OJ评测你的程序. Compiling:OJ正在编译你的程序. Accepted:OK!你的程序是正确的 ^_^ ...

  6. 1065 浙江中医药大学ACM OJ

    哈哈哈哈哈,时隔多年,又AC了一道题小小的嘚瑟下,让自己有动力去AC下一道题, 今天就要蓝桥杯选拔赛了呢,小小的激动了一把,虽然我还比较渣,但谁也不能阻止我成长 进入正题: 绝对AC过了的代码: #i ...

  7. AK acm/oj.Print a Chessboard

    题目描述 Print a Chessboard Draw a chessboard which has a height of H cm and a width of W cm. For exampl ...

  8. 烟台大学ACM OJ之手机后四位尾号问题

    Description 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品!给手机选个好听又好记的号码可能是许多人的心愿.但号源有限 ...

  9. 各大高校oj判题系统

    ACM OJ Collection(排名不分先后): 中国:(China) 华东地区: 浙江: 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 浙江大学(ZJU):http: ...

  10. ACM算法分类和资源

    知名在线做题网站: ACM OJ Collection(排名不分先后): 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.e ...

最新文章

  1. R语言威尔考克森秩和统计分布函数Wilcoxon rank Sum Statistic Distribution(dwilcox, pwilcox, qwilcox rwilcox)实战
  2. 事件监听器 java_Java实现一个简单的事件监听器
  3. PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 安装
  4. 蓝牙解析(part10):BLE ATT/GATT
  5. struts2官方 中文教程 系列六:表单验证
  6. 晋中计算机专业对口大学,山西晋中计算机专业好就业吗?,计算机专业
  7. C ++ 指针 | 指针与函数_7
  8. srgan要训练多久_SRGAN-超分辨率图像复原
  9. Linux-MySQL主从配置
  10. 分享最新36款高质量免费英文字体
  11. 微信小程序的百度地图获取地理位置 —— 微信小程序教程系列(15)
  12. nginx 多php项目配置文件,nginx,_nginx配置多目录访问,nginx - phpStudy
  13. Flink写入hdfs报错:Flink job failed with “Checkpoint Coordinator is suspending
  14. 适合长期电脑办公人群的养生小技巧
  15. MySQL——MySQL逻辑架构
  16. iOS 用内置浏览器Safari 打开网页
  17. 的撒困的空间三看到你塞拉
  18. 简信CRM:什么是在线CRM?在线CRM有什么好处?
  19. 谷歌浏览器Console不显示error信息
  20. Live800:企业如何选择在线客服系统解决方案?

热门文章

  1. JavaScript 代码简洁之道 1
  2. Unable to access ‘https://github.com/xxx.git/‘ Failed to connect to github.com port 443: Timed out
  3. 《算法概论》习题8.3证明
  4. 【难题】动态规划 NOI 162:Post Office 7624:山区建小学——找状态方程有点难 思路详细
  5. 图说 | 人到中年,微胖更保命?这份米因健康大数据真相了
  6. ffmpeg打开视频文件
  7. bootstrap制作的表单获取月份
  8. 问题排查---External Libraries中没有Maven的jar包的原因(已解决)
  9. arm-linux io端口的使用
  10. 无锡python招聘_学而思无锡分校招聘岗位-学而思无锡分校2020年招聘岗位信息-拉勾招聘...