1725 The Numbered 89757 Commander

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 131072/65536 KB(Java/Others)

Submits : 1 | Solved : 0

Description

No.57的巧妙安排下,No.57的卡布达军队秒杀了大魔王的军队,大魔王见势不妙,赶紧跑回了城堡,当起了缩头乌龟。

No.57一直敲门,敲啊敲的

大魔王你别躲在里面不出声
我知道你在家
你有本事抢MM 怎么没本事开门啊
开门
你有本事抢MM 你有本事开门啊
别躲在里面不出声 我知道你在家

你有本事抢MM 你有本事开门啊
别躲在里面不出声 我知道你在家

开门啊 开门啊 开门开门开门啊

但大魔王还是无动于衷,No.57智取不行只好强攻

为了不浪费时间, No.57制定了作战计划不过迟迟没有算出这套计划能造成多大伤害但时间紧迫, No.57只好求助于你了


为了便于计算,现在我们简化这场攻城战

No.57的军队中有n种士兵,他们可以形成攻击阵列或防御阵列

每种士兵形成的攻击阵列都有一个攻击力 a 需要蓄力的时间 t

为了拯救MM,No.57营地的士兵们都已经迫不及待了,但还是严格遵守纪律在原地待命等待指挥

No.57的营地大小为10*10的矩阵,有若干列士兵站在营地之中待命,士兵们训练有素,在任何状态(待命状态,攻击阵列蓄力状态,城墙状态)任何时候,若他的前方是空地,

就会向前进并保持原有状态,如下图中蓝色方框内的士兵会一直移动到红色方框内的格子并待命


No.57的每一次指挥可以有2种形式,而且只有当没有单位需要移动时No.57才会开始进行指挥,并且每次指挥后到所有单位停止移动,并正要开始下一次指挥的时间为恒定的1分钟

1 x y 删除位于 , y 行位置的单位(只对攻击阵列无效),使得该位置变成空地

2 x y 列最后增加一个 y 类士兵并待命(营地只有10*10的大小,除了移动时,以任何方式处于营地范围之外的单位都将消失,指挥保证不会让攻击阵列处于营地之外)

攻击阵列

有且仅有3个同类士兵构成,需要一定的时间蓄力后才能离开营地(即该攻击阵列所占的3个位置变成空位)发起攻击若一个攻击阵列是在第i次指挥之时形成的,则他会本次在指挥结束后的第 t 分钟开始时发起攻击(即在第i+t次指挥之前,i+t-1次指挥之后)并且只会攻击城堡一次,攻击伤害和t分别对应这类士兵的攻击力需要蓄力的时间

而且士兵们训练有素,配合密切,当同一时间有k个攻击阵列发起攻击时,每个攻击阵列都得到加成,攻击力变为k

在营地待命时,任何一列中一旦有3个同类士兵连续站列并都处于待命状态则形成攻击阵列并开始蓄力并且若有3个以上同类士兵连续站列则最前方的3个士兵形成攻击阵列,

他士兵依旧待命。为了使攻击阵列在完成蓄力后快速发起攻击,所有同一列的待命士兵会移动到攻击阵列之后按原有顺序排列并继续待命

防御阵列

当有3个或3个以上的相同士兵站成连续的一行时则这些士兵都会形成防御阵列,形成防御阵列后这些士兵将前进到各自所在列的最前端并变为城墙 ,而其他单位则按原有的顺序

排在城墙后面

士气

每次成功形成阵列都会让军队士气大增,每次形成任意一种阵列军队都会直接对城堡造成100点伤害


Input

两个整数nm代表有n种士兵,m次指挥(1<=n<=9,0<=m<=1000

接下来的n行,每行有3个整数id,a,t代表该种士兵编号,士兵形成的攻击阵列攻击力a和需要蓄力回合数 t(士兵编号为1n1<=a<=100,1<=t<=10

然后将有一个10*10的矩阵map,代表初始时营地上士兵的分布(map[i][j]=k1<=i,j<=10)表示在第i行第j有编号为k的士兵,若k=0则表示没有任何单位)(保证在初始时不会形成任何阵列)

接下去m

每行有3个整数op,x,y,若op1则进行操作1,若op2则进行操作2

保证所有输入都是合法的

Output

输出一行表示最终能对城堡造成的伤害(一点攻击力造成一点伤害)


Sample Input

5 5
1 10 2
2 20 2
3 30 3
4 1 10
5 1 10
1231003224
1231003445
2142002134
2142003225
1231001415
1232001234
2142003304
2131000002
1231000002
3303000000
2 3 3
1 3 1
2 3 3
1 4 6
2 9 3

Sample Output

1034

HINT

当一个士兵的加入可以同时形成防御阵列与攻击阵列时,则多个阵列都能完整的生成,比如下列士兵分布图(局部)中在第3列后增加一个编号为1的士兵则会发生如下变化
2210 → ###0  A代表1变成的攻击阵列并处于蓄力状态 
2210 → 22A0   #代表1变成的城墙
1100 → 22A0
0000 → 00A0
以下是对样列解释

以A,B,C,D,E代表由编号为1,2,3,4,5士兵形成的攻击阵列

#代表城墙,其他符号如题目描述

第一次指挥后      第二次指挥后      第三次指挥后

####003224       ##C#003224       ##C#003224

12C1003445       12C1003445       12C1003445

12C1002134       12C1002134       12C1002134

21C2003225       2132003225       21C2003225

2132001415       2132001415       21C2001415

1231001234       1241001234       12C1001234

1242003304       1242003304       1232003304

2142000002       2132000002       2132000002

2131000002       2131000002       2141000002

1231000000       1201000000       1241000000

第四次指挥后      第五次指挥后      最终营地

##C#003224       ##C#00####       ##3#00####

12CB003445       12CB003##E       1231003###

12CB002134       12CB00322E       1241003##2

213B003225       213B00213E       2142002130

2131001415       213100322D       2101003220

1241001234       124100141D       1201001410

1242003304       124200123D       1200001230

2101000002       2101000002       2100000000

2101000002       2101000002       2100000000

1200000000       1200000000       1200000000

Source

信息学院第七届程序设计竞赛

[ Top ] | [ Submit ]