
【图论】【最短路】工厂的烦恼
发布日期:2021-05-07 00:23:03
浏览次数:10
分类:技术文章
本文共 1082 字,大约阅读时间需要 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 6Sample Output
17
解题思路
求这张图的最长路
#include#include #include using namespace std;struct DT{ int to,next,l;}a[30000];int dis[200][200],head[10000],n,m,num,lt[10000];int h,t,v[10000],f[10000];long long Gun;void SPFA(int s){ memset(f,0,sizeof(f)); h=0,t=1,v[1]=s,dis[s][s]=0,f[s]=1; while(h++ dis[s][a[i].to]){ //把 <改成> dis[s][a[i].to]=dis[s][v[h]]+a[i].l; if(!f[a[i].to]){ v[++t]=a[i].to; f[a[i].to]=1; } } } f[v[h]]=0; }}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ int x,y,s; scanf("%d%d%d",&x,&y,&s); a[++num].to=y,a[num].next=head[x],head[x]=num,a[num].l=s; } //dis不用赋初值 for(int g=1;g<=n;g++) SPFA(g); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(Gun 改成>
发表评论
最新留言
很好
[***.229.124.182]2025年04月04日 14时47分43秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
剑指offer Leetcode 37.序列化二叉树
2019-03-03
剑指offer Leetcode 39.数组中出现次数超过一半的数字
2019-03-03
Latex中cases环境引入报错
2019-03-03
Latex排版的时候把图片放在指定位置
2019-03-03
用 Python 把你的朋友变成表情包(鼠标事件提取 ROI 版)
2019-03-03
Tensorflow2.0:基于循环卷积网络预测剩余寿命
2019-03-03
bzoj3879: SvT 后缀自动机
2019-03-03
4084: [Sdoi2015]双旋转字符串
2019-03-03
bzoj3439: Kpm的MC密码(四种做法)
2019-03-03
Nginx出现500 Internal Server Error 错误
2019-03-03
pytorch loss = loss_func(output, label) 报错
2019-03-03
51nod 1526 分配笔名
2019-03-03
MySQL中drop、truncate和delete的区别?
2019-03-03
Mysql索引底层B+树的实现原理以及Innodb和Myisam引擎存储的区别
2019-03-03
09-01 Java语言基础(package、import)
2019-03-03
11-01 Java语言基础(Scanner类)
2019-03-03
12-04 Java语言基础(Arrays类)
2019-03-03
Accessing Excel Spreadsheets via C++
2019-03-04
excel上传核心
2019-03-04
json.parse细节
2019-03-04