边数限制最短路
来源:互联网 发布:淘宝免费申请 编辑:程序博客网 时间:2024/06/04 18:36
从0到t,经过边数不超过10的最短路.
sp[i][k]代表从0到i经过k条边的最短路长度。
#include<iostream>#include<algorithm>#include<queue>#include<string.h>#include<cstdio>using namespace std;#define INF 1<<20#define MAXN 1010#define MAXH 10long d[MAXN][MAXN];long sp[MAXN][MAXH+1];long n,m,t;void init(){long i,j,a,b,c;for(i=0;i<n;i++)for(j=0;j<n;j++)d[i][j]=INF;for(i=0;i<n;i++)for(j=0;j<=MAXH;j++)sp[i][j]=INF;sp[0][0]=0;while(m--){scanf("%ld%ld%ld",&a,&b,&c);if(c<d[a][b])d[a][b]=c;if(c<d[b][a])d[b][a]=c;}}void dp(){long i,j,k;for(k=1;k<=MAXH;k++)for(i=0;i<n;i++)for(j=0;j<n;j++)if(d[j][i]<INF&&sp[j][k-1]+d[j][i]<sp[i][k])sp[i][k]=sp[j][k-1]+d[j][i];}int main(){while(scanf("%ld%ld%ld",&n,&m,&t),n){init();dp();long answer=INF;for(long i=0;i<=MAXH;i++){if(sp[t][i]<answer)answer=sp[t][i];}if(answer==INF)printf("no\n");else printf("%ld\n",answer);}return 0;}
阅读全文
0 0
- 边数限制最短路
- 限制步数的最短路
- hdu4179 限制最短路
- dijkstra+限制最短路
- ☆【最短路】速度限制
- 有限制最短路hdu4179
- hdu2962 限制最短路+枚举
- 最短路条数
- 路数有限制(w的倍数)的最短路,【二维dijkstra】 双重限制并输出路径和方法数
- hdu 2363(限制最短路 二分+枚举+最短路)
- POJ_3463_Sightseeing(最短路/次短路条数)
- 最短路和次短路条数
- CDOJ_1147 (最短路条数)
- 【BZOJ2886】最短路【组合数】
- 畅通工程 最短路数
- 最短路条数模板
- 最短路条数计数
- Poj3662 Telephone Lines (限制最短路)
- 用canvas的toDataURL()将图片转为dataURL(base64)
- cocos2dx3.x《格斗》类游戏实现人物选择界面(二)
- String对象方法
- HangFire任务调度实例(Console和MVC中)及Log4Net日志配置
- 浅谈CTF中命令执行与绕过的小技巧
- 边数限制最短路
- JSP内置对象
- ERROR: Can't get master address from ZooKeeper; znode data == null
- Android ViewPager+RecyclerView+StaggerLayoutManager瀑布流图片单选实现
- 利用域名在前端取图片
- 关于GreenDao的使用
- 重写(覆盖)、重载、多态
- 发光二极管电路
- Xutils请求数据imageloader加载图片+网络判断