El Laberint del Pintor


Submit solution

Points: 7 (partial)
Time limit: 1.0s
Memory limit: 62M

Author:
Problem type
Matrius
Category
Lliga de Programació FP
Allowed languages
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

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

SI
NO
SI

Comments

There are no comments at the moment.