Problem E: 【2019提高】泡泡棋

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:23 Solved:1

Description

小 X 备完课后觉得肚子有点饿,就吃了点最喜欢的好多鱼,喝了厅联想佳沃的佳乐视蓝莓果汁保护下眼睛。看看时间离睡觉还有两个多小时,于是便打开 QQ 游戏,先下了局中国象棋,轻松获胜后心情大畅,又玩了会泡泡棋。这个游戏在一个充满五彩缤纷的泡泡的长方形板上进行,在每个回合,玩家选择一组相同颜色的泡泡(玩家只需用鼠标点击这组泡泡中的任意一个即可),之后这些被选中的泡泡就从板上消失了。那些不再被支撑着的气泡便会掉落。如果存在一个空行或空列,那么这个空行或空列将会被移除。如下图所示:用鼠标点击黑色边框框起来的 7 个黑色泡泡中的任意一个,则框起来的 7 个黑色泡泡就会消失变成第二个图的样子,那些不再被支撑着的黑框中的气泡便会掉落,形成第三个图,第三个图有一个空列,移除这个空列后形成了最终的结果。

每一步的得分是被移除的泡泡的个数的平方。在上面的例子中,这一步的得分为 49。

Input

第一行包含两个整数 m,n,表示长方形板的行数和列数。m,n<=300
接下来 m 行每行包含一个长度为 n 的由 0 − 9 构成的字符串,其中 1 − 9 每个数字表示一种颜色的泡泡,0 表示空白方格,即该方格没有泡泡。
最后一行包含两个整数 row 和 col,表示鼠标点击的位置。位置用行和列表示,行从上往下编号,列从左向右编号,上图初始状态的第一行第一列即左上角的位置为空白方格,第一行第二列有一个白色泡泡,第二行第三列有一个灰色泡泡,第四行第五列有一个黑色泡泡。

Output

第一行输出得分。 紧接着的 m 行输出方案,每行连续输出 n 个数字,没有泡泡的地方用 0 表示。 

Sample Input Copy

输入 1
3 5
31233
12211
33233
2 3样例输入 2
4 6
012312
312332
223321
231332
1 4

Sample Output Copy

输出 1
16
30330
11110
33330样例输出 2
49
010020
312020
222110
231220

HINT

数据范围
10%的数据泡泡只有一行
另外 20%的数据消去的泡泡是一个正方形
另外 30%的数据消去的泡泡都在最上方,即留下的泡泡一个都不动
100%的数据符合题意

Source/Category