#include <stdio.h>
int main() {
int k, i, j, temp, instancia = 0, solucao = 1;
int matriz[9][9], somaLinha[9], somaColuna[9], somaMatriz[3][3];
for(int cont = 0; cont < k; cont++) {
//leitura de valores para a matriz
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
scanf("%i", &matriz
[i
][j
]); }
}
//inicializa variáveis somadoras com zero
for (i = 0; i < 9; i++) {
somaLinha[i] = 0;
somaColuna[i] = 0;
somaMatriz[i/3][i%3] = 0;
//descomente o prinf abaixo para facilitar o entendimento sobre
//como a matriz está sendo preenchida sem utilizar dois for
//printf("%i %i \n", i/3, i%3);
}
//contabiliza valores para resolver o problema
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++) {
temp = matriz[i][j] * matriz[i][j];
somaLinha[i] += temp;
somaColuna[j] += temp;
somaMatriz[i/3][j/3] += temp;
//printf("%i %i %i %i %i\n", i, j, i/3, j/3, matriz[i][j]);
if (i == 8 && somaColuna[j] != 285) { break; }
}
if (somaLinha[i] != 285) { break; }
}
//mostra os resultados
instancia++;
printf("Instancia %i\n", instancia
);
//determina se é a solução
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (somaMatriz[i][j] != 285) {
solucao = 0;
}
}
}
if (solucao == 1) {
} else {
}
solucao = 1;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKCWludCBrLCBpLCBqLCB0ZW1wLCBpbnN0YW5jaWEgPSAwLCBzb2x1Y2FvID0gMTsKCWludCBtYXRyaXpbOV1bOV0sIHNvbWFMaW5oYVs5XSwgc29tYUNvbHVuYVs5XSwgc29tYU1hdHJpelszXVszXTsKCglzY2FuZigiJWkiLCAmayk7CgogICAgZm9yKGludCBjb250ID0gMDsgY29udCA8IGs7IGNvbnQrKykgewogICAgCS8vbGVpdHVyYSBkZSB2YWxvcmVzIHBhcmEgYSBtYXRyaXoKCQlmb3IoaSA9IDA7IGkgPCA5OyBpKyspIHsKCQkJZm9yKGogPSAwOyBqIDwgOTsgaisrKSB7IAoJCQkJc2NhbmYoIiVpIiwgJm1hdHJpeltpXVtqXSk7CgkJCX0KICAgIAl9CgoJCS8vaW5pY2lhbGl6YSB2YXJpw6F2ZWlzIHNvbWFkb3JhcyBjb20gemVybwoJCWZvciAoaSA9IDA7IGkgPCA5OyBpKyspIHsKCQkJc29tYUxpbmhhW2ldICAgICAgICAgPSAwOwoJCQlzb21hQ29sdW5hW2ldICAgICAgICA9IDA7CgkJCXNvbWFNYXRyaXpbaS8zXVtpJTNdID0gMDsKCQkJLy9kZXNjb21lbnRlIG8gcHJpbmYgYWJhaXhvIHBhcmEgZmFjaWxpdGFyIG8gZW50ZW5kaW1lbnRvIHNvYnJlCgkJCS8vY29tbyBhIG1hdHJpeiBlc3TDoSBzZW5kbyBwcmVlbmNoaWRhIHNlbSB1dGlsaXphciBkb2lzIGZvciAKCQkJLy9wcmludGYoIiVpICVpIFxuIiwgaS8zLCBpJTMpOwoJCX0KICAgIAogICAgCS8vY29udGFiaWxpemEgdmFsb3JlcyBwYXJhIHJlc29sdmVyIG8gcHJvYmxlbWEKCQlmb3IgKGkgPSAwOyBpIDwgOTsgaSsrKSB7CgkJCWZvciAoaiA9IDA7IGogPCA5OyBqKyspIHsKCQkJCXRlbXAgPSBtYXRyaXpbaV1bal0gKiBtYXRyaXpbaV1bal07CgkJCQlzb21hTGluaGFbaV0gICs9IHRlbXA7CgkJCQlzb21hQ29sdW5hW2pdICs9IHRlbXA7CgkJCQlzb21hTWF0cml6W2kvM11bai8zXSArPSB0ZW1wOwoJCQkJLy9wcmludGYoIiVpICVpICVpICVpICVpXG4iLCBpLCBqLCBpLzMsIGovMywgbWF0cml6W2ldW2pdKTsKCgkJCQlpZiAoaSA9PSA4ICYmIHNvbWFDb2x1bmFbal0gIT0gMjg1KSB7IGJyZWFrOyB9CgkJCX0gCgoJCQlpZiAoc29tYUxpbmhhW2ldICE9IDI4NSkgeyBicmVhazsgfQoJCX0KCgkJLy9tb3N0cmEgb3MgcmVzdWx0YWRvcwoJCWluc3RhbmNpYSsrOwoJCXByaW50ZigiSW5zdGFuY2lhICVpXG4iLCBpbnN0YW5jaWEpOwoKCQkvL2RldGVybWluYSBzZSDDqSBhIHNvbHXDp8OjbwoJCWZvciAoaW50IGkgPSAwOyBpIDwgMzsgaSsrKSB7CgkJCWZvciAoaW50IGogPSAwOyBqIDwgMzsgaisrKSB7CgkJCQlpZiAoc29tYU1hdHJpeltpXVtqXSAhPSAyODUpIHsKCQkJCQlzb2x1Y2FvID0gMDsKCQkJCX0KCQkJfQogICAgCX0KCgkJaWYgKHNvbHVjYW8gPT0gMSkgewoJCQlwcmludGYoIlNJTVxuXG4iKTsKCQl9IGVsc2UgewoJCQlwcmludGYoIk5BT1xuXG4iKTsKCQl9CgoJCXNvbHVjYW8gPSAxOwoJfQogICAgICAgICAgCiAgICByZXR1cm4gMDsKfQ==
MgoxIDMgMiA1IDcgOSA0IDYgOAo0IDkgOCAyIDYgMSAzIDcgNQo3IDUgNiAzIDggNCAyIDEgOQo2IDQgMyAxIDUgOCA3IDkgMgo1IDIgMSA3IDkgMyA4IDQgNgo5IDggNyA0IDIgNiA1IDMgMQoyIDEgNCA5IDMgNSA2IDggNwozIDYgNSA4IDEgNyA5IDIgNAo4IDcgOSA2IDQgMiAxIDUgMwoxIDMgMiA1IDcgOSA0IDYgOAo0IDkgOCAyIDYgMSAzIDcgNQo3IDUgNiAzIDggNCAyIDEgOQo2IDQgMyAxIDUgOCA3IDkgMgo1IDIgMSA3IDkgMyA4IDQgNgo5IDggNyA0IDIgNiA1IDMgMQoyIDEgNCA5IDMgNSA2IDggNwozIDYgNSA4IDEgNyA5IDIgNAo4IDcgOSA2IDQgMiAxIDMgNQ==
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