博客
关于我
POJ 1797 最短路变形所有路径最小边的最大值
阅读量:278 次
发布时间:2019-03-03

本文共 713 字,大约阅读时间需要 2 分钟。

题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过。

思路:求所有路径中的最小的边的最大值。可以用迪杰斯特拉算法,只需要将模板的路径更新那改一下,具体看代码注释。

注意:数组的初始化为-1或零m因为题意说的权值并不是距离,而是路的承重。

代码如下:

#include
#include
#include
using namespace std;int e[1010][1010],inf=0x3f3f3f3f,n,dis[1010],book[1010];void djstl(int x){ for(int i=1; i<=n; i++) dis[i]=e[1][i]; memset(book,0,sizeof(book)); book[x]=1; for(int i=1; i<=n-1; i++) { int maxx=-1,u; for(int j=1; j<=n; j++) { if(dis[j]>maxx&&!book[j]) { u=j; maxx=dis[j]; } } book[u]=1;//找到最短的边 for(int v=1; v<=n; v++) { if(dis[v]

 

转载地址:http://jgsl.baihongyu.com/

你可能感兴趣的文章
linus下centos7防火墙设置
查看>>
学习笔记-----分布式事务基础理论,CAP组合方式
查看>>
Base理论介绍
查看>>
HashMap和ArrayList初始大小和扩容后的大小
查看>>
volatile关键字和AtomicInteger
查看>>
RedisTemplate中opsForValue()中的方法
查看>>
redisTemplate.opsForHash()
查看>>
Mac下安装jdk8
查看>>
知识框架梳理
查看>>
JUC知识
查看>>
lamba语法格式
查看>>
jvm栈和寄存器
查看>>
局部变量表
查看>>
循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展
查看>>
maven生命周期
查看>>
方法的绑定机制-静态绑定和动态绑定
查看>>
jvm
查看>>
内核程序和应用程序
查看>>
自动内存管理
查看>>
微服务架构优缺点
查看>>