#P2238. Computer Basketball Game

Computer Basketball Game

题目描述

在一款电脑篮球游戏中,玩家可以进行“一对一”比赛,规则如下:

  • 当一名玩家进攻时,他可以选择投 2分球3分球
    • 如果进球,则 继续进攻 下一回合。
    • 如果未进球,则双方争抢篮板球,抢到篮板的玩家获得下一回合的进攻权。
  • 先达到 NN1N301 \leq N \leq 30)分的玩家获胜。

玩家属性

每名玩家有 4项技能(均为 111010 的整数):

  1. 2分球技能 pt2(i)pt2(i)
  2. 3分球技能 pt3(i)pt3(i)
  3. 篮板球技能 reb(i)reb(i)
  4. 防守技能 def(i)def(i)

概率计算(以玩家1进攻、玩家2防守为例)

  1. 选择投篮类型的概率

    • 投3分球的概率:pt3(1)pt3(1)+pt2(1)\frac{pt3(1)}{pt3(1) + pt2(1)}
    • 投2分球的概率:pt2(1)pt3(1)+pt2(1)\frac{pt2(1)}{pt3(1) + pt2(1)}
  2. 3分球命中概率

    • 命中概率:0.8×pt3(1)pt3(1)+def(2)0.8 \times \frac{pt3(1)}{pt3(1) + def(2)}
    • 未命中概率:10.8×pt3(1)pt3(1)+def(2)1 - 0.8 \times \frac{pt3(1)}{pt3(1) + def(2)}
  3. 2分球命中概率

    • 命中概率:pt2(1)pt2(1)+def(2)\frac{pt2(1)}{pt2(1) + def(2)}
    • 未命中概率:1pt2(1)pt2(1)+def(2)1 - \frac{pt2(1)}{pt2(1) + def(2)}
  4. 篮板球争抢概率(若未命中):

    • 玩家1抢到篮板的概率:0.8×reb(1)reb(1)+reb(2)0.8 \times \frac{reb(1)}{reb(1) + reb(2)}
    • 玩家2抢到篮板的概率:10.8×reb(1)reb(1)+reb(2)1 - 0.8 \times \frac{reb(1)}{reb(1) + reb(2)}

问题要求

给定对手(玩家2)的4项技能,你需要为玩家1分配技能值(总和为 MM4M404 \leq M \leq 40),且玩家1先攻。求通过最优分配技能,玩家1的最大获胜概率(结果保留3位小数)。

输入格式

  • 每行包含6个整数:N,M,pt2(2),pt3(2),reb(2),def(2)N, M, pt2(2), pt3(2), reb(2), def(2)

输出格式

  • 对每个测试用例,输出玩家1的最大获胜概率。

示例输入 1

19 21 3 5 6 6

示例输出 1

0.754

提示

  • 获胜条件是 得分 N\geq N,而非恰好等于 NN

题目来源

POJ Monthly, 鲁小石