Défi:
Étant donné une matrice d'entrée carrée A , complétez la matrice avec une ligne et une colonne sur les quatre côtés.
- La valeur de chaque élément de la ligne supérieure et inférieure doit être la somme des éléments de chaque colonne correspondante.
- La valeur de chaque élément dans la colonne de gauche et de droite doit être la somme des éléments de chaque ligne correspondante.
- La valeur des éléments en haut à gauche et en bas à droite doit être la somme des éléments sur la diagonale
- La valeur des éléments en haut à droite et en bas à gauche doit être la somme des éléments dans l'anti-diagonale.
Exemple:
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
Explication:
Les éléments en haut à gauche et en bas à droite sont la somme de la diagonale 1 + 2 + 5 = 8 . Les éléments en haut à droite et en bas à gauche sont la somme de l'anti-diagonale 2 + 2 + 3 = 7 .
Les rangées du haut et du bas (sauf les coins) sont la somme de chacune des colonnes de A : 1 + 3 + 2 = 6 , 5 + 2 + 5 = 12 et 3 + 4 + 5 = 12 . De même, les colonnes gauche et droite (sauf les coins) sont la somme de chacune des lignes de A : 1 + 5 + 3 = 9 , 3 + 2 + 4 = 9 et 2 + 5 + 5 = 12 .
Contribution:
- Une matrice carrée non vide, avec des entiers non négatifs.
- Format optionnel
Sortie:
- La matrice rembourrée comme expliqué ci-dessus
- Format facultatif, mais il doit être identique au format d'entrée
Cas de test:
Utilisez les soumissions de ce défi si vous souhaitez convertir le format d'entrée en un format plus approprié (par exemple [[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
C'est le golf de code , donc la solution la plus courte dans chaque langue l' emporte. Les explications sont fortement encouragées.