hdu 1548 A strange lift(最短路或DFS)
来源:互联网 发布:h5小黄人接金币源码 编辑:程序博客网 时间:2024/06/04 11:35
题目:
链接:点击打开链接
题意:
思路:
这也是最短路径的问题,与以往的最短路径有所不同,开始时一看是让求步数,以为是搜索题,就用广搜做,也运行对了,但是提交不上,说的是使用内存超出限制,所以得用其他法,这题首先要做的是把在某一层向上向下能一步到达的层数用数组对应起来,然后就是dijkstra算法求最短路径了。
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;#define INF 10000000const int N = 220;int n,a,b;int dis[N],w[N][N];int k[N];void dijkstra(){ int v[N]; memset(v,0,sizeof(v)); for(int i=1; i<=n; i++) dis[i] = w[a][i]; dis[a] = 0; for(int i=1; i<n; i++) { int x,m = INF; for(int y=1; y<=n; y++) { if(!v[y] && dis[y] < m) m = dis[x=y]; } if(m == INF) return ; v[x] = 1; for(int y=1; y<=n; y++) { if(dis[y] > dis[x] + w[x][y]) dis[y] = dis[x] + w[x][y]; } }}int main(){ //freopen("input.txt","r",stdin); while(scanf("%d",&n) != EOF && n) { scanf("%d%d",&a,&b); for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) w[i][j] = INF; } for(int i=1; i<=n; i++) { scanf("%d",&k[i]); if(i + k[i] <= n) w[i][i+k[i]] = 1; if(i - k[i] >=1) w[i][i-k[i]] = 1; } dijkstra(); printf("%d\n",dis[b] < INF ? dis[b] : -1); } return 0;}
---------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~~~~~~
0 0
- hdu 1548 A strange lift(最短路或DFS)
- HDU 1548 A strange lift (BFS或最短路)
- HDU 1548 A strange lift(最短路或BFS)
- HDU 1548 A strange lift (简单最短路或BFS)
- hdu 1548 A strange lift(最短路)
- hdu 1548-A strange lift-最短路-dijkstra
- HDU 1548 A strange lift 最短路变形
- hdu 1548 A strange lift(搜索or最短路)
- [HDU 1548]A Strange Lift[Dijkstra最短路]
- HDU--杭电--1548--A strange lift--最短路
- hdu 1548 A strange lift (bfs、最短路)
- hdu 1548 A strange lift 最短路(spfa)
- HDU-1548 A strange lift(最短路[Spfa || BFS])
- HDU 1548 A strange lift(最短路)
- hdu 1548 A strange lift 最短路 spfa模板
- hdu 1548 A strange lift(最短路)
- HDU 1548 A strange lift(构造+最短路Dijkstra)
- HDU 1548 A strange lift【不错的最短路,spfa】
- 图解CSS的padding,margin,border属性(详细介绍及举例说明)
- Fragment嵌套导致内容不显示问题
- FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.解决办法
- 怎么海淘
- python类型转换、数值操作(收藏)
- hdu 1548 A strange lift(最短路或DFS)
- JavaScript中的隐式类型转换
- PL/SQL下载
- Java找不到或无法加载主类解决方法
- Java学习总结9——反射
- redis学习(4)redis安装部署
- Java学习总结10——注解
- C#中窗体Form的美化
- Redis使用总结之与Memcached异同