LightOJ 1265 概率

来源:互联网 发布:济南seo外包公司 编辑:程序博客网 时间:2024/05/16 16:16

题意:

有 t只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,现在有以下规则
老虎不管碰到谁都吃掉,同类的话就同归于尽,其他两个生物忽略不计

问人存活下来的概率


题解:

人生存下来的条件就是不被老虎吃掉,所以只要所有的老虎都同归于尽即可

如果老虎的数量是奇数,此人会死,如果老虎的数量是偶数,那就算一下所有老虎同归于尽的概率,这个概率就是人存活下来的概率了
当老虎的数量是偶数是:总情况就是在tiger + 1(老虎和人)里面选两个碰面C(tiger + 1, 2); 两只老虎碰面的情况是C(tiger, 2),所以两只老虎碰面的概率是(tiger - 1) / (tiger + 1)



#include<math.h>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int main(){    int n,d,T;    int cases=1;    //freopen("in.txt","r",stdin);    scanf("%d",&T);    while(T--)    {        double ans=0;        scanf("%d%d",&n,&d);        if(n%2==0){            ans=1;            while(n)            {                ans*=(n-1)*1.0/(n+1);                n-=2;            }        }        printf("Case %d: %.7lf\n",cases++,ans);    }    return 0;}


原创粉丝点击