您的位置:首页 > 其它

hdu5245 求期望

2015-07-24 20:01 405 查看
对每个格子进行讨论它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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: