HDU 1548 A strange lift
来源:互联网 发布:网络控制器感叹号 编辑:程序博客网 时间:2024/06/05 03:09
题目地址:点击打开链接
思路:单向图,有不可能的情况,用BFS做也可以
AC代码:
#include<iostream>#include<cstring>#define MAX1 400000using namespace std;int map[210][210],visit[210],dist[210];int n,a,b;void dijkstra(){ int i,j,min,k; for(i=1; i<=n; i++) { dist[i] = map[a][i]; visit[i] = 0; } dist[a] = 0; visit[a] = 1; for(i=1; i<n; i++) { min = MAX1; for(j=1; j<=n; j++) { if(visit[j] == 0 && dist[j] < min) { min = dist[j]; k = j; } } if(min == MAX1) return; visit[k] = 1; for(j=1; j<=n ;j++) { if(visit[j] == 0 && dist[k] + map[k][j] < dist[j]) dist[j] = dist[k] + map[k][j]; } }}int main(){ int i,j,x; while(cin>>n && n) { cin>>a>>b; for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { map[i][j] = MAX1; } } for(i=1; i<=n; i++) { cin>>x; if(i+x<=n) map[i][i+x] = 1; if(i-x>=1) map[i][i-x] = 1; } dijkstra();//注意语句cout<<(dist[b] == MAX1 ? -1 : dist[b]) if(dist[b] == MAX1) cout<<"-1"<<endl; else cout<<dist[b]<<endl; } return 0;}
0 0
- A strange lift hdu 1548
- 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
- 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
- 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
- Palindrome Partitioning II
- 数据结构之线索二叉树
- 转:nutch相干框架安装使用最佳指南
- 25-沙盒 文件管理者
- hdu 1010 Tempter of the Bone(DFS)
- HDU 1548 A strange lift
- Unity3d角色控制器Character Controller
- 欢迎使用CSDN-markdown编辑器
- Java内存区域与内存溢出异常
- MyEclipse连接MySQL数据库
- 数据结构之还没有解决的任务
- 二叉树的三种迭代遍历方法
- 26-JSON解析
- 栈练习