zoukankan      html  css  js  c++  java
  • poj 3259Wormholes

    思路:

    blleman—ford检验负回路

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    struct infor{
        int from;
        int to;
        double r;
        double c;
    };
    infor es[20008];
    double dis[200],v;
    int enu,n,s;
    bool bellman()
    {
        memset(dis,0,sizeof(dis));
        dis[s]=v;
        for(int i=0;i<n;i++){
            for(int j=0;j<enu;j++){
                infor e=es[j];
                if(dis[e.to]<(dis[e.from]-e.c)*e.r){
                    dis[e.to]=(dis[e.from]-e.c)*e.r;
                    if(i==n-1)return true;
                }
            }
        }
        return false;
    }
    int main()
    {
        int m,a,b;
        enu=0;
        double rab,cab,rba,cba;
        cin>>n>>m>>s>>v;
        for(int i=0;i<m;i++){
            cin>>a>>b>>rab>>cab>>rba>>cba;
            es[enu].from=a;
            es[enu].to=b;
            es[enu].r=rab;
            es[enu++].c=cab;
            es[enu].from=b;
            es[enu].to=a;
            es[enu].r=rba;
            es[enu++].c=cba;
        }
        if(bellman())
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
  • 相关阅读:
    解析XML
    事务
    js小工具
    plsql用过的流程语句
    查询语句
    存储过程
    用过的CRT命令
    mysql常用命令
    Spirng MVC demo 完整示例01 环境搭建
    jmeter多个http请求串联
  • 原文地址:https://www.cnblogs.com/Neptunes/p/3414675.html
Copyright © 2011-2022 走看看