#1514. 小块的金币连胜

小块的金币连胜

B. 小块的金币连胜

传统题 | 1000ms | 256MiB

题目描述

小方学会了金币理财,但同班的小块说他有更厉害的玩法——连胜经济

小块把这套规则简化成"每回合结算一次":

  • 基础收入和利息同 A 题:每回合 + 5 基础 + min(5, N//10) 利息,金币上限 50
  • 连胜奖励:连胜数 W ≥ 6 时,每回合额外 + 2 金币
  • 连败惩罚:连胜数 W ≤ 3 时,每回合 - 金币//10 金币(最少扣到 0,不变负)。
  • 连胜变化:每回合 W 自动 + 1(封顶 10)。

注意:

  • 每回合的动作顺序:先算收入(基础+利息+连胜奖励),再算惩罚(连败惩罚),最后维护连胜数 + 1。
  • 连胜数和金币数是两个独立的状态,互相不影响初始化(你给多少就是多少)。

小块想知道:从第 1 回合到第 K 回合,每回合金币数和连胜数是多少?

输入格式

一行三个整数 N W K

  • N:起始金币(0 ≤ N ≤ 50)
  • W:起始连胜数(0 ≤ W ≤ 10)
  • K:模拟回合数(1 ≤ K ≤ 100)

输出格式

K 行,每行两个整数:第 i 回合的金币数和连胜数

样例

输入:

40 4 5

输出:

49 5
50 6
50 7
50 8
50 9

解释(每回合动作顺序:收入 → 惩罚 → 维护连胜):

  • 第 1 回合
    • 收入:40 + 5 + min(5, 40÷10=4) = 49
    • 奖励:W=4 < 6,无
    • 惩罚:W=4 > 3,无
    • 维护:W = min(10, 4+1) = 5
    • 输出:49 5
  • 第 2 回合
    • 收入:49 + 5 + min(5, 49÷10=4) = 58 → min(50, 58) = 50
    • 奖励:W=5 < 6,无
    • 惩罚:W=5 > 3,无
    • 维护:W = min(10, 5+1) = 6
    • 输出:50 6
  • 第 3 回合:50 + 5 + min(5, 5) + 2(奖励,因为 W=6) = 62 → 50,W=7
  • 第 4 回合:同上,50,W=9(等等,再算一次维护:6→7→8→9)
  • 第 5 回合:同上,50,W=9

:第 4、5 回合的连胜数是 8、9,不是 10——按"封顶 10 但每回合 +1"算,第 3 回合 W=6→7,第 4 回合 7→8,第 5 回合 8→9。

提示

这题的金矿是 "两个状态互相影响但不绑定"

  • 金币会影响"惩罚数值"(金币//10 是扣多少)
  • 连胜数会影响"是否触发奖励/惩罚"
  • 两个变量没有直接公式互相算——必须每回合分别维护

双向耦合就是这个金矿:你以为连胜只影响金币,其实金币也通过惩罚规则"反馈"到连胜的下一步决策。

金矿引导:

  • 如果 W = 0 起步会发生什么?(惩罚循环:金币被扣 → 金币少 → 扣的也少 → 但 W 慢慢长 → 触发奖励)
  • 如果 N = 10, W = 10 起步会发生什么?(奖励直接触发,金币快速封顶)