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

    http://poj.org/problem?id=2240

    题意:有些人会利用货币的不用汇率来进行套现,比如1美元换0.5英镑,而1英镑又可以换10法郎,而1法郎又可以换0.21的美元,那么经过货币的汇率转换后,它就可以获得1.05倍原来的美元。

    现在给你N中货币,m种货币的汇率,求是否可以获利。

    思路:首先这个是给你一些货币,那么我们可以把货币和数字建立一个映射。然后再用他给的汇率以及数字建立一个邻接矩阵。用一次floyd后对对角线的数字进行判断,如果大于1,那么说明可以获利,不然就不能获利。

    这个题我用c++是78ms,用G++是700多ms。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <map>
     4 #include <string>
     5 #include <iostream>
     6 
     7 using namespace std;
     8 
     9 map< string , int > s;
    10 
    11 double graph[ 40 ][ 40 ];
    12 
    13 int main()
    14 {
    15   //  freopen("in.txt","r",stdin);
    16     int n,p = 0;
    17     while( cin>>n,n )
    18     {
    19         p++;
    20         memset( graph , 0 , sizeof( graph ) );
    21         string a , b;
    22         double m;
    23         int x,mark = 0;
    24         for(int i = 1 ; i <= n ; i++ )
    25         {
    26             cin>>a;
    27             s[ a ] = i;          //对货币和数字建立一个映射。
    28         }
    29         cin>>x;
    30         for( int i = 1 ; i <= x ; i++ )
    31         {
    32             cin>>a>>m>>b;
    33             graph[ s[ a ] ][ s[ b ] ] = m;
    34         }
    35         for( int k = 1 ; k <= n ; k++ )          //floyd求出两个货币间的最大汇率。
    36             for( int i = 1 ; i <= n ; i++ )
    37                 for( int j = 1 ; j <= n ; j++ )
    38                     if( graph[ i ][ j ] < graph [ i ][ k ]*graph[ k ][ j ])
    39                         graph[ i ][ j ] = graph [ i ][ k ]*graph[ k ][ j ];
    40         for(int i = 1 ; i <= n ; i++ )    //判断。
    41             if( graph[ i ][ i ] > 1 ) mark = 1; 
    42         if( mark ) printf("Case %d: Yes
    ",p);
    43         else printf("Case %d: No
    ",p);
    44     }
    45     return 0;
    46 }
  • 相关阅读:
    C#基础
    自动化测试
    C# 数据结构题目
    .NET基础知识
    Sharepoint题目
    题目总结2
    数据库索引
    题目总结(2014-1-10)
    Stack详解
    SpringBoot入门基础知识点
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5732966.html
Copyright © 2011-2022 走看看