#P9001. 魔法师的回合战斗

魔法师的回合战斗

魔法师的回合战斗

魔法师对木桩释放火球术

题目描述

木桩的初始生命值为 H,战斗共 N 个回合。每回合先结算冷却时间:若冷却时间大于 0,则减 1。然后按本回合的指令行动:

  • 指令 0:普通攻击,造成 2 点伤害,能量加 1(能量上限为 5)。
  • 指令 1:尝试释放火球术,造成 7 点伤害,消耗 3 点能量,冷却时间变为 3。

火球术需要能量不少于 3 且冷却时间为 0 才能释放,条件不满足时本回合改为普通攻击(造成 2 点伤害并获得 1 点能量,受能量上限约束)。初始能量和冷却时间均为 0。

木桩生命值最低为 0,归零后仍需继续模拟剩余回合。

输入格式

第一行两个整数 H 和 N,分别表示木桩初始生命值和回合数。

第二行一个长度为 N 的字符串 S,S 的第 i 个字符是第 i 回合的指令。

输出格式

输出 N 行,第 i 行表示第 i 回合结束时的状态,包含 6 个整数:

回合编号 实际攻击类型 造成伤害 木桩生命值 能量 冷却时间

其中实际攻击类型 0 表示本回合实际进行了普通攻击,1 表示成功释放了火球术;能量和冷却时间都是该回合结算后的数值。

样例

输入

100 9
000001011

输出

1 0 2 98 1 0
2 0 2 96 2 0
3 0 2 94 3 0
4 0 2 92 4 0
5 0 2 90 5 0
6 1 7 83 2 3
7 0 2 81 3 2
8 0 2 79 4 1
9 1 7 72 1 3

样例解释

第 6 回合能量为 5 且冷却时间为 0,成功释放火球术。第 8 回合开始时冷却时间由 2 减为 1,此时能量虽然已经回到 3,但冷却时间不为 0,所以仍然改为普通攻击。第 9 回合开始时冷却时间由 1 减为 0,冷却结束的当回合即可再次释放火球术。

数据范围

1 <= H <= 100000,1 <= N <= 1000,S 只包含字符 0 和 1。