Sfida:
Data una matrice di input quadrata A , riempire la matrice con una riga e una colonna su tutti e quattro i lati.
- Il valore di ciascun elemento nella riga superiore e inferiore dovrebbe essere la somma degli elementi in ciascuna colonna corrispondente.
- Il valore di ciascun elemento nella colonna sinistra e destra dovrebbe essere la somma degli elementi in ciascuna riga corrispondente.
- Il valore degli elementi nell'angolo in alto a sinistra e nell'angolo in basso a destra dovrebbe essere la somma degli elementi sulla diagonale
- Il valore degli elementi nell'angolo in alto a destra e nell'angolo in basso a sinistra dovrebbe essere la somma degli elementi nell'anti-diagonale.
Esempio:
A =
1 5 3
3 2 4
2 5 5
Output:
8 6 12 12 7
9 1 5 3 9
9 3 2 4 9
12 2 5 5 12
7 6 12 12 8
Spiegazione:
Gli elementi in alto a sinistra e in basso a destra sono la somma della diagonale 1 + 2 + 5 = 8 . Gli elementi in alto a destra e in basso a sinistra sono la somma dell'anti-diagonale 2 + 2 + 3 = 7 .
La riga superiore e inferiore (tranne gli angoli) sono la somma di ciascuna delle colonne in A : 1 + 3 + 2 = 6 , 5 + 2 + 5 = 12 e 3 + 4 + 5 = 12 . Allo stesso modo, la colonna sinistra e destra (tranne gli angoli) sono la somma di ciascuna delle righe di A : 1 + 5 + 3 = 9 , 3 + 2 + 4 = 9 e 2 + 5 + 5 = 12 .
Ingresso:
- Una matrice quadrata non vuota, con numeri interi non negativi.
- Formato opzionale
Produzione:
- La matrice è imbottita come spiegato sopra
- Formato opzionale, ma deve essere uguale al formato di input
Casi test:
Utilizzare gli invii in questa sfida se si desidera convertire il formato di input in uno più adatto (ad esempio [[1, 5],[0, 2]]
).
0
----------------
0 0 0
0 0 0
0 0 0
1 5
0 2
----------------
3 1 7 5
6 1 5 6
2 0 2 2
5 1 7 3
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
----------------
65 65 65 65 65 65 65
65 17 24 1 8 15 65
65 23 5 7 14 16 65
65 4 6 13 20 22 65
65 10 12 19 21 3 65
65 11 18 25 2 9 65
65 65 65 65 65 65 65
15 1 2 12
4 10 9 7
8 6 5 11
3 13 14 0
----------------
30 30 30 30 30 30
30 15 1 2 12 30
30 4 10 9 7 30
30 8 6 5 11 30
30 3 13 14 0 30
30 30 30 30 30 30
Questo è code-golf , quindi vince la soluzione più breve in ogni lingua . Le spiegazioni sono fortemente incoraggiate.