https://yukicoder.me/problems/no/787
解説
https://yukicoder.me/submissions/315634
条件付き確率で解く。
P,Qは÷100して確率にしておく。
答えはP(裏切り|裏切りっぽい)となるので、
P(裏切り|裏切りっぽい) = P(裏切り∩裏切りっぽい) / P(裏切りっぽい)
のようになり、
P(B|A) = P(A∩B) / P(A)
A := 裏切りっぽい
B := 裏切り
すると、
P(A∩B) = PQ
P(B) = PQ + (1-P)*(1-Q)
となる。
あとは、P(A∩B) / P(A)にして×100で%に直して答え。
double P, Q; //--------------------------------------------------------------------------------------------------- void _main() { cin >> P >> Q; P /= 100; Q /= 100; double AB = P * Q; double A = P * Q + (1 - P) * (1 - Q); double ans = AB / A * 100; printf("%.10f\n", ans); }