2089. EX黑白棋(20分)

小熊和 A7 又在拿奶茶钱打赌,为了足够公平,找上 pwp 给他们安排打赌内容。

pwp 给他们扔了个拓展黑白棋线上游戏网址(测试中,bug 很多)。拓展黑白棋和传统黑白棋规则上没什么不同,但棋盘可能比传统的大。(棋盘为 mm 列的正四边形棋盘)

黑白棋的落子规则:把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子恰好与该棋子之间全是对方的棋子,则被夹在中间的全部对方的棋子会翻转成为自己的棋子。

小熊和 A7 分别有一个初始嘲讽值 a, b,当被嘲讽时嘲讽值会上升。他俩的嘲讽值又分别有个阈值 ha, hb,如果有一方的嘲讽值达到该值,他就会发出超大嘲讽进行反击,并使自身嘲讽值归零。小熊和 A7 的超大嘲讽分别会使对方的嘲讽值上升 la, lb

当自己吃到对方的棋时就会开始嘲讽对方,每翻一个棋子就会对对方释放一次嘲讽。(正式的:如果翻对方棋子数为 x,翻每个子产生的嘲讽值为 v,则会使对方嘲讽值增加 x \times v 点。翻每个棋子视为一次操作,如果操作让对方达到阈值,会先结算攻击,攻击结束后再继续翻棋子)

游戏结束后,因为毕竟都是队友,嘲讽值低的人会请嘲讽值高的人喝奶茶。

(由于他们都是小白,加上游戏网址 bug 一大堆可以随便玩,他们玩的黑白棋可能和你了解的很大不同,但这是他们的私事——比如一个人可以连续下多次棋子。并且最后谁请奶茶是看嘲讽值的,毕竟他们都这样乱下了)

输入

第一行输入八个整数 n, m, a, b, ha, hb, la, lb,分别表示落子次数、棋盘边长、小熊和 A7 的初始嘲讽值、嘲讽值阈值、超大嘲讽产生嘲讽值。(n, m \le 200, 1 \le a, la < ha \le 10^7, 1 \le b, lb < hb \le 10^7)

紧接着的 m 行输入长度为 m 的字符串代表初始棋盘,. 表示该位置为空,@ 表示该位置为黑色棋子,# 表示该位置为白色棋子,A7 为黑方。

接下来 n 组数据,每组数据一行输入四个变量 x, y, c, v (x, y \le m, v \le 10 ^ 7),表示棋手(cx 就是小熊落子,a 则是 A7 )在第几行、第几列落子,以及翻每个棋子造成的嘲讽值为 v。如果落子非法就无视该操作。

输出

第一行输出两个整数,表示小熊和 A7 的嘲讽值在低于峰值时达到的最大值。

第二行输出一个字符串表示最后谁请奶茶,xiaoxiong 表示小熊、aqi 表示 A7,如果嘲讽值相同则没有奶茶喝,输出 QAQ

接着输出结束时的棋盘状态。

样例

标准输入 复制文本
6 5 1 2 5 5 3 3
.....
.....
.....
.....
.....
2 2 x 100
3 3 x 100
4 2 x 100
4 4 a 50
1 1 a 1
2 4 x 1000
标准输出 复制文本
3 3
xiaoxiong
@....
.@.#.
..#..
.#.@.
.....
标准输入 复制文本
4 5 0 1 5 5 3 3
.....
.#...
.###.
.###.
.....
1 2 a 100
5 2 a 5
1 3 a 2
5 3 a 3
标准输出 复制文本
3 4
xiaoxiong
.@@..
.@...
.@##.
.@##.
.@@..

提示

对于双方犯规的情况,pwp 表示没眼看(捂脸

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 116
通过 10