hdu1548A strange lift
来源:互联网 发布:c语言图形界面编程 编辑:程序博客网 时间:2024/06/15 00:18
题目链接:click here~
题目解析:一般的广搜,枚举所有的状态就可以了。
代码如下:
#include<stdio.h>#include<string.h>#include<queue>using namespace std;int lift[205];int vis[205];int s,t,n;struct node{ int cur; int time;};void bfs(){ memset(vis,0,sizeof(vis)); node node1,node2; queue<node>q; node1.cur=s; node1.time=0; q.push(node1); vis[node1.cur]=1; while(!q.empty()) { node2=q.front(); q.pop(); if(node2.cur==t) { printf("%d\n",node2.time); return ; } node1.cur=node2.cur+lift[node2.cur]; if(node1.cur>=1&&node1.cur<=n&&!vis[node1.cur]) { node1.time=node2.time+1; q.push(node1); vis[node1.cur]=1; } node1.cur=node2.cur-lift[node2.cur]; if(node1.cur>=1&&node1.cur<=n&&!vis[node1.cur]) { node1.time=node2.time+1; q.push(node1); vis[node1.cur]=1; } } printf("-1\n");}int main(){ while(scanf("%d",&n)!=EOF&&n) { scanf("%d%d",&s,&t); for(int i=1;i<=n;i++) scanf("%d",&lift[i]); bfs(); } return 0;}
0 0
- hdu1548A Strange Lift
- hdu1548A strange lift
- hdu1548A strange lift (dijkstar)
- hdu1548A strange lift
- hdu1548A strange lift
- hdu1548A strange lift
- HDU1548A strange lift(BFS)
- HDU1548A strange lift BFS水题
- hdu1548A strange lift(bfs)
- HDU1548A strange lift(bfs)
- hdu1548A strange lift——最短路(迪杰斯特拉,spfa)。bfs(队列。数组)
- HDU A strange lift
- HDUOJ1548 A strange lift
- hdu1548 A strange lift
- HDOJ A strange lift
- A strange lift
- A strange lift(BFS)
- A strange lift
- 数组的指针和指向数组的指针变量
- HDU 4770 Lights Against Dudely -- 2013 杭州赛区现场赛-A(状态压缩)
- 一个杀手移动用户界面的七个步骤
- 5.1.9 Symmetric Tree
- c++面试总结
- hdu1548A strange lift
- SQL Server数据库中bit字段类型使用时的注意事项
- 工业超纯水机:EDI超纯水设备详细介绍
- Android数据库更新并保留原来数据的实现
- Swift编程语言学习5—— 函数
- 互联网/电子商务数据分析师的十大误区
- webService原理和用例
- js 不同浏览器 的判断
- html基础-2