大家都玩过开心消消乐吧:有-个M行,N列的棋盘,棋盘每个格子中摆有一个颜色的水果。
一共有9种不同颜色的水果(用数字1-9分别标识)。当玩家进行一次操作改变棋盘上水果的
布局之后,棋盘上的水果将会按以下规则重新排列:
第一步:同一行或者同一列上有3个或以上紧邻的相同颜色的水果,则会消除,并且消除位
置的棋盘记为空缺位。(本步骤是一 次性消除, 如有:
112
112
222
则会一次性消除横方向和竖方向,结果是:
110
110
000
第二步:如果棋盘的空缺位上方有水果,则该水果向下方掉落填充到空缺位。并且该水果原
来的位置变成空缺位置,然后再次检查是否有满足第一步和第二步的水果, 有则重复第一步
或第二步,没有则棋盘处于稳定状态。
我们现在的游戏设计师希望对这个消消乐游戏增加一些干预,加入第三步:
先准备一个替补水果队列Q,对第二步之后处于稳定状态的棋盘进行检查,从最下最左开始,
往右检查是否有空缺位,有则从Q的最前面取出一一个水果放入,没有则往上一行从左至右检
查,直到棋盘被放满,或者Q用完为空为止,此时再进行第一步到第 三步的流程,- 直到棋
盘处于稳定状态为止。
如4*6的初始棋盘,有9种不同颜色的水果,用数字表示颜色,地图表示为:
123456
227891
322891
332111
进行消除后,空缺位用0表示,处于稳定状态的棋盘为:
103000
207450
302890
332896
替补水果队列Q:1,2,3.4.,5,6}后,棋盘为:
237454
312892
332896
输入描述:
假设3<=M<=30,3<=N<=30
输入为字符串拼接内容:
M N棋盘从左到右第一-行至最后- -行的颜色对应数字替补水果队列
输出描述:
输出最后稳定状态的第一行(棋盘顶部)从左到右的颜色
输入
4 6 123456227891322891332111 123456
输出
153600