CodeM2017初赛A.身体训练


哇的一声哭了出来……

考试没看懂题,问了已经A了的dalao终于看懂了题,之后又用看不懂题的错误解析在哪里推……之后就GG了。

菜鸡真的要退役了#哇的一声哭了出来


题目大意

美团外卖的配送员用变速跑的方式进行身体训练。
他们训练的方式是:n个人排成一列跑步,前后两人之间相隔 u 米,每个人正常速度均为 v 米/秒。
当某个配送员排在最后的时候,他需要以当时自己的最高速度往前跑,直到超过排头的人 u 米,然后降回到原始速度 v 米/秒。每个人最初的最高速度为c[i] 米/秒,每轮衰减d[i] 米/秒,也就是说,如果i是第j个跑的,那么他的速度就是c[i]-(j-1)*d[i] 米/秒。
n个人初始以随机的顺序排列,每种顺序的概率完全相等,跑完一轮(每个人都追到排头一次,序列恢复原样)的期望需要的时间是多少?

输入描述:

#include <cstdio>
int n;
double v,u,c[1010],d[1010],ans;
int main()
{
    scanf("%d%lf%lf",&n,&v,&u);
    for(int i=1;i<=n;++i)scanf("%lf",c+i);for(int i=1;i<=n;++i)scanf("%lf",d+i);
    for(int i=1;i<=n;++i) for(int j=0;j<n;++j) ans+=(u*n)/(c[i]-j*d[i]-v);
    printf("%.3lf",ans/n);
    return 0;
}

 

声明:TonyZhao's Home|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - CodeM2017初赛A.身体训练


不骗了,不骗了。
A Simple OIer fighting tooth and nail.