lightoj 1265 概率

来源:互联网 发布:java开发网页小游戏 编辑:程序博客网 时间:2024/05/29 10:12

题意:在孤岛生存, 孤岛上有t头老虎,d头鹿,每天会出现随机出现两只生物(包括你自己),如果出现了一只老虎,那么你将被吃掉, 如果两只老虎, 则两只老虎会同归于尽,其他情况你都将生存下来。当孤岛上没有老虎时, 就视为你生存成功。问生存成功的最大概率


如果t只老虎是一个奇数, 那么必然存活失败

如果是偶数,两只老虎遇见的情况数:t * (t - 1)

概率P = t * (t - 1) / (t * (t + 1)) = (t - 1) / (t + 1)

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <vector>#define rep(i, j, k) for(int i = j; i <= k; i++)#define maxn 100009using namespace std;int tiger, deer;int main()  {  int t, ca = 0;cin >> t;    while(t--)      {         scanf("%d%d",&tiger,&deer);         printf("Case %d: ",++ca);         double ans=1;         if(tiger&1)           printf("0.00000000\n");     else   {      while(tiger>0)   ans *= (tiger - 1) * 1.0 / (tiger + 1) * 1.0, tiger-=2;         printf("%.7lf\n",ans);     }    }      return 0;  }


0 0
原创粉丝点击