A Grelha Contém um Ciclo?

Dada uma grelha com altura h e largura w preenchida com letras, só é permitido andar sobre as mesmas letras. Ou seja, se escolher andar nas letras a, só pode pisar em células com a letra a. A questão é saber se, ao caminhar desta forma, seria possível retornar a uma célula já visitada anteriormente. Note que não é permitido voltar diretamente para a célula imediatamente anterior. É possível apenas deslocar-se para células vizinhas na horizontal ou na vertical.
Em outras palavras, queremos saber se existe um ciclo formado pelas mesmas letras na grelha.

Entrada

A primeira linha da entrada contém dois inteiros h e w (1 ≤ h, w ≤ 200).
As h linhas seguintes contêm w caracteres alfabéticos em minúsculas (letras latinas).

Saída

O programa deve imprimir Yes se a grelha contiver um ciclo, e No caso contrário.

Exemplos

Entrada
Saída
4 4 aaaa abba abbc aaaa
Yes
4 4 aaaa abba abdc aaaa
No
4 4 aaaa abba abda aaaa
Yes
4 4 ccca cdcc ccec fccc
Yes
3 3 abb bcb bba
No
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue