beecrowd | 1383

Sudoku

Maratona de Programação IME-USP Brazil
Timelimit: 1

El Sudoku se ha expandido a través del mundo, siendo el hobby más popular del planeta hoy en día. A pesar de esto, algunas personas completan la matriz de forma incorrecta, rompiendo las reglas. Tu tarea será escribir un programa que verifique si la matriz es una solución correcta al Sudoku o no.

La matriz del Sudoku es una matriz de enteros de 9 x 9. Para que una solución sea considerada correcta, cada fila y cada columna deben contener todos los números enteros entre el 1 y el 9. También, si la matriz se encuentra particionada en nueve sub-matrices de 3 x 3 (como se muestra debajo), cada una de éstas sub-matrices también debe contener todos los números del 1 al 9. La siguiente matriz es un ejemplo de una solución correcta:

Entrada

Se darán varias instancias. La primera línea contiene n > 0, el número de matrices en la entrada. Las siguientes líneas describen las n matrices. Cada matriz está descripta por 9 líneas. Estas líneas contienen 9 enteros cada una.

Salida

Por cada instancia, su programa deberá imprimir una línea conteniendo "Instancia k" , donde k es el número de instancia. En la segunda línea, su programa deberá imprimir "SIM" (si en portugués) si la matriz dada es una solución correcta al Sudoku, o "NAO" (no en portugués) en el caso contrario. Imprima una línea vacía luego de cada instancia.

Ejemplo de entrada Ejemplo de salida

2
1 3 2 5 7 9 4 6 8
4 9 8 2 6 1 3 7 5
7 5 6 3 8 4 2 1 9
6 4 3 1 5 8 7 9 2
5 2 1 7 9 3 8 4 6
9 8 7 4 2 6 5 3 1
2 1 4 9 3 5 6 8 7
3 6 5 8 1 7 9 2 4
8 7 9 6 4 2 1 5 3
1 3 2 5 7 9 4 6 8
4 9 8 2 6 1 3 7 5
7 5 6 3 8 4 2 1 9
6 4 3 1 5 8 7 9 2
5 2 1 7 9 3 8 4 6
9 8 7 4 2 6 5 3 1
2 1 4 9 3 5 6 8 7
3 6 5 8 1 7 9 2 4
8 7 9 6 4 2 1 3 5

Instancia 1
SIM

Instancia 2
NAO