码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3300 Tour de France(简单题)

时间:2014-09-26 21:24:18      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   os   ar   for   sp   art   

【题意简述】:由The drive ratio -- the ratio of the angular velocity of the pedals to that of the wheels -- is n : m where n is the number of teeth on the rear sprocket and m is the number of teeth on the front sprocket. Two drive ratios d1 < d2 are adjacent if there is no other drive ratio d1 < d3 < d2. The spread between a pair of drive ratios d1 < d2 is their quotient: d2 ? d1. You are to compute the maximum spread between two adjacent drive ratios achieved by a particular pair of front and rear clusters.我们可以知道,这个ratios等于n/m,然后d(从1……n)就是每一个ratios的值,现在让我们求最大的di/d(i-1)的值。

【分析】:有些题就是这样,只要我们理解了题意就可以很快的A掉,但如果不理解题意,就……

代码来自:http://www.cnblogs.com/eric-blog/archive/2011/06/01/2067441.html

//184K 16Ms
#include <cstdio>
#include <algorithm>
 
using namespace std;
 
float ratio[100];
int f,r;
float front[10],rear[10];
float max_ratio;
int index;
 
int main()
{
    while(scanf("%d",&f)!=EOF && f)
    {
        scanf("%d",&r);
        for(int i=0; i<f; i++)
            scanf("%f",&front[i]);
        for(int i=0; i<r; i++)
            scanf("%f",&rear[i]);
        index=0;
        for(int i=0; i<r; i++)
        {
            for(int j=0; j<f; j++)
            {
                ratio[index++]=rear[i]/front[j];
            }
        }
        sort(ratio,ratio+index);
        for(int i=0; i<index-1; i++)
            ratio[i]=ratio[i+1]/ratio[i];
        max_ratio=0.0;
        for(int i=0; i<index-1; i++)
        {
            if(max_ratio<ratio[i])
                max_ratio=ratio[i];
        }
        printf("%.2f\n",max_ratio);
 
    }
    return 0;
}


POJ 3300 Tour de France(简单题)

标签:style   blog   http   io   os   ar   for   sp   art   

原文地址:http://blog.csdn.net/u013749862/article/details/39578933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!