hdu5245 求期望

来源:互联网 发布:淘宝入门教程 编辑:程序博客网 时间:2024/04/27 23:59
对每个格子进行讨论它k次操作后选中的概率 ,为1-每一次选不中的概率的k次方,各个格子相加即可#include <iostream>#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>#include<cmath>using namespace std;const int N=1000005; int T,n,m,k; int cas=1;int main(){#ifndef  ONLINE_JUDGE   freopen("aaa","r",stdin);#endif  scanf("%d",&T);  while(T--){      scanf("%d%d%d",&m,&n,&k);      double ans=0;      long long  r1,r2,r3,c1,c2,c3;      for(int i=1;i<=m;i++)      for(int j=1;j<=n;j++){          double ret=0;         long long  sum=0;         r2=c2=1;         r1=i-1;r3=m-i;         c1=j-1;c3=n-j;         sum+=r1*c1*(c2+c3)*(r2+r3);         sum+=r1*c2*n*(r2+r3);         sum+=r1*c3*(r2+r3)*(c1+c2);         sum+=r2*c1*m*(c2+c3);         sum+=r2*c2*n*m;         sum+=r2*c3*m*(c1+c2);         sum+=r3*c1*(r1+r2)*(c2+c3);         sum+=r3*c2*(r1+r2)*n;         sum+=r3*c3*(c1+c2)*(r1+r2);          long long tot=(long long )m*m*n*n;          sum=tot-sum;          ret=sum*1.0/tot;          ans+=1-pow(ret,k);      }      printf("Case #%d: %.0f\n",cas++,ans);  }    return 0;}

0 0
原创粉丝点击