题目链接:http://lightoj.com/volume_showproblem.php?problem=1265

题目大意:有一个生存游戏,里面t只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,现在有以下规则 
1.老虎和老虎碰面,两只老虎就会同归于尽 
2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 
3.人和鹿碰面,人可以选择吃或者不吃该鹿 
4.鹿和鹿碰面,相安无事 
问人存活下来的概率

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

如果老虎的数量是奇数,那么人总有一天会被吃掉的 
如果老虎的数量是偶数,那就算一下所有老虎同归于尽的概率,这个概率就是人存活下来的概率了 
鹿可以忽略不计。在时间无限的情况下,老虎没死光的话,鹿总有一天是会被全部吃掉的

当老虎的数量是偶数是:总情况就是在tiger+1(老虎和人)里面选两个碰面C(tiger+1, 2);两只老虎碰面的情况是C(tiger, 2),

所以两只老虎碰面的概率是(tiger-1)/(tiger+1);

#include <cstring>
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <stack>
#include <vector>
#include <queue>
using namespace std;
#define N 105
#define met(a, b) memset(a, b, sizeof(a))
#define MOD 110119 typedef long long LL; int main()
{
int T, t = ; scanf("%d", &T); while(T--)
{
int tiger, deer;
scanf("%d %d", &tiger, &deer);
if(tiger == ) ///没有老虎,一定能存活;
printf("Case %d: 1\n", t++);
else if(tiger% == ) ///奇数个老虎,一定不能存活;
printf("Case %d: 0\n", t++);
else
{
double ans = 1.0;
while(tiger)
{
ans *= (tiger-1.0)/(tiger+1.0);
tiger -= ;
}
printf("Case %d: %.6f\n", t++, ans);
}
}
return ;
}

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(概率)

    题目链接...我找不着了 \(Description\) 岛上有t只老虎,1个人,d只鹿.每天随机有两个动物见面 1.老虎和老虎碰面,两只老虎就会同归于尽: 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉 ...

  4. [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 ...

  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. Kali linux 试用:dnsenum

    dnsenum的目的是尽可能收集一个域的信息,它能够通过谷歌或者字典件猜测可能存在的域名,以及对一个网段进行反向查询.它可以查询网站的主机地址信息.域名服务器.mx record(函件交换记录),在域 ...

  2. Splash Lua 脚本

    Splash 可以通过 Lua 脚本执行一系列渲染操作,这样我们就可以用 Splash 来模拟浏览器的操作了,Splash Lua 基础语法如下: function main(splash, args ...

  3. [C] include <filename> 和 include "filename" 的区别

    在 C 语言中包含语句 #include <filename> 和 #include "filename" 的区别在于编译器的偏好,一般来说,使用双引号表示优先搜索当前 ...

  4. DOM的学习

    今天学习了DOM,感觉学习起来真的没那么简单啦,这不是一个好现象啊,只有依靠自己大补课,嘿嘿,具体的总结了一下,今天学习的其实并不多,仅仅学习了不同的节点类型,但是知识还是蛮碎的,要一点一点的总结,昨 ...

  5. 【技术分享会】 @第七期 android开发基础

    前言 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发. Android 软件系列包括操作系统.中间 ...

  6. sass - 公用方法封装

    // 设置宽高 @mixin wh($wid,$hei){ @if $wid { width: $wid; } @if $hei { height: $hei; } overflow: hidden; ...

  7. how-to-build-c-static-libraries-boost

    http://tungchingkai.blogspot.jp/2016/11/how-to-build-c-static-libraries-boost.html How to build C++ ...

  8. SharePoint 2013部署自定义HttpModule访问SPContext.Current的一个问题

    如果文档库post提交文档时,自定义HttpModule正好有代码访问SPContext.Current属性则会导致上传文档失败.

  9. Android.mk 用法介绍

    一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个 ...

  10. 【BZOJ1294】[SCOI2009]围豆豆Bean 射线法+状压DP+SPFA

    [BZOJ1294][SCOI2009]围豆豆Bean Description Input 第一行两个整数N和M,为矩阵的边长. 第二行一个整数D,为豆子的总个数. 第三行包含D个整数V1到VD,分别 ...