Uma variante comum no gênero puzzle dos jogos eletrônicos é o Match 3, onde o jogador tem que encontrar e eliminar grupos de três ou mais peças de mesmo tipo e/ou cor. Em geral, as peças estão dispostas em em uma matriz bidimensional, e os grupos devem ser formados tanto na vertical quanto na horizontal, embora em alguns jogos outras direções e combinações sejam possíveis.
Quando não há nenhuma jogada válida, isto é, não há nenhum grupo de peças que possa ser eliminado, ou a partida termina, tirando uma chance do jogador, ou a matriz é reembaralhada, de modo que passe a existir novas jogadas. Determinar se há ou não jogadas válidas também é útil no sentido de gerar dicas para o jogador, caso este esteja com dificuldades em encontrar uma jogada possível.
Dado uma matriz com linhas e colunas e a disposição das peças, determine se existe ou não uma jogada válida.
A primeira linha da entrada contém os valores dos inteiros e (), separados por um espaço em branco, que representam as dimensões da matriz.
Cada uma das próximas linhas contém caracteres alfabéticos maiúsculos, onde -ésimo caractere da -ésima linha representa o elemento que o ocupa a -ésima linha, -ésima coluna da matriz. Cada caractere representa um tipo distinto de peça.
Imprima, em uma linha, a mensagem “Sim”, caso ainda
exista ao menos um movimento válido, ou a mensagem “Nao”“,
caso contrário.
3 3
ABC
CAB
BCA
Nao
3 4
ABCD
EFGH
IJKL
Nao
3 3
ABB
CBC
AAA
Sim
4 4
ABCB
BDDB
DBDB
EEEA
Sim