思路:
对于一个人他可以在1~n的各个位置,总共有n给人,所以有n*n种可能,算出每个人在各个位置从最后跑到最前面的时间,最后除以n
#include<bits/stdc++.h>
using namespace std;
int main()
{
double n,v,u;
double c[1001];
double d[1001];
cin>>n>>v>>u;
for(int i=1;i<=n;i++)
{
cin>>c[i];
}
for(int i=1;i<=n;i++)
{
cin>>d[i];
}
double ans = 0;
for(int i=1;i<=n;i++)//总共有个人
{
for(int j=1;j<=n;j++) //枚举每个人的位置,比如a,他可能在1~n的各个位置
{
ans+=n*u/(c[i]-(j-1)*d[i]-v);//这里要减v,因为每个人都在跑啊,算相对速度
}
}
ans/=n;
printf("%.3f\n",ans);
return 0;
}