#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起步会发生什么?(奖励直接触发,金币快速封顶)