Herausforderung:
Füllen Sie die Matrix mit einer quadratischen Eingangsmatrix A auf allen vier Seiten mit einer Zeile und einer Spalte auf.
- Der Wert jedes Elements in der oberen und unteren Zeile sollte die Summe der Elemente in jeder entsprechenden Spalte sein.
- Der Wert jedes Elements in der linken und rechten Spalte sollte die Summe der Elemente in jeder entsprechenden Zeile sein.
- Der Wert der Elemente in der oberen linken und unteren rechten Ecke sollte die Summe der Elemente in der Diagonale sein
- Der Wert der Elemente in der oberen rechten und unteren linken Ecke sollte die Summe der Elemente in der Antidiagonale sein.
Beispiel:
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
Erläuterung:
Die Elemente oben links und unten rechts sind die Summe der Diagonalen 1 + 2 + 5 = 8 . Die Elemente oben rechts und unten links sind die Summe der Antidiagonalen 2 + 2 + 3 = 7 .
Die obere und untere Reihe (mit Ausnahme der Ecken) ist die Summe der Spalten in A : 1 + 3 + 2 = 6 , 5 + 2 + 5 = 12 und 3 + 4 + 5 = 12 . In ähnlicher Weise sind die linke und rechte Spalte (mit Ausnahme der Ecken) die Summe jeder der Reihen von A : 1 + 5 + 3 = 9 , 3 + 2 + 4 = 9 und 2 + 5 + 5 = 12 .
Eingang:
- Eine nicht leere quadratische Matrix mit nicht negativen ganzen Zahlen.
- Optionales Format
Ausgabe:
- Die Matrix wird wie oben beschrieben aufgefüllt
- Optionales Format, muss jedoch mit dem Eingabeformat identisch sein
Testfälle:
Verwenden Sie die Übermittlungen in dieser Challenge, wenn Sie das Eingabeformat (zum Beispiel [[1, 5],[0, 2]]
) in ein geeigneteres Format konvertieren möchten .
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
Das ist Code-Golf , also gewinnt die kürzeste Lösung in jeder Sprache . Erklärungen sind ausdrücklich erwünscht.