atcoder#ABC193D. [ABC193D] Poker
[ABC193D] Poker
配点 : 点
問題文
が表に書かれたカードが 枚ずつ、計 枚のカードがあります。
これらのカードをランダムにシャッフルして、高橋くんと青木くんにそれぞれ、 枚を表向きに、 枚を裏向きにして配りました。
高橋くんに配られたカードが文字列 として、青木くんに配られたカードが文字列 として与えられます。
は 文字の文字列で、先頭 文字は 1
, 2
, , 9
からなり、表向きのカードに書かれた数を表します。
末尾 文字は #
であり、裏向きのカードであることを表します。
枚の手札の点数を、 をその手札に含まれる の枚数として、 で定義します。
高橋くんが青木くんより点数の高い手札を持っていたら高橋くんの勝ちです。
高橋くんの勝つ確率を求めてください。
制約
- の 文字目から 文字目は
1
,2
, ,9
のいずれか 1
,2
, ,9
はそれぞれ、 と に合計 回までしか出現しない- の 文字目は
#
入力
入力は以下の形式で標準入力から与えられる。
出力
高橋くんの勝つ確率を小数で出力せよ。 想定解答との絶対誤差または相対誤差が 以下であれば正解と判定される。
2
1144#
2233#
0.4444444444444444
例えば、高橋くんの手札が 11449
、青木くんの手札が 22338
の場合、高橋くんの点数は 、青木くんの点数は で、高橋くんの勝ちになります。
裏向きのカードの大小によって勝敗が決まるので、高橋くんの勝つ確率は です。
2
9988#
1122#
1.0
6
1122#
2228#
0.001932367149758454
高橋くんの手札が 11222
、青木くんの手札が 22281
の場合にのみ高橋くんの勝ちになります。
高橋くんの勝つ確率は です。
100000
3226#
3597#
0.6296297942426154