HDU 1548 A strange lift
2012-06-11 12:59
169 查看
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<queue> using namespace std; const int inf=1<<30; int n,a,b,k[210],d[2]={-1,1},vis[210],ans[210]; void bfs() { int i,x; queue<int> q; q.push(a); vis[a]=1; ans[a]=0; while(!q.empty()) { x=q.front(); q.pop(); for(i=0;i<2;i++) { int nx=x+d[i]*k[x]; if(nx>=1&&!vis[nx]) { ans[nx]=ans[x]+1; q.push(nx); vis[nx]=1; } } } } int main() { int i; while(scanf("%d",&n)&&n) { memset(vis,0,sizeof(vis)); scanf("%d%d",&a,&b); for(i=1;i<=n;i++) scanf("%d",&k[i]); memset(ans,-1,sizeof(ans)); bfs(); printf("%d\n",ans[b]); } return 0; }
相关文章推荐
- HDU 1548 A strange lift(最短路&&bfs)
- HDU 1548 A strange lift
- HDOJ 1548 HDU 1548 A strange lift ACM 1548 IN HDU
- hdu 1548 A strange lift(搜索or最短路)
- 题解: HDU 1548 :A strange lift(BFS)
- HDU 1548 A strange lift【不错的最短路,spfa】
- hdu 1548 A strange lift (bfs、最短路)
- hdu 1548 A strange lift
- hdu 1548 A strange lift
- HDU 1548 A strange lift
- HDU 1548 A strange lift
- hdu 1548 A strange lift
- HDU 1548 A strange lift bfs 宽搜解析
- HDU 1548 A strange lift
- hdu 1548:A strange lift
- Hdu1548 A strange lift【简单bfs】
- HDU 1548 A strange lift (Dijkstra)
- HDU 1548 A strange lift
- HDU 1548 A strange lift(BFS)
- HDU 1548 A strange lift (Dijkstra算法)