题解 | #谁是神射手#
谁是神射手
https://ac.nowcoder.com/acm/problem/17866
A 打中瓶子的概率是:
- 第一次打中:
- 第三次打中:(第一、二次都没打中)
- 第五次打中:(第一、二、三、四次都没打中)
B 打中瓶子的概率相似,注意这个循环不能无限持续,可以考虑设定一个 eps
值,当影响小于 eps
时就可以忽略。
另外值得注意的是,B 打中瓶子的概率不能通过 的概率得到,理由是他们可能根本打不中瓶子。(比如概率都是 )
/*
A: a% + (1-a%)(1-b%)a% + (1-a%)(1-b%)(1-a%)(1-b%)a% ...
B: (1-a%)b% + (1-a%)(1-b%)(1-a%)b% + ...
*/
#include<cmath>
#include<cstdio>
const double eps = 1e-12;
int main(){
double a, b;
scanf("%lf%lf", &a, &b);
a /= 100, b /= 100;
double A = 0, _a = 1 - a, _b = 1 - b;
while (a > eps) {
A += a;
a *= _a * _b;
}
double B = 0; b *= _a;
while (b > eps) {
B += b;
b *= _a * _b;
}
if (fabs(A - B) < 1e-9) puts("equal");
else if (A > B) puts("MWH");
else puts("CSL");
}