Codeforces #185 Div2 B "Archer"
問題
http://codeforces.com/contest/312/problem/B
訳
SmallRはアーチャーだ。SmallRは同じくアーチャーであるZanoesと決闘をすることになった。SmallRが先行で、交互に的を狙って弓をはなつ。SmallRは a / b、Zanoesは c / dで命中させることが出来る。初めに当てたほうが勝ちとなるのだが、SamllRがかつ確率を求めよ。
制約
1 <= a, b, c, d <= 1000
0 < a / b, c / d < 1
考えた事
わ・・・わからん・・・
だってこれ無限に続くじゃん!どっちも外し続けたら無限に続くじゃん!
いやまてよ・・例えばじゃんけんを考えよう。
あれってアイコで無限に続くけど、かつ確率は1 / 2だよなぁ・・
そうか、1ターンに勝つ確率・負ける確率の比率を出せばいいのか
ソースコード
int main() { double a, b, c, d; cin >> a >> b >> c >> d; double win = a / b; double lose = (1.0 - win) * c / d; double ans = win / ( win + lose ); printf( "%.12lf\n", ans ); }