• poj 3259


    题意:一个图中有两种路径  1 无方向权值为政 2 有方向权值为负  问是否存在一个回路其权值为负

    思路:bellman算法

    #include<iostream>
    using namespace std;
    struct Edge
    {
        int u,v;
        int w;
    }e[15000];
    int all;
    int dist[1555];
    int n,m1,m2;
    bool bellman()
    {
        int INF=999999999;
        int i,j;
        for(i=1;i<=n;i++)
            dist[i]=INF;
        dist[1]=0;
        for(i=1;i<=n;i++)
        {
            for(j=0;j<all;j++)
            {
                if(dist[e[j].v]>(dist[e[j].u]+e[j].w))
                    dist[e[j].v]=dist[e[j].u]+e[j].w;
            }
        }
        for(j=0;j<all;j++)
        {
            if(dist[e[j].v]>(dist[e[j].u]+e[j].w))
                    return true;
        }
        return false;
    }
    int main()
    {
    
        int x,y,t,i;
        int cas;
        cin>>cas;
        while(cas--)
        {
            all=0;
            cin>>n>>m1>>m2;
            for(i=1;i<=m1;i++)
            {
                cin>>x>>y>>t;
                e[all].u=x;e[all].v=y;e[all].w=t;all++;
                e[all].u=y;e[all].v=x;e[all].w=t;all++;
                
            }
            for(i=1;i<=m2;i++)
            {
                cin>>x>>y>>t;
                e[all].u=x;e[all].v=y;e[all++].w=t*(-1);
            }
            if(bellman())
                cout<<"YES"<<endl;
            else cout<<"NO"<<endl;
        }
        return 0;
    }
  • 相关阅读:
    [HNOI2002]营业额统计 (Splay)
    [POJ1664] 放苹果 (动态规划,组合数学)
    [AHOI2009]维护序列 (线段树)
    类型转换求和
    懒人创造方法
    编程的精义
    10-instanceof
    9-接口
    6-SUPER关键字
    5-重写与重载
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/3768606.html
Copyright © 2020-2023  润新知