hdu 1548 A strange lift 最短路 spfa模板
来源:互联网 发布:linux下ant的安装配置 编辑:程序博客网 时间:2024/05/20 12:46
题意:一个电梯每层楼可以上ki层,或下ki层,若到达的层合法。求电梯从A层到B层的最少移动次数,若不能到达输出-1。
简单最短路径,每层与其能到的层连有向边,权值为1。建图后spfa模板即可。
#include <iostream>#include<cmath>#include<cstring>#include<cstdio>#define INF 0x7ffffff#define N 220using namespace std;int a[N][N],d[N],v[N],q[N],n,s,t;int spfa(int s,int t){ for(int i=1;i<=n;i++) d[i]=INF,v[i]=0; int cnt=0; q[cnt++]=s; v[s]=1; d[s]=0; while(cnt>0) { int c=q[--cnt]; v[c]=0; for(int i=1;i<=n;i++) { if(a[c][i]==1&&d[i]>d[c]+a[c][i]) { d[i]=d[c]+a[c][i]; if(!v[i]) v[i]=1,q[cnt++]=i; } } } if(d[t]==INF) return -1; return d[t];}int main(){ while(~scanf("%d",&n)&&n) { scanf("%d%d",&s,&t); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { int f; scanf("%d",&f); if(i-f>=1) a[i][i-f]=1; if(i+f<=n) a[i][i+f]=1; } cout<<spfa(s,t)<<endl; }}
0 0
- hdu 1548 A strange lift 最短路 spfa模板
- hdu 1548 A strange lift 最短路(spfa)
- HDU-1548 A strange lift(最短路[Spfa || BFS])
- HDU 1548 A strange lift【不错的最短路,spfa】
- 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(最短路或DFS)
- HDU 1548 A strange lift (BFS或最短路)
- 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(最短路)
- HDU 1548 A strange lift(构造+最短路Dijkstra)
- 使用谷歌浏览器插件octotree,方便查看Github工程代码
- 将行转换成列存储在其它文件中
- 解读CPU模式hotplug、ondemand等的意义
- 机器学习路线图(附资料)
- 【c++】说反话加强版【存疑】
- hdu 1548 A strange lift 最短路 spfa模板
- hibernate-mapping的属性配置
- Django文件下载,解决Django中文名问题
- Problem_1013
- 安装PHP5.6.19遇到的一个Libiconv的问题
- 大话数据结构读书笔记系列(四)栈与队列
- Cmake的介绍和使用 Cmake实践
- Java Web中数据从前端输入到插入数据库,哪些地方需要考虑字符编码?
- 注册了csdn博客