UVA - 10491 Cows and Cars

题目大意:给出a,b和c,表示有a + b 个门, a个后面是牛, b个后面是车, 然后你从中选一个门,之后有一个知情人帮你打开c个后面是牛的门(因为1≤c< a,所以就算第一次选中牛,知情人还是可以打开c个门),然后你在没有打开的门中选一个,问说第二次选得门后面是车的概率。


解题思路:问题可以分成两种情况:

1)第一次选中牛的时候,a/(a + b), 然后打开c个后面是牛的门,总关门数为(a + b  - c - 1),然后还有b个门后面是车,所以p1 = a * b / (a + b) / (a + b - c - 1).

2)第一次选中车的时候, b/ (a + b), 然后打开c个后面是牛的门,总门数为(a + b - c - 1), 然后还有b - 1个门后面是车,所以p2 = b * (b - 1)/ (a + b) / (a + b - c - 1).

#include <cstdio> 

int main() {
	int a, b, c;
	while (scanf("%d%d%d", &a, &b, &c) != EOF)
		printf("%.5lf\n", (1.0 * a * b + b * (b - 1)) / (a + b) / (a + b - c - 1));
	return 0;
}


你可能感兴趣的:(UVA - 10491 Cows and Cars)