题目链接...我找不着了

\(Description\)

岛上有t只老虎,1个人,d只鹿。每天随机有两个动物见面

1.老虎和老虎碰面,两只老虎就会同归于尽;

2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方;

3.人和鹿碰面,人可以选择吃或者不吃该鹿;

4.鹿和鹿碰面,相安无事;

求最后人活下来的最大期望概率。

\(Solution\)

人要活下来,一定是所有的老虎都死亡,而老虎只能和老虎两两同归于尽。

所以如果老虎数量为奇数,那鹿总有一天会被吃完,人一定不能存活;

如果老虎数量为偶数,则考虑老虎同归于尽的概率即可。

因为鹿不会对人和老虎的数量产生任何影响,只有老虎对人存活产生影响;老虎唯一死亡的方式就是两只老虎碰面。

所以可以忽略鹿。在无限时间里,只要有老虎,鹿是一定被吃光的。

计算:不考虑鹿,总的可能数是C[t+1,2],即老虎和人中选2个;

从t个老虎中选择两个的总数是C[t,2]。所以每次两只老虎同归于尽的概率是 C[t,2]/C[t+1,2] = (t-1)/(t+1)

答案就是所有概率相乘。(老虎的数量是一直在改变的)

从题目出发对问题进行简化。

#include<cstdio>
#include<cctype>
using namespace std; inline int read()
{
int now=0;register char c=getchar();
for(;!isdigit(c);c=getchar());
for(;isdigit(c);now=now*10+c-'0',c=getchar());
return now;
} int main()
{
int ts=read(),ks=0,t,d;
double ans;
while(ts--)
{
t=read(),d=read();
if(t&1)
{
printf("Case %d: 0\n",++ks);
continue;
}
ans=1.0;
while(t)
{
ans*=1.0*(t-1)/(t+1);
t-=2;
}
printf("Case %d: %.7lf\n",++ks,ans);
} return 0;
}

LightOJ.1265.Island of Survival(概率)的更多相关文章

  1. LightOJ - 1265 Island of Survival —— 概率

    题目链接:https://vjudge.net/problem/LightOJ-1265 1265 - Island of Survival    PDF (English) Statistics F ...

  2. LightOJ - 1265 Island of Survival (概率dp)

    You are in a reality show, and the show is way too real that they threw into an island. Only two kin ...

  3. [LightOJ 1265] Island of Survival

    Island of Survival You are in a reality show, and the show is way too real that they threw into an i ...

  4. LightOj 1265 - Island of Survival(概率)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1265 题目大意:有一个生存游戏,里面t只老虎,d只鹿,还有一个人,每天都要有两个生物碰 ...

  5. LightOJ - 1265 Island of Survival 期望

    题目大意:有一个生存游戏,里面t仅仅老虎,d仅仅鹿,另一个人,每天都要有两个生物碰面,如今有下面规则 1.老虎和老虎碰面.两仅仅老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人 ...

  6. LightOJ 1065 Island of Survival (概率DP?)

    题意:有 t 只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,1.老虎和老虎碰面,两只老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人和鹿碰面,人可以选择杀或者不杀该鹿4. ...

  7. Island of Survival 概率

    #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...

  8. LightOj:1265-Island of Survival

    Island of Survival Time Limit: 2 second(s) Memory Limit: 32 MB Program Description You are in a real ...

  9. LightOJ - 1265 (概率)

    题意: 1.两只老虎相遇 就互相残杀 2.老虎与鹿相遇 鹿死 3.老虎与人相遇 人死 4.人与鹿相遇     鹿死 5.鹿与鹿相遇     无果 求人活的概率 解析:如果老虎为0  则人活得概率为1 ...

随机推荐

  1. C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)

    运算符重载 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.重载的运算符是遵循函数重载的选择原则,根据不同类型或不同参数来选择不同的重载运算符. 运 ...

  2. 如何用nodejs创建一个webservice

    Posted on March 25th, 2012 under Express.js, Node.jsTags: Express.js, git, GitHub, node.js Looking f ...

  3. select 不要 用*

    背景 说实在的,这有什么好记录的呢.记录这个有啥用,真是技术人员的吹毛求疵.说起来,就是给人装有用吧.既然记录了,也想个相关的段子吧.曾经有个同事写了个sql,效率极差,来了个女同事,竟然解决了,问题 ...

  4. CentOS6.5编译安装Nginx1.8.1+MySQL5.5.48+PHP5.2.17+xcache3.2+ZendOptimizer-3.3.9

    一.安装Nginx: 1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries& ...

  5. js学习、备忘

    字符串使用单引号’abc’.(双引号也行.推荐:html→双引号,js→单引号)===严格等于.!==严格不等于if(x)  当x为undefined.null和0的时候都为false:需注意当x为0 ...

  6. jquery----扩展事件

    常用事件 blur([[data],fn]) 失去焦点 focus([[data],fn]) 获取焦点( 搜索框例子) change([[data],fn]) 当select下拉框中的元素发生改变的时 ...

  7. python 全栈开发,Day107(CRM初始,权限组件之权限控制,权限系统表设计)

    一.CRM初始 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销 ...

  8. MVCJSONJQuery分页实现

    思路: 1.用Ado.NET获取数据 2.控制器中创建一个方法参数为搜索条件 3.返回前台一个Json对象,把对象用一个类封装 4.用JQuery接收数据 public ActionResult In ...

  9. Oracle 11.2.0.4 For Windows 64bit+32bit 数据库

    1.Oracle11G 32BIT介质官方链接 适用于Windows 32bit的Oracle Database 11G 第2版U4(11.2.0.4)Oracle11.2.0.4  Windows3 ...

  10. Android开发之实现多次点击事件

    在Android中给我们提供了单次点击事件.但并没有给我们提供双击,或者实现在一定时间内的多次事件.所以需要我们自己在单机监听上进行修改实现. 有如下两种实现方式: 1.定义一个存贮上一个第一次点击的 ...