现在的位置: 首页 > 综合 > 正文

B – Candy

2013年04月27日 ⁄ 综合 ⁄ 共 348字 ⁄ 字号 评论关闭

B -
Candy

卡时间卡的好厉害啊

枚举公式OK


#include<cstdio>
#include<cmath>

int main()
{
    int n,id=0;
    double p,q,cp,cq;
    while(~scanf("%d%lf",&n,&p))
    {
        q=1-p;
        cq=cp=1;
        int i,last=n+1;
        double ans=0;
        for(i=0;i<n;i++)
        {
            if(i)
            {
                cp = cp * (n+i) * p / i;
                cq = cq * (n+i) * q / i;
                while(cp>n || cq>n)
                {
                    cp *= q;
                    cq *= p;
                    last --;
                }
            }
            ans += (n-i) * cq * pow(p,last);
            ans += (n-i) * cp * pow(q,last);
        }
        printf("Case %d: %.6f\n",++id,ans);
    }
    return 0;
}

抱歉!评论已关闭.