链接:

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1432

题意:

有这么一个电视节目:你的面前有3个门,其中两扇门里是奶牛,另外一扇门里则藏着奖品——一辆豪华小轿车。
在你选择一扇门之后,门并不会立即打开。这时,主持人会给你个提示,
具体方法是打开其中一扇有奶牛的门(不会打开你已经选择的那个门,即使里面是牛)。
接下来你有两种可能的决策:保持先前的选择,或者换成另外一扇未开的门。
当然,你最终选择打开的那扇门后面的东西就归你了。
在这个例子里面,你能得到轿车的概率是2/3(难以置信吧!),方法是改变自己的选择。
2/3这个数是这样得到的:如果选择了两个牛之一,你肯定能换到车前面的门,因为主持人已经让你看了另外一个牛;
而如果你开始选择的就是车,就会换成剩下的牛并且输掉奖品。由于你的最初选择是任意的,因此选错的概率是2/3。
也正是这2/3的情况让你能换到那辆车(另外1/3的情况你会从车切换到牛)。
现在把问题推广一下,假设有a头牛,b辆车(门的总数为a+b),
在最终选择前主持人会替你打开c个有牛的门(1≤a≤10000,1≤b≤10000,0≤c<a),
输出“换门”的策略下,赢得车的概率。

分析:

使用全概率公式。打开c个牛门后,还剩a-c头牛,未开的门总数是a+b-c,
其中有a+b-c-1个门可以换(称为“可选门”),换到车门的概率就是“可选门中车门的个数”除以“可选门”的总数。
情况1:一开始选了牛(概率为a / (a+b)),则可选门中车门有b个。这种情况的概率为a/(a+b) * b/(a+b-c-1)。
情况2:一开始选了车(概率为b / (a+b)),则可选门中车门有b-1个,概率为b/(a+b) * (b-1)/(a+b-c-1)。
加起来得(ab+b(b-1)) / ((a+b)(a+b-c-1))。

代码:

 import java.io.*;
import java.util.*; public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(new BufferedInputStream(System.in)); while(cin.hasNext()) {
int a = cin.nextInt();
int b = cin.nextInt();
int c = cin.nextInt();
double ans = 1.0 * (a*b + b*(b-1)) / (a+b) / (a+b-c-1);
System.out.printf("%.5f\n", ans);
}
cin.close();
}
}

UVa 10491 - Cows and Cars(全概率)的更多相关文章

  1. UVa 10491 Cows and Cars (概率&广义三门问题 )

    10491 - Cows and Cars Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...

  2. UVa 10491 - Cows and Cars

    題目:有m+n個們,每個門後面有牛或者車:有n仅仅牛,m輛車,你選擇当中1個: 然後打開当中的k你沒有選中的門後是牛的,問你改變選時得到車的概率. 說明:數學題,概率.全概率公式就可以: 說明:第10 ...

  3. UVA 10491 Cows and Cars (全概率公式)

    #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...

  4. UVA10491 - Cows and Cars(概率)

    UVA10491 - Cows and Cars(概率) 题目链接 题目大意:给你n个门后面藏着牛.m个门后面藏着车,然后再给你k个提示.在你作出选择后告诉你有多少个门后面是有牛的,如今问你作出决定后 ...

  5. 10491 - Cows and Cars

    描述:要么全选择牛,要么选择一辆车和p-1头牛,那么剩下n+m-p道门可以选择,求选择p道门以后要选择到车的概率 #include <cstdio> int main() { //freo ...

  6. Cows and Cars UVA - 10491 (古典概率)

    按照题目的去推就好了 两种情况 1.第一次选择奶牛的门  概率是 a/(a+b) 打开c扇门后  除去选择的门 还剩 a-1-c+b扇门  则选到车的概率为b/(a-1-c+b) 2.第一次选择车的门 ...

  7. AC自动机+全概率+记忆化DP UVA 11468 Substring

    题目传送门 题意:训练指南P217 分析:没有模板串也就是在自动机上走L步,不走到val[u] == v的节点的概率 PS:边读边insert WA了,有毒啊! #include <bits/s ...

  8. Tribles UVA - 11021(全概率推论)

    题意: 有k只麻球,每只只活一天,临死之前可能会出生一些新的麻球, 具体出生i个麻球的概率为P,给定m,求m天后麻球全部死亡的概率. 解析: 从小到大,先考虑一只麻球的情况  设一只麻球m天后全部死亡 ...

  9. 紫书 例题 10-10 UVa 10491(概率计算)

    公式很好推,表示被高中生物遗传概率计算虐过的人 这个公式简直不需要动脑 #include<cstdio> using namespace std; int main() { double ...

随机推荐

  1. [PY3]——创建多值映射字典?/defaultdict默认字典/setdefault()

    Defaultdict 默认字典 collections 模块中的 defaultdict(默认字典),可以用来构造“一个键映射多个值”这样的字典 如果你想保持元素的插入顺序就应该使用list, 如果 ...

  2. WeUI logo专为微信设计的 UI 库 WeUI

    http://www.oschina.net/p/weui?fromerr=FnwHyWAb http://weui.github.io/weui/

  3. Asp.net core如何使用Session

    转自:https://tahirnaushad.com/2017/08/18/asp-net-core-session-state/ Asp.net core使用session: 在nuget 安装M ...

  4. 实现把dgv里的数据完整的复制到一张内存表

    /// <summary> /// 方法实现把dgv里的数据完整的复制到一张内存表 /// </summary> /// <param name="dgv&qu ...

  5. Java 基础(4)——常量 & 注释

    hello 呀,今天的内容超简单( ̄︶ ̄)↗并且,还有暗藏福利哟~~ 常量 常量 就是常常不变的量,第一次定义之后,就不会发生改变了.可能这就是 “常量” 的来源吧哈哈哈(玩笑). 一般来说,常量的定 ...

  6. MyBatis_注解式开发

    一.注解式开发 mybatis的注解主要替换映射文件. 二.基础语法 注解首字母大写,因为注解与类.接口是同一级别的(类同一层级的:类,接口,注解,枚举).一个注解,后台对应着一个@interface ...

  7. maven仓库中的LastUpdated文件删除脚本

    cleanLastUpdated.bat(windows版本) @echo off rem create by NettQun rem 这里写你的仓库路径 set REPOSITORY_PATH=D: ...

  8. json转换工具类

    using System;using System.Collections.Generic;using System.Text;using Newtonsoft.Json;using System.I ...

  9. 转动的八卦图纯css实现

      这类的东西网上一搜就是大把的,看着比较空旷的博客,所以自己也来写一个. <!DOCTYPE html> <html> <head> <meta chars ...

  10. sass语法一(变量篇)

    文件后缀名 sass有两种后缀名的文件:一种后缀名为sass,不使用大括号和分号:另一种是我们这里使用的scss文件,这种和我们平时使用的css文件格式差不多,使用大括号和分号. //后缀名为sass ...