zoukankan      html  css  js  c++  java
  • luogu 2294 [HNOI2005]狡猾的商人 差分约束

    一个差分约束模型,只需判一下有没有负环即可. 

    #include <bits/stdc++.h> 
    #define N 103  
    #define M 2004 
    #define setIO(s) freopen(s".in","r",stdin) 
    using namespace std;        
    int edges; 
    int hd[N],to[M],nex[M],val[M],d[N],vis[N];         
    void add(int u,int v,int c) 
    {    
        nex[++edges]=hd[u],hd[u]=edges,to[edges]=v,val[edges]=c;       
    }
    int spfa(int u) 
    {
        vis[u]=1;   
        for(int i=hd[u];i;i=nex[i]) 
        {
            int v=to[i]; 
            if(d[v]>d[u]+val[i]) 
            {
                if(vis[v]) return 1;      
                else 
                {
                    d[v]=d[u]+val[i];    
                    if(spfa(v)) return 1;  
                }
            }
        } 
        vis[u]=0; 
        return 0;   
    }
    void work() 
    {
        memset(d,0x3f,sizeof(d));  
        int n,m,i,j; 
        scanf("%d%d",&n,&m);      
        for(i=1;i<=m;++i) 
        {
            int a,b,c; 
            scanf("%d%d%d",&a,&b,&c);    
            ++b;          
            add(a,b,c), add(b,a,-c);  
        }    
        int flag=0; 
        for(i=1;i<=n+1;++i) 
        {
            if(!vis[i]) 
            {
                d[i]=0;   
                flag=spfa(i);    
                if(flag) 
                { 
                    printf("false
    ");   
                    break;   
                }
            }
        } 
        if(!flag) 
        {
            printf("true
    "); 
        }   
        edges=0;  
        memset(hd,0,sizeof(hd)); 
        memset(vis,0,sizeof(vis)); 
        memset(d,0,sizeof(d));    
    }
    int main() 
    {  
        int T,i,j; 
        // setIO("input");  
        scanf("%d",&T);   
        for(i=1;i<=T;++i) work(); 
        return 0; 
    }
    

      

  • 相关阅读:
    设置tomcat访问根路径
    关于Java抽象类的理解
    JavaIO
    synchronized关键字
    Java线程池
    Codeforces1478F-Nezzar and Nice Beatmap
    Codeforces1477B-Nezzar and Binary String
    Codeforces1476D Journey
    Codeforces1478D Nezzar and Board
    Codeforces Round #697 (Div. 3)G. Strange Beauty
  • 原文地址:https://www.cnblogs.com/guangheli/p/11586796.html
Copyright © 2011-2022 走看看