博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSL 1762——工厂的烦恼
阅读量:5238 次
发布时间:2019-06-14

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

Description

  某工厂发现厂里的机器在生产产品时要消耗大量的原材料,也就是说,有大量的原材料变成了废物。因此厂里想找出消耗原材料最大的一条生产线路进行改造,以降低成本。厂里的生产线路是一个有向无环网络,有N台机器分别代表网络中的N个结点。弧< I,j >(i < j)表示原材料从机器i传输到机器j的损耗数量。

Input

第一行是两个整数N,M(N<=100,M<=1000),分别表示网络的结点个数和弧数。第二行至M+1行,每行三个整数A,B,C,表示弧上的损耗为C。

Output

仅一个整数,为损耗最大的线路的损耗量。

Sample Input

5 5

1 2 2
2 4 9
1 3 7
3 4 1
4 5 6
Sample Output

17


Floyd改进版,将小于号改为大于号


代码如下:

var  a:array [1..100,1..100] of longint;  f:array [1..100,1..100] of boolean;  n,m,max:longint;procedure init;var  i,j,x,y,z:longint;begin readln(n,m); max:=0; for i:=1 to m do   begin     read(x,y,z);     a[x,y]:=z;     f[x,y]:=true;     if z>max then max:=z;   end;end;procedure main;var  i,j,k:longint;begin  for k:=1 to n do    for i:=1 to n do      for j:=1 to n do        if (k<>i) and (k<>j) and (i<>j) and (f[i,k]) and (f[k,j]) then          if a[i,k]+a[k,j]>a[i,j] then            begin              a[i,j]:=a[i,k]+a[k,j];              f[i,j]:=true;              if a[i,j]>max then max:=a[i,j];            end;  write(max);end;begin  init;  main;end.

转载于:https://www.cnblogs.com/Comfortable/p/8412331.html

你可能感兴趣的文章
微软Azure运营方世纪互联遭做空后强劲反弹
查看>>
根据经纬度算距离
查看>>
(组件、路由)懒加载
查看>>
《C++反汇编与逆向分析技术揭秘》之十——构造函数
查看>>
lightoj 1057 - Collecting Gold(状压dp)
查看>>
关于restful开发的疑惑
查看>>
什么是Reactor模式,或者叫反应器模式
查看>>
高效程序员的工作场所和装备
查看>>
Windbg+Procdump解决w3wp.exe CPU过百问题
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
解决php -v查看到版本与phpinfo()版本不一致问题
查看>>
Java反射之修改常量值
查看>>
jmeter远程分布执行遇到的网卡坑(A Test is currently running,stop or ....)
查看>>
Xcode 中设置部分文件ARC支持
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
MySQL中的隔离级别和悲观锁及乐观锁示例
查看>>