栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1655 Transport Goods

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1655 Transport Goods

#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<stdlib.h>using namespace std;#define MMV 105#define MME 100000int inf = 1000000000;struct edge_t{    int s, t;    double w;};edge_t arrEdge[MME];int szEdge;double dis[MMV];int nv, ne;int post[MMV];bool Bellman(int s){    int i, j;    for(i = 1;  i <= nv; i++)        dis[i] = -inf;    dis[s] = post[s];    for(i = 1; i < nv; i++)    {        for(j = 1; j <= szEdge; j++)        { edge_t e = arrEdge[j]; if(dis[e.t] < dis[e.s]*(1 - e.w))     dis[e.t] = dis[e.s]*(1 - e.w); if(dis[e.s] < dis[e.t]*(1 - e.w))     dis[e.s] = dis[e.t]*(1 - e.w);        }    }    return true;}int main(){    int i, j, s, t;    double w;    while(scanf("%d %d", &nv, ≠)==2)    {        memset(post, 0, sizeof(post));        for(i = 1; i < nv; i++) scanf("%d", &post[i]);        szEdge = 0;        for(i = 1; i <= ne; i++)        { scanf("%d %d %lf", &s, &t, &w); ++szEdge; arrEdge[szEdge].s = s; arrEdge[szEdge].t = t; arrEdge[szEdge].w = w;        }double sum = 0;        for(i = 1; i < nv; i++)        { if(Bellman(i))     if(dis[nv]>0)         sum += dis[nv];        }        printf("%.2lfn", sum);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375518.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号