当前位置: 首页 > news >正文

Python-120:摇骰子的胜利概率

问题描述

小U和小S正在玩一个有趣的骰子游戏。每个骰子都有固定数量的面数k,每一面的点数分别是1到k。小U拥有n个骰子,每个骰子i的面数是 a_i,摇到每一面的概率均为 1/a_i。小S则有m个骰子,每个骰子j的面数是 b_j,摇到每一面的概率均为 1/b_j

两人分别同时摇各自的骰子,并将摇出的点数相加,得分较高的一方获胜,得分相同则为平局。游戏只进行一次,没有重赛。现在小U想知道他获胜的概率是多少。你能帮他计算吗?(答案保留三位小数)

输入:

  • n:小U的骰子数量
  • m:小S的骰子数量
  • arrayN:小U的每个骰子面数
  • arrayM:小S的每个骰子面数

约束条件:

  • nmk为整数,数据范围 1 ≤ nmk ≤ 25

代码

def solution(n, m, arrayN, arrayM):

    # Edit your code here

    assert n == len(arrayN)

    assert m == len(arrayM)

    def gen_table(a):

        s = sum(a)

        f = [0 for _ in range(s + 1)]

        f[0] = 1

        for x in a:

            g = [0 for _ in range(s + 1)]

            for i, v in enumerate(f):

                for j in range(1, x + 1):

                    if i + j <= s:

                        g[i + j] += v / x

            f = g

        return f

    p1 = gen_table(arrayN)

    p2 = gen_table(arrayM)

    ans = 0

    for i in range(len(p1)):

        for j in range(len(p2)):

            if j < i:

                ans += p1[i] * p2[j]

    return round(ans, 3)


 

if __name__ == "__main__":

    # Add your test cases here

    print(solution(1, 3, [8], [2, 3, 4]) == 0.255)

    print(solution(2, 2, [3, 4], [3, 3]) == 0.5)

    print(solution(3, 1, [2, 2, 2], [4]) == 0.844)


 

相关文章:

  • 23. Merge k Sorted Lists
  • 鸿蒙进阶——Mindspore Lite AI框架源码解读之模型加载详解(一)
  • DAY41 CNN
  • DAY 41 简单CNN
  • Python----目标检测(训练YOLOV8网络)
  • SpringBoot手动实现流式输出方案整理以及SSE规范输出详解
  • JavaSE知识总结(集合篇) ~个人笔记以及不断思考~持续更新
  • 学习经验分享【40】目标检测热力图制作
  • [HTML5]快速掌握canvas
  • (Python网络爬虫);抓取B站404页面小漫画
  • 智慧零工平台前端开发实战:从uni-app到跨平台应用
  • uniapp路由跳转toolbar页面
  • 通俗易懂解析:@ComponentScan 与 @MapperScan 的异同与用法
  • Java连接Redis和基础操作命令
  • 微软markitdown PDF/WORD/HTML文档转Markdown格式软件整合包下载
  • GODOT引擎学习日志
  • Gartner《Emerging Patterns for Building LLM-Based AIAgents》学习心得
  • 线程间和进程间是如何进行通信
  • 复变函数 $w = z^2$ 的映射图像演示
  • 端到端的导航技术NeuPAN论文讲解
  • wordpress 快速发布/福州搜索引擎优化公司
  • 深圳网站建设公司盛世华彩/今日头条军事新闻
  • 电商网站系统/焊工培训内容有哪些
  • 武汉h5建站模板/泉州seo网站排名
  • 研究思路 网站建设/云南网站建设快速优化
  • 可信赖的网站建设案例/2022小说排行榜百度风云榜