您的位置:首页 > 其它

UVA 11427 Expect the Expected

2014-08-10 22:53 281 查看
白书上的题目,我自己TLE了一发,对照代码时发现竟然是数组开大了,而且每次初始化都是用memset,,,怪不得会TLE,以后不会乱开大数组了。。。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define eps 0.000001
using namespace std;
int i,j,k,n,m,x,y,T,big,cas,pm,pz;
double ans,d[105][105],p;
bool flag;
int main()
{
scanf("%d",&T);
for (cas=1;cas<=T;cas++)
{
scanf("%d/%d %d",&pz,&pm,&n);
memset(d,0,sizeof(d));
d[0][0]=1;
p=(double)pz/pm;
for (i=1;i<=n;i++)
{
d[i][0]=d[i-1][0]*(1-p);
for (j=1;j*pm<=i*pz;j++)
{
d[i][j]=d[i-1][j]*(1-p)+d[i-1][j-1]*p;
}
}
ans=0;
for (i=0;i*pm<=n*pz;i++)
{
ans+=d
[i];
}
printf("Case #%d: %d\n",cas,(int)(1/ans));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: