标签:page 就会 head center col 上下 for 正整数 ext
每组数据,共有二行,第一行为三个用空格隔开的正整数,表示N,A,B(1≤N≤200, 1≤A,B≤N),第二行为N个用空格隔开的正整数,表示Ki。
5 1 5 3 3 1 2 5
3
时间限制:1000ms
空间限制:128MByte
#include<bits/stdc++.h> using namespace std; int main() { queue<int> q; bool p[205]; int n, a, b, ans = -1, ar[205]; cin>>n>>a>>b; for(int i = 1; i <= n; i++) scanf("%d", &ar[i]); q.push(a), q.push(0), p[a] = 1; while(!q.empty()){ int n1 = q.front(); q.pop(); int s = q.front(); q.pop(); if(n1 == b){ ans = s; break; } if(n1 + ar[n1] > 0 && n1 + ar[n1] <= n && !p[n1 + ar[n1]]) q.push(n1 + ar[n1]), q.push(s +1), p[n1 + ar[n1]] = 1; if(n1 - ar[n1] > 0 && n1 - ar[n1] <= n && !p[n1 - ar[n1]]) q.push(n1 - ar[n1]), q.push(s +1), p[n1 - ar[n1]] = 1; } cout<<ans<<endl; return 0; }
标签:page 就会 head center col 上下 for 正整数 ext
原文地址:https://www.cnblogs.com/abs27/p/9317430.html