zoukankan      html  css  js  c++  java
  • poj 2240 Arbitrage (floyd 变形)

    http://poj.org/problem?id=2240
    
    
    floyd 的变形   题意 有n个货币,他们的交换情况m个
    例如:
    3
    USDollar
    BritishPound
    FrenchFranc
    3
    USDollar 0.5 BritishPound
    BritishPound 10.0 FrenchFranc
    FrenchFranc 0.21 USDollar
    
    求出 是否存个一个增长的货币回路
    
    #include<iostream>
    #include<string>
    #include<string.h>
    #include<stdio.h>
    const double eps=1e-8;
    #define max 999999
    const int N=1000;
    using namespace std;
    int n,m;
    double dis[N],map[N][N];
    int vis[N];
    string name[N];
    int search(string a)
    {
        int i;
        for(i=0;i<n;i++)
        {
            if(name[i]==a)return i;
        }
    }
    void floyd()
    {
        int i,j,k;
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                for(k=0;k<n;k++)
                {
                    double t=map[j][i]*map[i][k];
                    if(map[j][k]<t)map[j][k]=t;
                }
            }
        }
    }
    int main()
    {
        int l=0,i;
        while(cin>>n)
        {
            if(n==0)break;
            l++;
            for(i=0;i<n;i++)
            {
                cin>>name[i];
            }
            cin>>m;
            string a,b;
            memset(map,0,sizeof(map));
            double w;
            while(m--)
            {
                cin>>a>>w>>b;
                int x=search(a);
                int y=search(b);
                map[x][y]=w;
            }
            floyd();
            int ans=0;
            for(i=0;i<n;i++)
            {
                if(map[i][i]>1.0){ans=1;break;}
            }
            if(ans)printf("Case %d: Yes\n",l);
            else printf("Case %d: No\n",l);
        }
    
    
    }
    

      

  • 相关阅读:
    idea主题更换pycharm/intellij
    随机生成n张扑克牌。
    JAVA生成6个1-8的随机数,要求无重复。
    一道简单 的循环
    linux虚拟机互访
    linux中grep命令
    vi和vim编辑器
    文件压缩打包以及备份
    文件内容查询
    目录相关操作
  • 原文地址:https://www.cnblogs.com/acSzz/p/2378358.html
Copyright © 2011-2022 走看看