1360:奇怪的电梯(lift) 《信息学奥赛一本通》

news/2024/11/29 2:39:21/

http://ybt.ssoier.cn:8088/problem_show.php?pid=1360

/*
1360:奇怪的电梯(lift)--AC
http://ybt.ssoier.cn:8088/problem_show.php?pid=1360
*/
#include <bits/stdc++.h>
using namespace std;
int que[300][2];
int num[210];
int main( void )
{int n,a,b;cin>>n>>a>>b;int head,tail;int tempx,tempy,nx;bool flag[210];memset(flag,false,sizeof(flag));for(int i=1;i<=n;++i){//每层的数字 cin>>num[i];}//从当前层到当前层 if( a == b ) {cout<<0<<endl;return 0;}head=0;tail=1;que[tail][0]=a;que[tail][1]=0;//step//flag表示已经走过 flag[a]=true;while( head != tail){//出队 ++head;tempx=que[head][0];tempy=que[head][1];for(int i=-1;i<=1;++i){if( i != 0 ){nx=tempx+num[tempx]*i;//nx>n 上溢//nx<1 下溢//flag[nx] 表示已经走过 if( nx>n || nx<1 || flag[nx] )  continue;//break 跳出本层循环//continue:跳出本次循环if( nx == b ){cout<<tempy+1<<endl;return 0;	}//入队 ++tail;que[tail][0]=nx;que[tail][1]=tempy+1;//flag[nx] 标记为已经走过flag[nx]=true;	}}}cout<<-1<<endl;return 0;
}

 

 

 

 

 


 

 

 

 

 

 

 

 


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

相关文章

CF1360E - Polygon

题目链接 https://codeforces.com/problemset/problem/1360/E 题目描述 &#xff08;来自于luogu&#xff09; 解题思路 根据题目给出的样例可以得知&#xff0c;射出的第一颗子弹肯定会落在最底处或最右边&#xff0c;解题的关键就在于此&#xff0c;以最底处或最右边为…

[LeetCode 1360]日期之间隔几天

题目描述 请你编写一个程序来计算两个日期之间隔了多少天。 日期以字符串形式给出&#xff0c;格式为 YYYY-MM-DD&#xff0c;如示例所示。 示例1 输入&#xff1a;date1 “2019-06-29”, date2 “2019-06-30” 输出&#xff1a;1 示例2 输入&#xff1a;date1 “2020…

【信奥赛一本通】 1360:奇怪的电梯(lift)(详细代码)

【图论算法】1360&#xff1a;奇怪的电梯lift 1.【题目描述】2.【代码】 1.【题目描述】 【题目描述】 大楼的每一层楼都可以停电梯&#xff0c;而且第i层楼&#xff08;1≤i≤N&#xff09;上有一个数字Ki(0≤Ki≤N&#xff09;。电梯只有四个按钮&#xff1a;开&#xff0c;…

[HihoCoder]#1360 : 凸多边形

华电北风吹 天津大学认知计算与应用重点实验室 2016-08-14 题目链接&#xff1a; http://hihocoder.com/problemset/problem/1360 题目分析&#xff1a; 动态规划&#xff0c;思路参考Floyd解决所有节点对的最短路径类型的动态规划。 参考代码&#xff1a; #include &l…

Ubuntu永久更改分辨率1360*768

网上可以搜索到Ubuntu添加新分辨率&#xff08;比如没有1360*768通过xrandr自主创建&#xff09;。但这个方法在reboot之后便会失效&#xff0c;通过半晚上的研究&#xff0c;终于发现了能令Ubuntu添加分辨率格式并保持的方法&#xff08;以1360*768为例&#xff09;。事实上&a…

1360:奇怪的电梯(lift)

【题目描述】 大楼的每一层楼都可以停电梯&#xff0c;而且第i层楼&#xff08;1≤i≤N&#xff09;上有一个数字Ki(0≤Ki≤N&#xff09;。电梯只有四个按钮&#xff1a;开&#xff0c;关&#xff0c;上&#xff0c;下。上下的层数等于当前楼层上的那个数字。当然&#xff0c;…

洛谷CF1360E 多边形

洛谷CF1360E 多边形 题目标签标签难度 思路分析思路一 错因分析AC代码 题目标签 CF1360E 标签 模拟 难度 普及/提高- 思路分析 思路一 时间复杂度 O ( n 2 t ) O(n^2t) O(n2t) 说实在&#xff0c;这一题其实很简单。一道纯模拟题。我们先来分析一下题目&#xff1a;“…

1360. 日期之间隔几天

题目描述 请你编写一个程序来计算两个日期之间隔了多少天。日期以字符串形式给出&#xff0c;格式为 YYYY-MM-DD&#xff0c;如示例所示。示例 1&#xff1a;输入&#xff1a;date1 "2019-06-29", date2 "2019-06-30" 输出&#xff1a;1 示例 2&#xf…