#ZF1151. 亵渎
亵渎
Description
XX 传说是一款经典的卡牌游戏,游戏由两名玩家以回合制的形式进行。每名玩家在场上拥有若干名随从且拥有的随从数上限为 (保证初始随从数量不会超出上限)。现将场上随从分为三类。
- 类型 :拥有若干血量,无其余效果。
- 类型 :拥有若干血量 , 当存在于场上未死亡时能为其所在一方增加 点额外魔法伤害(持有该随从的一方使用的法术牌增加 点伤害,详情见样例说明)。
- 类型 :拥有若干血量,拥有一个 (死亡时可以触发一些特定效果) 当自身死亡时可以召唤两个类型 随从,且其中一个随从拥有 点血量,另一个拥有 点血量,若亡语召唤出来的随从血量 则直接死亡,同时优先召唤血量高的随从,若超出随从数量上限则什么也不会发生 (详情见样例说明)。
亵渎是 XX 传说中术士的一张 牌。其效果是对全场随从造成 点伤害,若有随从死亡则重复对全场随从造成 点伤害,直到没有随从死亡为止。对随从造成的伤害是根据随从出现在场上的顺序依次结算的。当一名随从触发亡语时,后续的随从可能即将受到此次伤害而死亡,但由于还没有轮到结算,依旧视为在场上且占据随从上限。
现在是你的回合,你想知道现在直接打出一张亵渎直到亵渎结束后一共能击杀多少随从(包括己方随从)。
Format
Input
第一行给出两个整数 表示随从上限以及现在场上拥有的随从数量,题目保证现在场上已存在的双方随从数量分别不会超过随从上限。
接下来 行,每行有三或四个数,表示现在该随从的状态。每行第一个数 表示随从归属,若 为 则为己方随从,反之为对方随从,第二个数 表示随从种类,第三个数 表示随从血量,若该随从为类型 则该行还将给出第四个数 表示召唤出较高随从的血量值。
Output
输出一个整数,表示通过这张亵渎击杀的随从数。
Samples
5 5
1 3 5 3
1 1 1
1 3 5 7
1 2 4
1 3 5 4
6
1000 2
0 2 100
1 3 1 2
1
Note
对于第一个样例。
释放亵渎后,第一次造成伤害时,由于场上存在 个类型 己方随从,因此造成 点伤害。全场随从剩余血量按出现顺序依次为 ,有一名随从死亡,因此可以再造成一次伤害。此时场上剩余随从 名,按出现顺序状态分别为 $[[1\ 3\ 3\ 3], [1\ 3\ 3\ 7], [1\ 2\ 2], [1\ 3\ 3\ 4]]$,累计通过亵渎杀死随从 名。
第二次造成伤害时,由于场上存在 个类型 己方随从,因此造成 点伤害。全场随从剩余血量按出现顺序(此次伤害前已死亡不记)依次为 ,有一名随从死亡,因此可以再造成一次伤害。此时场上剩余随从 名,按出现顺序状态分别为 ,累计通过亵渎杀死随从 名。
第三次造成伤害时,由于场上不存在类型 己方随从,因此造成 点伤害。全场随从剩余血量按出现顺序(此次伤害前已死亡不记)依次为 ,有三名随从死亡,依次结算死亡顺序和亡语。第一名随从死亡时,依次召唤 名随从 和 ,此时场上有 名随从(因为还未结算后两名随从的死亡)。第二名随从死亡时,依次召唤 名随从 和 ,此时场上有 名随从。第三名随从死亡时,因为亡语效果希望召唤 名随从 和 ,但是在召唤前者后随从数量为 达到上限,无法再召唤第二名。此时场上剩余随从 名,按出现顺序状态分别为 $[[1\ 1\ 3], [1\ 1\ 1], [1\ 1\ 7], [1\ 1\ 5], [1\ 1\ 4]]$,累计通过亵渎杀死随从 名。
第四次造成伤害时,由于场上不存在类型 己方随从,因此造成 点伤害。全场随从剩余血量按出现顺序(此次伤害前已死亡不记)依次为 ,有一名随从死亡,累计通过亵渎杀死随从 名。
第五次造成伤害时,没有随从死亡,亵渎合计杀死随从 名。
对于第二个样例。
第一次造成 点伤害,第二名随从死亡,召唤 名随从 和 ,其中后者血量 直接死亡。但这个死亡并不是因为亵渎的伤害而死亡,因此不统计。
第二次造成 点伤害,没有随从死亡,累计杀死随从 名。
Limitation
1s, 1024KiB for each test case.