El Laberint del Pintor
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
Comentaris