题解:P16197 [ROIR 2014 Day 2] Lights 红绿灯
Code_to_Win · · 题解
题解:P16197 [ROIR 2014 Day 2] Lights 红绿灯
为了描述方便,我们设帕霍姆(p)通过的第一个绿灯的亮起时刻为 0 时刻(而不是他通过第一个红绿灯的时间)。
题目询问在两红绿灯之间的最大平均速度,且该速度必须小于等于 1000 米每分钟。
p 可能在
知道了这个,我们就可以很轻松得写出代码了:
AC Code
#include<bits/stdc++.h>
#define int double
using namespace std;
signed main(){
int a,b,x; cin>>a>>b>>x;
int v1=1.0*x/a,v2;
if(v1<=1000){
cout<<1000<<endl;
return 0;
}
for(int i=1;v1>1000;i++){
v2=x/(i*(a+b)-a);
v1=x/(i*(a+b)+a);
}
printf("%.10lf",min(1000.0,v2));
return 0;
}
题解来之不易,点个赞再走吧……