比赛 NNOI2024 评测结果 AAAAAAAAAA
题目名称 奇怪的电梯 最终得分 100
用户昵称 李奇文 运行时间 0.082 s
代码语言 C++ 内存使用 3.57 MiB
提交时间 2024-12-28 18:24:33
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,a,b,d[201][201];
int main(){
	freopen("lift.in","r",stdin);
	freopen("lift.out","w",stdout); 
	memset(d,0x3f3f3f3f,sizeof(d));
	scanf("%d%d%d",&n,&a,&b);
	for(int i=1;i<=n;i++){
		d[i][i]=0;
	}
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		if(1<=i-x){
			d[i][i-x]=min(d[i][i-x],1);
		}
		if(i+x<=n){
			d[i][i+x]=min(d[i][i+x],1);
		}
	}
	for(int k=1;k<=n;k++){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				d[i][j]=min(d[i][k]+d[k][j],d[i][j]);
			}
		}
	}
	if(d[a][b]==0x3f3f3f3f){
		cout<<-1;
	}else{
		cout<<d[a][b];
	}
	return 0;
}