#P1002. 破解“深层麻痹” (Breaking the Spot)

破解“深层麻痹” (Breaking the Spot)


题目背景

rminjured.jpg

越前龙马的眼睛受伤,必须在 TT内结束这一局比赛。 但这局比赛的情况比想象中更复杂。如果是龙马发球,他可以利用外旋发球掌握节奏;但如果是伊武深司发球,深司会利用“侧旋发球”和“指尖球”诱导龙马上下跑动,造成龙马手臂暂时麻痹(Spot状态),这会严重影响龙马的击球质量和比赛时间。

你需要帮龙马做出决策:在每一球的较量中,是冒险强攻,还是稳妥防守,才能让在规定时间内获胜的概率最大?

题目描述

当前局分为龙马得分 SRS_R 和深司得分 SSS_S。 剩余总时间为 TT 秒。 比赛规则遵循标准网球规则(4球胜,40-40为Deuce,需净胜2球,第一球得15分,第二球得30分,第三球得40分,第四球赢了就是得了“Adv”)。

龙马在每一回合依然有两种策略:

  1. 策略 A(强攻/外旋发球):基础耗时 t1t_1,基础胜率 p1p_1
  2. 策略 B(拉锯/基本步伐):基础耗时 t2t_2,基础胜率 p2p_2

【发球局的影响】 输入包含一个变量 WhoWho

  • Who=0Who = 0(龙马发球): 龙马完全掌握主动,策略 A 和 B 的耗时与胜率保持原样。

  • Who=1Who = 1(深司发球): 深司利用“麻痹战术”压制龙马,Who = 1 的情况下龙马会受到以下影响:

    1. 如果龙马选择 策略 A(强攻):由于手臂麻痹,精准度大幅下降,胜率 p1p_1 变为原来的 80%80\%(即 p1×0.8p_1 \times 0.8),但耗时 t1t_1 不变。
    2. 如果龙马选择 策略 B(拉锯):深司会故意拖慢节奏,导致每一球的耗时增加 5 秒(即 t2+5t_2 + 5),但胜率 p2p_2 不受影响(因为龙马靠毅力死守)。

请计算龙马在最优决策下的最大获胜概率。

输入格式

第一行:两个字符串 SR,SSS_R, S_S,代表当前比分("0", "15", "30", "40", "Adv")。 第二行:一个整数 TT,代表剩余时间(秒)。 第三行:一个整数 WhoWho(0 或 1)。 第四行:四个数 t1,p1,t2,p2t_1, p_1, t_2, p_2(含义同上,整数为时间,浮点数为概率)。

输出格式

一个浮点数,保留 5 位小数。


样例数据

样例 1 (绝杀局)

输入:

40 30
15
0
10 0.5 20 0.9

输出:

0.50000

样例解释:

  • 局势:40-30,差1球赢。时间15。
  • 策略B需20s,时间不够(15<20),胜率0。
  • 策略A需10s,时间够。
    • 赢(0.5) \to 胜利。
    • 输(0.5) \to 40-40,剩余5s。
      • 下一球A需10s,B需20s,时间均不够,必输。
  • 总概率 = 0.5×1+0.5×0=0.50.5 \times 1 + 0.5 \times 0 = 0.5

样例 2 (深司发球压制)

输入:

40 30
25
1
10 0.8 15 0.9

输出:

0.90000

样例解释:

  • W=1W=1修正:p1=0.8×0.8=0.64p_1 = 0.8 \times 0.8 = 0.64t2=15+5=20t_2 = 15 + 5 = 20
  • 时间25。
  • 策略B(20s, 0.9):
    • 赢(0.9) \to 胜利。
    • 输(0.1) \to 40-40,剩余5s \to 下一球无法打 \to 输。
    • 期望 = 0.9。
  • 策略A(10s, 0.64):
    • 赢(0.64) \to 胜利。
    • 输(0.36) \to 40-40,剩余15s。
      • 此时只能打A(10s),B(20s)不够。
      • 打A:赢 \to Adv-40(需再赢1球),时间剩5s \to 必输。
      • 故40-40时胜率为0。
    • 期望 = 0.64。
  • Max(0.9, 0.64) = 0.9。

样例 3 (Deuce 拉锯)

输入:

40 40
25
0
10 0.5 30 1.0

输出:

0.25000

样例解释:

  • 30s的策略B完全不可用。只能一直用A(10s, 0.5)。
  • 第一球(剩25s):
    • 赢(0.5) \to Adv-40 (剩15s)。
      • 第二球(剩15s):
        • 赢(0.5) \to 胜利。
        • 输(0.5) \to 40-40 (剩5s) \to 必输。
      • 分支概率:0.5×0.5=0.250.5 \times 0.5 = 0.25
    • 输(0.5) \to 40-Adv (剩15s)。
      • 第二球(剩15s):
        • 赢(0.5) \to 40-40 (剩5s) \to 必输。
        • 输(0.5) \to 输。
      • 分支概率:0。
  • 总概率 = 0.25。

说明/提示

放心,T的大小不会超过600s,超过600s就不符合原剧情了