zoukankan      html  css  js  c++  java
  • poj1860 Currency Exchange

    与poj2240很像。大概题意是Nick有某种货币S,数量为V,总共有N种货币兑换(包括S),有M个交易点,每个交易点只兑换某两种货币,可能有几个交易点交易相同的货币,即两点之间可能存在几条权值不同的边。问是否有可能通过多次兑换使Nick手中的S货币增值。

    对图中的所有边进行松弛,如果在一次松弛所有边的操作中,对任意一点都没有增值作用,而此时d[S](S的数量)仍然小于等于V,则说明没有可能通过兑换使S增值。

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #define MAXD 110
    using namespace std;
    int N,M,S,count;
    double V,d[MAXD];
    struct Edge
    {
        int u;
        int v;
        double r;
        double c;
    }edge[MAXD];
    
    int bellman()
    {
        int i;
        double t;
        bool flag;
        while(d[S]<=V)
        {
            flag=false;
            for(i=0;i<count;i++)
            {
                t=(d[edge[i].u]-edge[i].c)*edge[i].r;
                if(d[edge[i].v]<t)
                {
                    d[edge[i].v]=t;
                    flag=true;
                }
            }
            if(!flag)
            return 0;
        }
        return 1;
    }
    int main()
    {
        //freopen("test.txt","r",stdin);
        scanf("%d%d%d%lf",&N,&M,&S,&V);
        int i,j,a,b,t;
        double r_1,c_1,r_2,c_2;
        count=0;
        for(i=1;i<=M;i++)
        {
            scanf("%d%d%lf%lf%lf%lf",&a,&b,&r_1,&c_1,&r_2,&c_2);
            edge[count].u=a;
            edge[count].v=b;
            edge[count].r=r_1;
            edge[count].c=c_1;
            count++;
            edge[count].u=b;
            edge[count].v=a;
            edge[count].r=r_2;
            edge[count].c=c_2;
            count++;
        }
        for(i=1;i<=N;i++)
        d[i]=0;
        d[S]=V;
        if(bellman())
        printf("YES\n");
        else
        printf("NO\n");
        return 0;
    }
  • 相关阅读:
    微软Silverlight 2.0 最新版本GDR发布
    POJ 2635, The Embarrassed Cryptographer
    POJ 3122, Pie
    POJ 1942, Paths on a Grid
    POJ 1019, Number Sequence
    POJ 3258, River Hopscotch
    POJ 3292, Semiprime Hnumbers
    POJ 2115, C Looooops
    POJ 1905, Expanding Rods
    POJ 3273, Monthly Expense
  • 原文地址:https://www.cnblogs.com/longlongagocsu/p/2841813.html
Copyright © 2011-2022 走看看