Description
阳春三月,LiuLibo和朋友们外出郊游。午饭时间,大家都纷纷拿出自己携带的食物准备大快朵颐。LiuLibo什么都没有带,只好求大家分一点给他,可是大家为了惩罚他的懒惰,都严辞拒绝了(呜呜……>__<)。总不能就这么挨饿吧?LiuLibo灵机一动,想出一个游戏,他提出和每个朋友都玩一轮这个游戏,如果他赢了,就能从那个朋友那里分到食物,朋友们都同意了。
这个游戏是这样玩的: LiuLibo和对手各自在纸上写下一个整数,写好后,两人把纸条摆在面前,把纸上的两个数相加后除以19。然后,LiuLibo从身上拿出三个骰子,随意掷出。如果他掷出的骰子的总点数不低于他们在纸上写下的两个数除以19的余数,LiuLibo就赢了。由于深知概率论在计算机科学上有着非常重要的应用,LiuLibo以前上课的时候就把概率论学得很好。现在,每次掷骰子前,LiuLibo都想快速计算出他获胜的可能性有多大。(如果获胜的可能性太低,他就要开始想办法耍赖啦^_^)但是,没有计算机,这对他来说也非常困难,你赶快来帮帮他吧。
这个游戏是这样玩的: LiuLibo和对手各自在纸上写下一个整数,写好后,两人把纸条摆在面前,把纸上的两个数相加后除以19。然后,LiuLibo从身上拿出三个骰子,随意掷出。如果他掷出的骰子的总点数不低于他们在纸上写下的两个数除以19的余数,LiuLibo就赢了。由于深知概率论在计算机科学上有着非常重要的应用,LiuLibo以前上课的时候就把概率论学得很好。现在,每次掷骰子前,LiuLibo都想快速计算出他获胜的可能性有多大。(如果获胜的可能性太低,他就要开始想办法耍赖啦^_^)但是,没有计算机,这对他来说也非常困难,你赶快来帮帮他吧。
Input
输入的第一行是一个整数T(1 ≤ T ≤1000),表示总共玩了T回合的游戏。
以下T行每行是一组数据,每组数据中的两个整数a、b(0≤a, b≤100)表示两人在纸上写下的两个整数。
以下T行每行是一组数据,每组数据中的两个整数a、b(0≤a, b≤100)表示两人在纸上写下的两个整数。
Output
对于每个回合游戏,输出这一回合中LiuLibo获胜的概率,每个答案一行。结果四舍五入,保留4位小数。
Sample Input
3
5 6
9 10
10 10
Sample Output
0.5000
1.0000
1.0000
game.py:
import string
m=[]
for j in range(3,19):
m.append(j)
u=[1,3,6,10,15,21,25,27,27,25,21,15,10,6,3,1]
adict=dict(zip(m,u))
n=input()
for i in range(n):
s=raw_input()
a=string.split(s,' ')
x=int(a[0])
y=int(a[1])
z=(x+y)%19
sum1=0
for i in m:
if i<z:
sum1+=adict[i]
else:
break
res=float(216-sum1)/216
print "%.4f" % res