#P1005. Shining Gems
Shining Gems
Description
Staginner看到了一款名叫“闪闪宝石”的小游戏,其规则如下:
- 用鼠标点击两颗上下或左右相邻的宝石就可以它他们的位置进行调换,这时如果在水平或竖直方向上不能出现三颗或更多的相同的宝石连在一起的情况,则点击的两颗宝石会恢复原位,如果出现了三颗或更多的相同的宝石连在一起的情况,则这些宝石会同时消去并得分,每消掉一颗宝石得10分。
- 如果局面无解,即交换任意两颗上下或左右相邻的宝石,都不能在水平或竖直方向上出现三个或更多的相同的宝石连在一起的情况,则游戏结束。
现在Staginner也想制作一款这样的小游戏,但他却不知道如何去判断一个局面是否有解,你能帮帮他吗?
Input
输入包含若干组数据。每组数据的第一行有2个正整数,N(3<=N<=10^3),M(3<=M<=10^3),表示游戏界面一共有N行,每行有M个宝石,接下来N行每行均有M个a-z的字符,描绘了这一行的宝石的状况,不同的字符代表了不同种类的宝石,每行的M个字符之间没有任何空格。
Output
对于每组数据,如果当前局面存在水平或竖直方向上有三颗或更多的相同的宝石连在一起的情况,输出“Combo”,如果当前局面无解,输出“Game Over”,其余情况输出“Enjoy It”。
3 3
abc
cba
abc
3 3
aab
bac
def
3 4
abca
abca
cabc
Combo
Game Over
Enjoy It