#5068. 斗地主

斗地主

题目描述

小 z 斗地主被小 w 把欢乐豆都赢光了,为了更快的获取欢乐豆,小 z 准备去玩欢乐斗牛,但是由于rp太差,小 z 在一个小时之内输光了20个QQ号的欢乐豆(每天系统会赠送每个号4000欢乐豆)。第二天他准备继续再战欢乐斗牛的抢庄模式,但是由于缺乏思考能力,小 z 需要编写一个程序来决定是否抢庄。

在玩家决定是否抢庄之前,系统会下发四张牌称为底牌,最后一张牌在决定后发放,每张牌可能为 110,J,Q,K1-10,J,Q,K,小 z 认为最后一张牌为每一种点数的概率是相同的,对于一个由五张牌组成的牌型,分数计算规则如下,请你得出底牌的期望得分。

首先注意:在斗牛中,J,Q,KJ,Q,K 的点数视为 1010 点,即 11,12,1311,12,13 在计算头或点数时均视为 1010,所有牌无视其花色。

首先考虑特殊牌型

  1. 四炸——即5张牌中有4张一样的牌(如 {3,3,3,3,4}\{3,3,3,3,4\}),分数为 4040

  2. 五花牛——五张牌均是 JJQQKK(如 {J,Q,J,Q,K}\{J,Q,J,Q,K\}),分数为 5050

  3. 五小牛——五张牌点数都小于 55 且点数和小于或等于 1010(如 {1,1,2,2,3}\{1,1,2,2,3\}),分数为 6060

若有多种特殊牌型,得分取分数最大的特殊牌型(如 {1,1,1,1,2}\{1,1,1,1,2\} 视为五小牛)。

如果没有特殊牌型,首先判断牌型是否有“头”,如果五张牌中任意三张的总和为 1010 的倍数如({1,K,9}\{1,K,9\} )即为有“头”,无“头”的牌型得分为 00

对于有头的牌型得分计算如下:

所有牌的和记为 tt,如果 t=0(mod 10)t=0(mod~10) 则称为“牛牛”,牛牛得分为 3030t mod 10<7t~mod~10 < 7称为“小牛”,得分为t mod 10t~mod~10,否则得分为 (t mod 10)×2(t~mod~10)\times2

输入格式

第一行一个整数 TT,表示 TT 组数据

每组数据占一行,为 44 个整数(其中 11,12,1311,12,13 分别表示 J,Q,KJ,Q,K

输出格式

输出 TT 行,每行输出给出 44 张牌的期望得分(四舍五入)

2
2 2 2 2
10 4 5 12
43
9
5
7 12 11 9
1 12 10 8
8 12 7 5
10 13 7 4
5 9 10 2
7
9
15
4
3
10
4 6 4 10
5 8 6 9
13 12 7 5
13 10 11 9
7 4 9 10
11 7 4 5
7 4 1 10
6 5 12 3
13 6 1 10
8 4 10 6
9
11
4
12
15
3
3
4
7
11

提示

样例#1解释:

对于 {2,2,2,2}\{2,2,2,2\},最后一张为 1122 时,构成五小牛,否则为炸弹,期望得分为 (2×60+11×40)/13=43.08(2\times 60+11\times 40)/13=43.08

对于 {10,4,5,12}\{10,4,5,12\},最后一张为1-13的得分分别是 (30+0+0+0+4+5+0+0+0+18+18+18+18)/13=111/13=8.54(30+0+0+0+4+5+0+0+0+18+18+18+18)/13=111/13=8.54

最后一张牌若是 11 则为牛牛,5544 点,6655 点,101310-1399 点,其余无头

数据范围:

对于 30%30\%的数据 T5T\le 5

对于 70%70\%的数据 T105T\le 10^5

对于 100%100\% 的数据 T106T\le 10^6