提交时间:2024-05-08 14:44:37

运行 ID: 29447

#include<bits/stdc++.h> using namespace std; #define int long long #define db long double int n,m; db pr[3000]; struct node{ int x[20]; db e,p; }p[300]; bool cmp(node x,node y){ return (1-y.p)*x.e<(1-x.p)*y.e; } signed main(){ // ios::sync_with_stdio(0); // auto i1=freopen("a.in","r",stdin); // auto i2=freopen("a.out","w",stdout); cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>p[j].x[i]; } } for(int i=1;i<=m;i++){ sort(p[i].x+1,p[i].x+1+m); p[i].p=1; for(int j=1;j<=m;j++){ p[i].e+=p[i].p; p[i].p*=p[i].x[j]/100.0; // printf("%.5Lf\n",p[i].e); } } sort(p+1,p+1+n,cmp); db ans=0; db q=1; for(int i=1;i<=m;i++){ ans+=q*p[i].e; q*=(1-p[i].p); } printf("%.5Lf",ans); return 0; }