XXVI Olimpíada Brasileira de Informática
Submeta sua solução

Nome do arquivo: magico.x, onde x deve ser c, cpp, java, js ou py

Quadrado Mágico

Chama-se de quadrado mágico um arranjo, na forma de um quadrado, de N×N números inteiros tal que todas as linhas, colunas e diagonais têm a mesma soma.

Por exemplo, o quadrado abaixo

2 7 6
9 5 1
4 3 8

é um quadrado mágico de soma 15, pois todas as linhas (2+7+6 = 15, 9+5+1 = 15 e 4+3+8 = 15), colunas (2 + 9 + 4 = 15, 7 + 5 + 3 = 15 e 6 + 1 + 8 = 15) e diagonais (2 + 5 + 8 = 15 e 6 + 5 + 4 = 15) têm a mesma soma (15).

Tarefa

Escreva um programa que, dado um quadrado, determine se ele é magico ou não e qual a soma dele (caso seja mágico).

Entrada

A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A primeira linha da entrada de cada caso de teste contém um inteiro N (2 < N < 10). As N linhas seguintes contêm N inteiros cada, separados por exatamente um espaço em branco. Os inteiros dentro do quadrado são todos maiores que 0 (zero) e menores que 1.000.

Saída

Seu programa deve imprimir, na saída padrão, uma única linha com um inteiro representando a soma do quadrado mágico ou -1 caso o quadrado não seja mágico.

Exemplos

Entrada
3
2 7 6
9 5 1
4 3 8			
			
Saída
15			
			
Entrada
3
1 2 3
4 5 6
7 8 9
			
Saída
-1
			
Entrada
4
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1			
			
Saída
34			
			
Tarefas Programação Nível 1
Promoção:
sbc
Patrocínio
 
Apoio
 
Coordenação