zoukankan      html  css  js  c++  java
  • zoj 2770 Burn the Linked Camp 差分约束系统

    我的新博客:http://xiang578.github.io/

    #include "stdio.h"
    #include "string.h"
    #include "algorithm"
    using namespace std;
    const int inf=1<<30;
    
    struct name
    {
        int u,v,w;
    }e[25000];
    int n,m,c[10005],d[10005],dist[10005],k;
    
    int main()
    {
        int i,j,u,v,w,t;
        bool flag;
        while(~scanf("%d%d",&n,&m))
        {
            for(i=1,k=0;i<=n;i++)
            {
                scanf("%d",&c[i]);
                e[k].u=i-1;
                e[k].v=i;
                e[k].w=c[i];
                k++;
    
                e[k].u=i;
                e[k].v=i-1;
                e[k].w=0;
                k++;
    
                d[i]=d[i-1]+c[i];
            }
    
            for(i=0;i<m;i++)
            {
                scanf("%d%d%d",&u,&v,&w);
                e[k].u=v;
                e[k].v=u-1;
                e[k].w=-w;
                k++;
    
                e[k].u=u-1;
                e[k].v=v;
                e[k].w=d[v]-d[u-1];
                k++;
            }
    
            for(i=0;i<=n;i++)
            {
                dist[i]=inf;
            }
            dist[0]=0;
            dist[n]=0;
    
            for(i=0;i<n;i++)
            {
                for(j=0;j<k;j++)
                {
                    if(dist[e[j].u]!=inf&&dist[e[j].u]+e[j].w<dist[e[j].v])
                    {
                        dist[e[j].v]=dist[e[j].u]+e[j].w;
                    }
                }
            }
    
            for(i=0,flag=1; i<k; i++)
            {
                if(dist[e[i].u]!=inf&&dist[e[i].u]+e[i].w<dist[e[i].v])
                {
                    flag=0;
                    break;
                }
            }
            if(flag)
                printf("%d
    ",dist[n]-dist[0]);
            else
                printf("Bad Estimations
    ");
        }
        return 0;
    }

    我的新博客:http://xiang578.github.io/

    版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

  • 相关阅读:
    理解Python中的__init__和__new__
    Python内置数学函数
    Java实现邮箱验证
    Socket通信
    Jvm内存模型
    Java GC如何判断对象是否为垃圾
    ::符号
    替换特殊符号
    有意思的小知识
    有意思的小题目
  • 原文地址:https://www.cnblogs.com/xryz/p/4847878.html
Copyright © 2011-2022 走看看