PDD 第三题

PDD 第三题,简单来说就是每次把之前所有的色子当作一个色子,然后摇了新的之后更新这个色子,分三种情况讨论就行了。

from copy import deepcopy
import sys

_ = sys.stdin.readline()
line = sys.stdin.readline().strip().split(" ")
nums = list(map(int, line))

before = dict()
for i in range(1, nums[0]+1):
    before[i] = 1/nums[0]

for i in nums[1:]:
    after = deepcopy(before)
    for j in range(1, i+1):
        if j not in before:
            after[j] = 1/i
            continue
        p1 = before[j] * 1/i
        p2_left = 0
        for k in range(1, j):
            p2_left += before[k]
        p2 = p2_left * 1/i
        p3 = before[j] * (j-1)/i
        after[j] = p1+p2+p3
    before = after
result = 0
for k in before:
    result += before[k] * k
print("%.2f" % result

#笔试题目##拼多多##题解#
全部评论

相关推荐

睡个觉先1555:你这个学历,这个实习,不知道你在紧张啥,包能找到好工作的
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务