奇怪的电梯
奇怪的电梯
题目描述
有一天小明做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第
输入格式
共二行。
第一行为三个用空格隔开的正整数,表示
第二行为
输出格式
一行,即最少按键次数,若无法到达,则输出 -1
。
样例 #1
样例输入 #1
5 1 5 3 3 1 2 5
样例输出 #1
3
提示
对于
code:
#include <bits/stdc++.h> using namespace std; int n,x,y,minn=2100000000; int a[201],book[201]; void dfs(int m,int cnt) { if(m==y) { minn=min(minn,cnt); } else if(cnt<=minn) { book[m]=1; if(m+a[m]<=n && book[m+a[m]]==0) dfs(m+a[m],cnt+1); if(m-a[m]>=1 && book[m-a[m]]==0) dfs(m-a[m],cnt+1); book[m]=0; } } int main() { cin>>n>>x>>y; for(int i=1; i<=n; i++) { cin>>a[i]; } dfs(x,0); if(minn==2100000000) cout<<-1; else cout<<minn; return 0; }
本文作者:Nasia
本文链接:https://www.cnblogs.com/nasia/p/17520749.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步