分析
考虑每一个人对答案的贡献。假设当前为第
个人,那么我们肯定可以统计出他在所有位置跑到队首的总时间
因为这个人的占位有n种情况,所以t还要除以n,所以再求一个总和即可
代码
#include<bits/stdc++.h>
#define R register
#define ll long long
#define inf INT_MAX
#define dl double
using namespace std;
const int N=1010;
int n;
dl x,v,ans=0.0;
dl f[N][N];
int main()
{
    scanf("%d%lf%lf",&n,&x,&v);
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            scanf("%lf",&f[i][j]),f[i][j]-=v;
    for (int i=1;i<=n;i++)
    {
        dl now=0.0;
        for (int j=1;j<=n;j++)
            now+=x/f[i][j];
        ans+=now;
    }
    printf("%.2lf\n",ans);
    return 0;
}

 京公网安备 11010502036488号
京公网安备 11010502036488号