BUN1024

7 篇文章 0 订阅

Description

阳春三月,LiuLibo和朋友们外出郊游。午饭时间,大家都纷纷拿出自己携带的食物准备大快朵颐。LiuLibo什么都没有带,只好求大家分一点给他,可是大家为了惩罚他的懒惰,都严辞拒绝了(呜呜……>__<)。总不能就这么挨饿吧?LiuLibo灵机一动,想出一个游戏,他提出和每个朋友都玩一轮这个游戏,如果他赢了,就能从那个朋友那里分到食物,朋友们都同意了。
这个游戏是这样玩的: LiuLibo和对手各自在纸上写下一个整数,写好后,两人把纸条摆在面前,把纸上的两个数相加后除以19。然后,LiuLibo从身上拿出三个骰子,随意掷出。如果他掷出的骰子的总点数不低于他们在纸上写下的两个数除以19的余数,LiuLibo就赢了。由于深知概率论在计算机科学上有着非常重要的应用,LiuLibo以前上课的时候就把概率论学得很好。现在,每次掷骰子前,LiuLibo都想快速计算出他获胜的可能性有多大。(如果获胜的可能性太低,他就要开始想办法耍赖啦^_^)但是,没有计算机,这对他来说也非常困难,你赶快来帮帮他吧。

Input

输入的第一行是一个整数T(1 ≤ T ≤1000),表示总共玩了T回合的游戏。
以下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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值