El Laberint del Pintor


Enviar solució

Punts: 7 (parcial)
Temps Límit: 1.0s
Límit de memòria: 62M

Autor/a:
tipus del problema
Matrius
Categoria
Lliga de Programació FP
Llenguatges permesos
Bash, C#, C++, Haskell, Java, Kotlin, PHP, Python

:( Un pintor està decorant habitacions en un edifici. Cada dia pinta exactament una habitació, i per raons de seguretat, no pot pintar habitacions que siguin adjacents entre un dia i el següent (compartint paret, és a dir, a dalt, a baix, a l'esquerra o a la dreta) ja que els vapors de la pintura podrien barrejar-se. Se't donarà una matriu que representa les habitacions que el pintor ha pintat, on cada número representa el dia en què es va pintar aquesta habitació (0 significa que l'habitació no s'ha pintat). Has de determinar si el pla de pintat és vàlid segons les regles de seguretat.

Entrada

La primera línia conté un número T que indica el nombre de casos de prova. Per a cada cas de prova:

La primera línia conté dos números N, M que indiquen les dimensions de la matriu (N×M). Després segueixen N línies, cadascuna amb M números, on cada número representa el dia en què es va pintar aquesta habitació (0 si no es va pintar, o un número positiu indicant el dia).

Sortida

Per a cada cas de prova, imprimeix "SI" si el pla de pintat compleix amb les regles de seguretat, o "NO" si viola alguna regla.

Exemple d'Entrada

Copy
3
3 3
1 0 3
0 2 0
4 0 5
2 3
1 2 3
4 5 6
3 3
1 0 2
0 3 0
4 0 5

Exemple de Sortida

Copy
SI
NO
SI

Comentaris

En aquests moments no hi ha comentaris.