Problem2080--概率掷骰子

2080: 概率掷骰子

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

概率掷骰子 

玩家A和B正在玩骰子游戏。

A骰子有6个面,第i个面的点数是sideA[i]。

B骰子有6个面,第i个面的点数是sideB[i]。

玩家A总共掷X次A骰子,每次掷骰子得到的面都是1/6的概率。

玩家B总共掷Y次B骰子,每次掷骰子得到的面都是1/6的概率。

玩家最终的总得分就是每次掷骰子得到的点数的总和。

计算玩家A赢得游戏的概率,即玩家A总得分高于玩家B的总得分的概率。



输入格式

组测试数据。

第一行,一个整数G,表示有G组测试数据。 1 <= G <= 10

每组测试数据格式: 

    第一行,两个整数,X 和 Y。1 <= X,Y <= 200。

    第二行,6个整数,第i个整数是sideA[i]。 1 <= sideA[i] <= 100。

    第三行,6个整数,第i个整数是sideB[i]。 1 <= sideB[i] <= 100。



输出格式

共G行,共G行,每行一个实数,保留15位小数输出。printf("%.15f\n",ans);

输入/输出例子1

输入:

10

1 1

1 2 3 4 5 6 

1 2 3 4 5 6 

200 200

1 3 8 18 45 100 

1 4 10 21 53 100 

2 3

1 1 1 2 2 2 

1 1 1 1 1 1 

200 200

6 5 4 3 2 1 

3 4 6 5 1 2 

100 199

1 1 1 1 1 2 

1 1 1 1 1 1 

1 1

1 2 1 2 1 2 

2 1 2 1 2 1 

200 80

1 3 8 18 45 100 

1 4 10 21 53 100 

100 100

1 3 5 10 15 20 

9 9 9 9 9 9 

100 100

7 8 9 9 10 11 

1 3 5 10 15 20 

10 1

1 2 3 4 5 6 

59 70 80 90 95 100 



输出:

0.41666666666666663

0.25240407058279035

0.25

0.49416239842107595

1.5306467074865068E-78

0.25

0.9999999976160046

0.4943375131579816

0.49968090996086173

2.7563619479867007E-9

Sample Input Copy

10
1 1
1 2 3 4 5 6 
1 2 3 4 5 6 
200 200
1 3 8 18 45 100 
1 4 10 21 53 100 
2 3
1 1 1 2 2 2 
1 1 1 1 1 1 
200 200
6 5 4 3 2 1 
3 4 6 5 1 2 
100 199
1 1 1 1 1 2 
1 1 1 1 1 1 
1 1
1 2 1 2 1 2 
2 1 2 1 2 1 
200 80
1 3 8 18 45 100 
1 4 10 21 53 100 
100 100
1 3 5 10 15 20 
9 9 9 9 9 9 
100 100
7 8 9 9 10 11 
1 3 5 10 15 20 
10 1
1 2 3 4 5 6 
59 70 80 90 95 100 

Sample Output Copy

0.416666666666667
0.252404070582791
0.250000000000000
0.494162398421076
0.000000000000000
0.250000000000000
0.999999997616004
0.494337513157981
0.499680909960862
0.000000002756362

Source/Category