jueves, 20 de octubre de 2011

11040 - Add bricks in the wall

#include<iostream>
#include<cstring>
using namespace std;
int main() {
 ios_base::sync_with_stdio(false);
 int matriz[9][9], t;
 cin >> t;
 while (t--) {
  memset(matriz, 0, sizeof matriz);
  for (int i = 0; i < 5; i++) {
   for (int k = 0; k < i + 1; k++) {
    cin >> matriz[i * 2][k * 2];
   }
  }
  for (int i = 0; i < 9; i += 2) {
   for (int k = 1; k < i; k += 2){
    matriz[i][k] = (matriz[i - 2][k - 1] - matriz[i][k - 1] - matriz[i][k + 1]) / 2;
    matriz[i - 1][k - 1] = matriz[i][k - 1] + matriz[i][k];
    matriz[i - 1][k] = matriz[i][k] + matriz[i][k + 1];
   }
  }
  for (int i = 0; i < 9; i++) {
   bool first = true;
   for (int j = 0; j < i + 1; j++) {
    if (first) {
     cout << matriz[i][j];
     first = false;
    }
    else
     cout << " " << matriz[i][j];
   }
   cout << endl;
  }
 }
 return 0;
}

No hay comentarios:

Publicar un comentario