#P1001. 「YSOI R1」蹦蹦消消乐
「YSOI R1」蹦蹦消消乐
题目背景
可莉在果酒湖边玩自制的蹦蹦消消乐游戏,因为湖里的鱼被炸光了。
题目描述
蹦蹦炸弹们被排成 行 列的矩阵。有些地方是空的(用 表示),大部分位置上有各种各样的蹦蹦炸弹(用 到 中的数字表示)。因为如果炸弹下面出现空的地方,那么炸弹就会往下掉。所以游戏开始时,初始状态上没有哪个炸弹下方会有空的地方。接下来开始游戏,如果同一种炸弹构成的连通区域格子数不小于 (水平或垂直相邻的两个格子中炸弹类型一样,就称这两个格子是连通的),那么这些同类型炸弹就会爆炸变成空位(如果同时有多种炸弹都满足连通区域不小于 这个条件,那么这些炸弹就会同时爆炸)。那么此时上面垂直位置的炸弹就会落下来填充这些空着的地方。这样一来,有可能会再次出现同样炸弹的连通区域不小于 ,那么会再次爆炸,上面的再次下落,一直这样下去,直到不存在同样炸弹的连通区域满足大于等于 这个条件。
现在,可莉给定了游戏的初始状态,请你在 内输出游戏的结束状态,否则就把你炸飞。
输入格式
第一行两个正整数 ,。
接下来 行,每行 个从 到 的正整数,表示炸弹的类型或空格。
输出格式
行 列,表示最后爆炸完的结果。
样例组
# 输入
6 3
0000000000
0000000300
0054000300
1054502230
2211122220
2211111223
# 输出
0000000000
0000000000
0000000000
0000000000
0054000000
1054500000
# 输入
10 2
1000200000
2007401000
7016644000
6332123500
5367633723
3551643232
4241624215
6761211156
4447343155
4734232617
# 输出
0000000000
0000000000
1000000000
2000000000
7000000000
6010200000
5060400003
3047101505
4062323706
6234232637
数据规模与约定
对于 的数据,;
对于 的数据,;
对于 的数据, 且 。
相关
在下列比赛中: