zoukankan      html  css  js  c++  java
  • uvaoj104

    题意

    几个国家的汇率已知,通过几次转换,使汇率超过1.01,赚便宜。这个题目和floyd原理很像,所以用动归里的floyed即可。代码如下

    代码

    #include<iostream>
    #include<string.h>
    #define N 25
    using namespace std;
    
    double dp[N][N][N];
    int p[N][N][N];
    int n;
    
    void print(int i, int j, int s )
    {
        if( s == -1)
        {
            cout << i + 1 ;
            return;
        }
        print( i, p[i][j][s],s - 1);
        cout << ' ' << j + 1 ;
        return;
    }
    
    void bfs()
    {
        int s, m;
        for( s = 1; s < n; s++ )
        {
            for( int k = 0; k < n; k++ )
                for (int i = 0; i < n; i++)
                    for (int j = 0; j < n; j++ )
                    {
                        double temp = dp[i][k][s-1]*dp[k][j][0];              //第一次运行不通过,因为这里错了,dp[k][j][0],而不是dp[k][j][s-1]!!!
                        if (dp[i][j][s] < temp)
                        {
                            dp[i][j][s] = temp;
                            p[i][j][s] = k;
                        }
                    }
            int i;
            for( i = 0; i < n; i++ )
                if( dp[i][i][s] > 1.01 )
            {
                m = i;
                break;
            }
           if( i < n)
            break;
        }
         if( s >= n)
            cout << "no arbitrage sequence exists" ;
        else
            print( m, m, s);
            cout << endl;
    }
    
    int main()
    {
        while( cin >> n)
        {
            memset(dp,0,sizeof(dp));
            memset(p,0,sizeof(p));
            for(int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
            {
                if(i==j)
                    dp[i][j][0]=1;
                else cin >> dp[i][j][0];
                p[i][j][0] = j;
            }
    
            bfs();
        }
        return 0;
    }
    
  • 相关阅读:
    表单序列化
    创建.ignore文件
    头条数学救火队长马丁的一道中山大学研究生入学考试数学分析题
    实数理论
    方法
    目标
    闭区间有限覆盖定理
    零值定理的确界原理证明方法,来自百度
    各种范例
    零值定理
  • 原文地址:https://www.cnblogs.com/cyno/p/4309819.html
Copyright © 2011-2022 走看看