#aBC193D. [ABC193D] Poker

[ABC193D] Poker

AT_abc193_d [ABC193D] Poker

题目描述

KK 张写有 1,2,,91, 2, \dots, 9 的卡牌,每种数字各 KK 张,共 9K9K 张卡牌。
这些卡牌被随机洗牌后,分别发给高桥君和青木君各 44 张明牌和 11 张暗牌。
高桥君手中的卡牌以字符串 SS 给出,青木君手中的卡牌以字符串 TT 给出。
SSTT 均为 55 个字符的字符串,前 44 个字符为 12\dots9 中的一个,表示明牌上的数字。最后 11 个字符为 #,表示暗牌。
每个人手牌的得分定义为:设 cic_i 表示手牌中数字 ii 出现的次数,则得分为 i=19i×10ci\displaystyle\sum_{i=1}^9 i \times 10^{c_i}
如果高桥君的得分高于青木君,则高桥君获胜。
请计算高桥君获胜的概率。

输入格式

输入通过标准输入给出,格式如下:

KK SS TT

输出格式

请输出高桥君获胜的概率,结果为小数。
当你的答案与标准答案的绝对误差或相对误差不超过 10510^{-5} 时,将被判定为正确。

输入输出样例 #1

输入 #1

2
1144#
2233#

输出 #1

0.4444444444444444

输入输出样例 #2

输入 #2

2
9988#
1122#

输出 #2

1.0

输入输出样例 #3

输入 #3

6
1122#
2228#

输出 #3

0.001932367149758454

输入输出样例 #4

输入 #4

100000
3226#
3597#

输出 #4

0.6296297942426154

说明/提示

限制条件

  • 2K1052 \leq K \leq 10^5
  • S=T=5|S| = |T| = 5
  • SSTT 的第 11 到第 44 个字符为 12\dots9 中的一个
  • 12\dots9SSTT 中合计最多出现 KK
  • SSTT 的第 55 个字符为 #

样例解释 1

例如,高桥君的手牌为 11449,青木君的手牌为 22338 时,高桥君的得分为 100+2+3+400+5+6+7+8+90=621100+2+3+400+5+6+7+8+90=621,青木君的得分为 1+200+300+4+5+6+7+80+9=6121+200+300+4+5+6+7+80+9=612,因此高桥君获胜。由于胜负取决于暗牌的大小,高桥君获胜的概率为 49\frac{4}{9}

样例解释 3

只有当高桥君的手牌为 11222,青木君的手牌为 22281 时,高桥君才会获胜。此时高桥君获胜的概率为 21035\frac{2}{1035}

由 ChatGPT 4.1 翻译