HDU1584-A strange lift-最短路(Dijkstra模板题)
来源:互联网 发布:施乐s2110设置网络打印 编辑:程序博客网 时间:2024/05/09 14:46
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548
这个题目很容易让人用广搜。。。无语。。。
#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<map>#include<queue>#include<cmath>#include<stack>#include<set>#include<vector>#include<algorithm>#define LL long long#define inf 1<<29#define s(a) scanf("%d",&a)#define CL(a,b) memset(a,b,sizeof(a))using namespace std;const int N=205;int n,m,a,b;int Map[N][N]; // 用于记录图的方向;int dist[N]; // 用于记录从1到k点的路程;bool vis[N]; // 用于标记是否走过这条路void dijkstra(){ CL(vis,false); for(int i=1;i<=n;i++) dist[i]=inf; dist[a]=0; // 这里需要注意一下,不可以写成是dist[1];因为起始点不一定在1位置; while(1){ int v=-1; for(int u=1;u<=n;u++) // 选取最短路径; if(!vis[u]&&(v==-1||dist[u]<dist[v])) v=u; if(v==-1) break; // 没有最短路了,返回; vis[v]=true; for(int u=1;u<=n;u++) // 更新最短路径; dist[u]=min(dist[u],dist[v]+Map[v][u]); }}int main(){ int t; while(~s(n)){ if(!n) break; scanf("%d%d",&a,&b); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) Map[i][j]=inf; Map[i][i]=0; } for(int i=1;i<=n;i++){ s(t); if(i+t<=n) Map[i][i+t]=1; // 巧妙的将上下楼梯转换成到达的目的地; if(i-t>=1) Map[i][i-t]=1; } dijkstra(); if(dist[b]<inf) printf("%d\n",dist[b]); else printf("-1\n"); } return 0;}
0 0
- HDU1584-A strange lift-最短路(Dijkstra模板题)
- hdu 1548-A strange lift-最短路-dijkstra
- [HDU 1548]A Strange Lift[Dijkstra最短路]
- HDU 2145 (A strange lift) 最短路(Dijkstra)
- HDOJ A strange lift(Dijkstra最短路问题)
- HDU 1548 A strange lift(构造+最短路Dijkstra)
- hdu 1548 A strange lift 最短路 spfa模板
- hdu1584 A strange lift (电梯最短路径问题)
- 最短路(Dijstra) A strange lift
- HDU1548 A strange lift 最短路
- hdu 1548 A strange lift(最短路)
- HDU 1548 A strange lift(最短路问题Dijkstra & bfs两种解法)
- HDU1548:A strange lift(Dijkstra)
- hdu1548 A strange lift 不错的变相最短路考察
- HDU1548 A strange lift 广搜和最短路
- HDU 1548 A strange lift 最短路变形
- hdu 1548 A strange lift(搜索or最短路)
- HDU--杭电--1548--A strange lift--最短路
- 1066 -- A+B(3)
- 选择使用 Sugar.js 还是 Underscore.js ?
- 1067 -- A+B(4)
- 数据库笔记2015-8-29
- ThinkPHP多个分页的实现
- HDU1584-A strange lift-最短路(Dijkstra模板题)
- windows下安装mongoDB扩展
- 1068 -- A+B(5)
- 远控木马的事情
- php编码规范
- 字符串匹配的KMP算法
- 15 腾讯春季软件测试招聘实习 试题
- 1069 -- A+B(6)
- 黑马程序员 反射