O puzzle Click Color consiste em um tabuleiro quadrado de dimensão , onde cada casas contém uma cor (amarelo ou magenta). O objetivo do jogador é fazer com que todos os quadrados do tabuleiro tenham a mesma cor, sendo que o único movimento válido é clicar em um dos quadrdados: quando isto acontece, o quadrado clicado e todos os seus vizinhos nas direções norte, sul, leste e oeste (se existirem) trocam suas respectivas cores (de amarelo para magenta e vice-versa).
A figura abaixo ilustra o tabuleiro antes e depois de um click no quadrado que está na primeira linha, segunda coluna:
Dado o estado inicial do tabuleiro, determine o número mínimo de movimentos para a solução do problema, se existir.
A primeira linha da entrada contém a dimensão
()
do tabuleiro. As
linhas seguintes contém
caracteres que representam as cores de cada quadrado do tabuleiro: o
-ésimo
caractere
()
da
-ésima
linha
()
contém a cor do quadrado da posição
()
do tabuleiro (cuja posição (1, 1) é o canto superior esquerdo):
Y para amarelo, M para magenta.
Imprima, em uma linha, o número mínimo de movimentos para a solução do problema. Em seguida, devem ser impressas , onde a -ésima linha contém as coordenadas e da célula que deve ser clicada no -ésimo movimento da sequência que leva a solução do problema, separadas por um espaço em branco.
Caso exista mais de uma sequência que resolva o problema em movimentos, imprima qualquer uma delas. Caso não exista uma solução para o tabuleiro dado, imprima o valor .
3
MMM
MMM
MMM
0
Explicação do exemplo 1: O problema já está resolvido, não sendo necessário nenhum movimento.
3
YMY
MYM
YMY
4
1 2
2 1
2 3
3 2
Explicação do exemplo 2: A sequência de movimentos do segundo caso está ilustrada abaixo:
4
MMYY
YMYM
YYYY
YYMM
-1