Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main() {
- // A soma do quadrado de cada termo em uma linha/coluna deve somar 285
- int instancia;
- int i, j, k;
- int m[9][9];
- int valida = 1;
- int soma = 285;
- scanf("%d", instancia);
- for (i = 0; i < instancia; i++) {
- for (j = 0; j < 9; j++) {
- for (k = 0; k < 9; k++) {
- scanf("%d", &m[j][k]);
- }
- }
- int somaLinha[9], somaColuna[9], somaMatriz[3][3];
- for (j = 0; j < 9; j++) {
- somaLinha[j] = somaColuna[j] = somaMatriz[j/3][j%3] = 0;
- }
- for (j = 0; j < 9; j++) {
- for (k = 0; k < 9; k++) {
- int termo = m[j][k];
- termo *= termo;
- somaLinha[j] += termo;
- somaColuna[k] += termo;
- somaMatriz[j/3][k/3] += termo;
- if (j == 8 && somaColuna[k] != soma) valida = 0;
- }
- if (somaLinha[j] != soma) valida = 0;
- }
- for (j = 0; j < 3; j++) {
- for (k = 0; k < 3; k++) {
- if (somaMatriz[j][k] != soma) valida = 0;
- }
- }
- printf("INSTANCIA %d\n", i+1);
- if (valida) printf("SIM\n");
- else printf("NAO\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement