浩然GG和女朋友的游戏 (数学,规律)

这里是链接

Description

大家都知道浩然GG是个高富帅,有一天他在宾馆和女朋友玩个游戏,游戏规则如下,盒子中n个黑球和m个白球,每一次然随机从盒子中不放回的取出两个球,如果两个球一样则放进去一个白球,否则放进去一个黑球,问最后剩下的球是黑球的概率是多大, 因为球太多,浩然GG玩累了,所以把这个问题交给了你。(n和m的范围在int范围内)(答案精确到小数点后6位,你的答案必须与标准答案误差小于0.000000001)

Input

每一行输入n和m,代表放入了n个黑球和m个白球

Output

每一行输出一个答案,保留9位小数

Sample Input 1

0 1

Sample Output 1

0.000000000

Sample Input 2

1 0

Sample Output 2

1.000000000

思路

引用题解:

/*
题解:0.000000001完全是吓人的,我们考虑n为偶数的情况
首先当n为偶数可以分为三种情况:
(1)取出1白1黑,然后放进去一个黑的,n还是偶数。
(2)取出2白,然后放进去一个白的,n还是偶数。
(3)取出2黑,然后放进去一个白的,n还是偶数。
所以取到最后n是偶数,那n只能是0了,很显然最后剩的一定是白球。
当n为奇数可以分为三种情况:
(1)取出1白1黑,然后放进去一个黑的,n还是奇数。
(2)取出2白,然后放进去一个白的,n还是奇数。
(3)取出2黑,然后放进去一个白的,n还是奇数。
所以取到最后n是奇数,那n只能是1了,很显然最后剩的一定是黑球。

综上n为偶数输出0,n为奇数输出1。
*/

AC

#include<stdio.h>
using namespace std;
int main() {
//  freopen("in.txt", "r", stdin);
    int n, m;
    while(~scanf("%d %d", &n, &m)) {
        if(n % 2)   printf("1\n");
        else    printf("0\n"); 
    }    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/henuyh/article/details/80189534