代码求调,玄关
  • 板块灌水区
  • 楼主yuxinjiang
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/29 22:09
  • 上次更新2024/10/29 22:22:37
查看原帖
代码求调,玄关
1279173
yuxinjiang楼主2024/10/29 22:09

P1135 64pts,前六个点MLE了

#include<bits/stdc++.h>
using namespace std;
struct node{
	int x,z;
};
queue<node>f;
int n,a,b,k[255];	
int vis[255];
int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)cin>>k[i];
	f.push(node{a,0});
	while(!f.empty()){
		if(f.front().x==b){
			cout<<f.front().z;
			return 0;
		}else vis[f.front().x]=1;
		if(f.front().x+k[f.front().x]<=n&&f.front().x+k[f.front().x]>=1&&vis[f.front().x+k[f.front().x]]==0){
			f.push(node{f.front().x+k[f.front().x],f.front().z+1});
		}
		if(f.front().x-k[f.front().x]<=n&&f.front().x-k[f.front().x]>=1&&vis[f.front().x-k[f.front().x]]==0){
			f.push(node{f.front().x-k[f.front().x],f.front().z+1});
		}
		f.pop();
	}
	cout<<-1;
	return 0;
}
2024/10/29 22:09
加载中...