POJ 3300 Tour de France(簡單題)
來源:程序員人生 發布時間:2014-10-16 11:54:05 閱讀次數:3352次
【題意簡述】:由The drive ratio -- the ratio of the angular velocity of the pedals to that of the wheels -- isn
: m where n is the number of teeth on the rear sprocket andm 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 ratiosd1 < 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
//236K 16Ms
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
using namespace std;
double ratio[100];
int f,r;
double front[10],rear[10];
double max_ratio;
int index;
int main()
{
while(cin>>f,f)
{
cin>>r;
for(int i=0; i<f; i++)
cin>>front[i];
for(int i=0; i<r; i++)
cin>>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
",max_ratio);
}
return 0;
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈