Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.15 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.   // A soma do quadrado de cada termo em uma linha/coluna deve somar 285
  5.   int instancia;
  6.   int i, j, k;
  7.   int m[9][9];
  8.   int valida = 1;
  9.   int soma = 285;
  10.  
  11.   scanf("%d", instancia);
  12.  
  13.   for (i = 0; i < instancia; i++) {
  14.     for (j = 0; j < 9; j++) {
  15.       for (k = 0; k < 9; k++) {
  16.         scanf("%d", &m[j][k]);
  17.       }
  18.     }
  19.    
  20.     int somaLinha[9], somaColuna[9], somaMatriz[3][3];
  21.    
  22.     for (j = 0; j < 9; j++) {
  23.         somaLinha[j] = somaColuna[j] = somaMatriz[j/3][j%3] = 0;
  24.     }
  25.    
  26.     for (j = 0; j < 9; j++) {
  27.       for (k = 0; k < 9; k++) {
  28.         int termo = m[j][k];
  29.         termo *= termo;
  30.         somaLinha[j] += termo;
  31.         somaColuna[k] += termo;
  32.         somaMatriz[j/3][k/3] += termo;
  33.        
  34.         if (j == 8 && somaColuna[k] != soma) valida = 0;
  35.       }
  36.       if (somaLinha[j] != soma) valida = 0;
  37.     }
  38.    
  39.     for (j = 0; j < 3; j++) {
  40.       for (k = 0; k < 3; k++) {
  41.         if (somaMatriz[j][k] != soma) valida = 0;
  42.       }
  43.     }
  44.    
  45.     printf("INSTANCIA %d\n", i+1);
  46.     if (valida) printf("SIM\n");
  47.     else printf("NAO\n");
  48.   }
  49.  
  50.   return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement