zoukankan      html  css  js  c++  java
  • poj3259Wormholes

    题目链接:http://poj.org/problem?id=3259

    用bellman-ford判负环。

     1 #include<cstdio>
     2 #include<cstring>
     3 const int maxn=520;
     4 const int maxe=6000;
     5 const int inf=0x3f3f3f3f;
     6 int t,n,m,w;
     7 int u,v,c;
     8 int dis[maxn];
     9 struct node
    10 {
    11     int u,v,w,nex;
    12 }e[maxe];
    13 
    14 bool bellman()
    15 {
    16     int flag=1;
    17     for(int i=0;i<=n;i++){
    18         dis[i]=inf;
    19     }
    20         dis[1]=0;
    21     for(int i=0;i<n;i++)
    22     {
    23         flag=0;
    24         for(int j=0;j<m;j++)
    25             if(dis[e[j].v]>dis[e[j].u]+e[j].w){
    26                 dis[e[j].v]=dis[e[j].u]+e[j].w;
    27             flag=1;
    28         }
    29 
    30         if(!flag) break;
    31         if(i==n-1) return 1;
    32 
    33     }
    34     return 0;
    35 
    36 }
    37 
    38 int main()
    39 {
    40     scanf("%d",&t);
    41     while(t--)
    42     {
    43 
    44         scanf("%d%d%d",&n,&m,&w);
    45         for(int i=0;i<m;i++)
    46         {
    47             scanf("%d%d%d",&u,&v,&c);
    48             e[i].u=u;
    49             e[i].v=v;
    50             e[i].w=c;
    51             e[i+m].u=v;
    52             e[i+m].v=u;
    53             e[i+m].w=c;
    54         }
    55         m<<=1;
    56         for(int i=m;i<w+m;i++)
    57         {
    58             scanf("%d%d%d",&u,&v,&c);
    59             e[i].u=u;
    60             e[i].v=v;
    61             e[i].w=-c;
    62         }
    63         m+=w;
    64         if(bellman()) puts("YES");
    65         else puts("NO");
    66     }
    67 }
  • 相关阅读:
    克罗谈投资策略14
    克罗谈投资策略13
    克罗谈投资策略12
    克罗谈投资策略11
    克罗谈投资策略10
    克罗谈投资策略09
    克罗谈投资策略08
    克罗谈投资策略07
    克罗谈投资策略06
    克罗谈投资策略05
  • 原文地址:https://www.cnblogs.com/yijiull/p/6615927.html
Copyright © 2011-2022 走看看