zoukankan      html  css  js  c++  java
  • poj 1860Currency Exchange

    思路:

    bellman-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;
    }
    

      

  • 相关阅读:
    本周总结
    本周总结
    本周总结
    本周总结
    性能分析(4)
    大型网站高性能架构
    第二天大数据清洗
    性能分析(2)
    六大质量属性——性能分析(1)
    java设计模式9-代理模式
  • 原文地址:https://www.cnblogs.com/Neptunes/p/3414666.html
Copyright © 2011-2022 走看看