Definition
Eine Pfeilspitzenmatrix ist eine Matrix , in der alle Einträge gleich 0 sind , mit Ausnahme der Einträge in der Hauptdiagonale, der oberen Reihe und der ganz linken Spalte. Mit anderen Worten sollte die Matrix so aussehen:
* * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 *
Wobei jedes * ein Eintrag ungleich Null ist.
Aufgabe
Überprüfen Sie anhand einer quadratischen Matrix nicht negativer Ganzzahlen, ob es sich um eine Pfeilspitze gemäß der obigen Definition handelt.
Sie können nicht die Größe der Matrix als Eingabe, es sei denn , äquivalent Ihre Sprache ist zu einem Array so etwas wie ein Zeiger und eine Länge (wie C). Es wird immer mindestens 3 x 3 sein.
Der kürzeste Code in Bytes in jeder Sprache gewinnt.
Ein- und Ausgang
Sie können eines der folgenden Formate für den Empfang von Eingaben auswählen:
- Eine Matrix im nativen Matrixtyp (falls Ihre Sprache eine hat)
- Ein 2D-Array 1 (ein Array von 1D-Arrays, die jeweils einer Zeile entsprechen)
- Ein 1D-Array (da die Matrix immer quadratisch ist)
- Ein String (Sie haben den Abstand gewählt, aber bitte missbrauchen Sie diesen in keiner Weise).
Wenn es um die Ausgabe geht, können Sie entweder einen Wahrheits- / Falschwert gemäß der Standarddefinition für Entscheidungsprobleme melden oder zwei unterschiedliche und konsistente Werte auswählen.
Darüber hinaus können Sie Eingaben und Ausgaben mit jeder Standardmethode und in jeder Programmiersprache vornehmen , wobei zu beachten ist, dass diese Lücken standardmäßig verboten sind. Wenn Sie ein anderes Format auswählen möchten oder unsicher sind, fragen Sie bitte in den Kommentaren.
1: oder die Entsprechung Ihrer Sprache (Liste, Vektor usw.)
Beispiele
Schauen wir uns die folgenden Beispiele an:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
Dies ist eine Pfeilspitzenmatrix (Ihre Programme sollten einen Wahrheitswert melden), da die Elemente in der Hauptdiagonale 1 1 1 1
, die in der oberen Reihe 1 2 2 2
und die in der linken Spalte sind 1 2 3 4
. Alle anderen Einträge sind 0 , dies erfüllt also alle Bedingungen.
3 5 6 7 1 0 8 0 0
Diese Matrix ist keine Pfeilspitze, da sich auf der Hauptdiagonale eine 0 befindet .
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
Diese ist auch keine Pfeilspitze, da sie eine 7 anstelle einer 0 enthält .
Weitere Testfälle
Wahrheit:
[[1, 1, 1], [1, 1, 0], [1, 0, 1]] [[1, 2, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 2, 2, 2], [2, 1, 0, 0], [3, 0, 1, 0], [4, 0, 0, 1]] [[34, 11, 35, 5], [56, 567, 0, 0], [58, 0, 679, 0], [40, 0, 0, 7]]
Falsch:
[[3, 5, 6], [7, 1, 0], [8, 0, 0]] [[9, 9, 9, 9], [9, 9, 0, 0], [9, 7, 9, 0], [9, 0, 0, 9]] [[1, 0, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]] [[1, 6, 3, 4], [13, 2, 0, 6], [29, 0, 1, 0], [2, 0, 0, 4]]