问题6930--电子游戏

6930: 电子游戏

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】

由于手上(更确实的,蹄子上)有大把的空余时间,Farmer John的农场里的奶牛经常玩电子游戏消磨时光。她们最爱的游戏之一是基于一款人类中流行的电子游戏Puyo Puyo的奶牛版;名称当然叫做Mooyo Mooyo

Mooyo Mooyo是在一块细长的棋盘上进行的游戏,高N1≤N≤100)格,宽10格。 如下是一个N=6的棋盘的例子:

0000000000

0000000300

0054000300

1054502230

2211122220

1111111223

每个格子中或者是空的(用0表示),或者是九种颜色之一的干草捆(用字符1..9表示)。重力会使得干草捆下落,所以没有干草捆的下方是0

如果两个格子水平或垂直方向直接相邻,并且为同一种非0颜色,那么这两个格子就属于同一个连通区域。任意时刻出现至少K个格子构成的连通区域,其中的干草捆就会全部消失,变为0。如果同时出现多个这样的连通区域,它们同时消失。随后,重力可能会导致干草捆向下落入某个变为0的格子。由此形成的新的布局中,又可能出现至少K个格子构成的连通区域。若如此,它们同样也会消失(如果又有多个这样的区域,则同时消失),然后重力又会使得剩下的方块下落,这一过程持续进行,直到不存在大小至少为K的连通区域为止。

给定一块Mooyo Mooyo棋盘的状态,输出这些过程发生之后最终的棋盘的图案。

输入格式mooyomooyo.in):

输入的第一行包含NK1≤K≤10N)。以下N行给出了棋盘的初始状态。

输出格式mooyomooyo.out):

输出N行,描述最终的棋盘状态。

输入样例

6 3

0000000000

0000000300

0054000300

1054502230

2211122220

1111111223

输出样例

0000000000

0000000000

0000000000

0000000000

1054000000

2254500000

【样例说明】

在上面的例子中,如果K=3,那么存在一个大小至少为K的颜色1的连通区域,同样有一个颜色2的连通区域。当它们同时被移除之后,棋盘暂时成为了这样:

0000000000

0000000300

0054000300

1054500030

2200000000

0000000003

然后,由于重力效果,干草捆下落形成这样的布局:

0000000000

0000000000

0000000000

0000000000

1054000300

2254500333

再一次地,出现了一个大小至少为K的连通区域(颜色3)。移除这个区域就得到了最终的棋盘布局:

0000000000

0000000000

0000000000

0000000000

1054000000

2254500000

 

来源/分类