hdu 3910 Liang Guo Sha
题目大意:Alice和Bob这两个小伙伴又发明了一种新游戏, 叫两国杀, 每个人手上有两张牌,“杀” 和“闪”, 然后有三个数值A,B和C, 当两个人都出“杀”的话,Alice加A分,Bob减A分;当两人都出“闪”的话,Alice 加B分,Bob减B分;否则Bob加C分,Alice减C分,问说Alice的分的期望值(不受Bob出牌的影响)
解题思路:设Alice出”杀“的概率为x, Bob出”杀“的概率为y;
p(Alice) = x * y * A + (1 - x) * (1 - y) * B - (1 - x) * y * C - x * ( 1 - y) * C = (A*x + B*x + 2*C*x - B - C) * y - C*x- B*x + B.
为了使得Alice得分的期望与Bob无关,那么A*x + B*x + 2*C*x - B - C = 0, 算出x,带回式子求出答案。
#include <stdio.h> #include <string.h> int main () { double a, b, c; while (scanf("%lf%lf%lf", &a, &b, &c) == 3) { double x = (b + c) / (a + b + 2 * c); printf("%.6lf\n", b - (b + c) * x); } return 0; }