zoukankan      html  css  js  c++  java
  • poj3259 Wormholes

    用bellman_ford判断图中有无负环。可假设存在某一源点到各点距离为0,即初始化数组value为零。

    数据里边的数貌似不止2500,最开始数组开小了结果RE。

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #define MAXD 510
    using namespace std;
    int F,N,M,W,S,E,T;
    struct NODE
    {
        int v1;
        int v2;
        int d; //d为边权值
    }node[10*MAXD]; //用node记录边
    
    int bellman_ford()
    {
        int value[N+1];
        memset(value,0,sizeof(value));
        int i,j;
        int t=N;
        int u,v,d;
        while(t--)
        {
            for(i=0;i<(2*M+W);i++)
            {
                u=node[i].v1;
                v=node[i].v2;
                d=node[i].d;
                if(value[v]>value[u]+d)
                value[v]=value[u]+d;
            }
        }
        for(i=0;i<(2*M+W);i++)
        {
            u=node[i].v1;
            v=node[i].v2;
            d=node[i].d;
            if(value[v]>value[u]+d)
            return 0;
        }
        return 1;
    }
    int main()
    {
        //freopen("test.txt","r",stdin);
        scanf("%d",&F);
        while(F--)
        {
            scanf("%d%d%d",&N,&M,&W);
            int i,j=0; //j用来记录第几条边
            for(i=0;i<M;i++)
            {
                scanf("%d%d%d",&S,&E,&T);
                node[j].v1=S;
                node[j].v2=E;
                node[j].d=T;
                j++;
                node[j].v1=E;
                node[j].v2=S;
                node[j].d=T;
                j++;
            }
            for(i=0;i<W;i++)
            {
                scanf("%d%d%d",&S,&E,&T);
                node[j].v1=S;
                node[j].v2=E;
                node[j].d=(-1)*T;
                j++;
            }
            int ans;
            ans=bellman_ford();
            if(!ans)
            printf("YES\n");
            else
            printf("NO\n");
        }
    }
  • 相关阅读:
    185. [USACO Oct08] 挖水井
    JavaEE Tutorials (9)
    vjudge A
    HDU 2089 不要62
    国庆 day 2 下午
    国庆 day 2 上午
    国庆 day 1 下午
    P2899 [USACO08JAN]手机网络Cell Phone Network
    洛谷 P1690 贪婪的Copy
    洛谷 P2209 [USACO13OPEN]燃油经济性Fuel Economy
  • 原文地址:https://www.cnblogs.com/longlongagocsu/p/2825778.html
Copyright © 2011-2022 走看看