(Zufällig inspiriert von https://codegolf.meta.stackexchange.com/a/17272/42963 )
Bei einer rechteckigen Ziffernmatrix (dh 0 - 9
) werden die "Teile" der Matrix so ausgegeben, als ob die Ziffern in aufsteigender Reihenfolge durch die Ziffern zu einem einzigen Stück zusammengefügt wären. Die Teile werden garantiert nur orthongonal verbunden - kein Teil wird diagonal verbunden. Es gibt immer nur maximal 10 Teile (dh ein Teil 3
erscheint nicht zweimal in derselben Matrix).
Zum Beispiel angesichts der Matrix
0 1 1 1
0 0 1 2
3 3 2 2
Das Folgende sind die Stücke und eine Beispielausgabe:
0
0 0
1 1 1
1
2
2 2
3 3
Der Abstand ist wichtig, um die Form der Teile beizubehalten, aber die Teile benötigen nicht unbedingt einen Innenabstand. Die Teile selbst sollten auf einheitliche Weise voneinander unterschieden werden (z. B. eine neue Linie zwischen den Teilen, um sicherzustellen, dass jedes einen anderen Charakter hat usw.). Darüber hinaus sind überflüssige Leerzeichen (z. B. nachfolgende Zeilenumbrüche oder führende Spalten) nicht zulässig. Zum Beispiel wäre auch Folgendes gültig:
0
00
111
1
2
22
33
oder
#
##
###
#
#
##
##
Folgendes wäre jedoch nicht der Fall (beachten Sie die nachgestellten Leerzeichen hinter dem 0
s):
0
0 0
Drehungen oder Reflexionen sind ebenfalls nicht zulässig. Zum Beispiel Ausgabe
1
111
für die obige Matrix ist auch ungültig.
Die Matrixstücke können Löcher haben oder nur ein einzelnes Element sein:
0 0 0 1
0 2 0 1
0 0 0 3
Oder das Stück kann die gesamte Matrix sein:
0 0 0
0 0 0
Hier ist ein größerer, komplizierterer Testfall:
1 1 1 1 1 2 2
3 4 4 4 2 2 2
5 5 4 4 2 0 0
5 6 6 6 6 7 7
5 6 8 8 6 6 7
9 6 6 6 7 7 7
Und eine Beispielausgabe:
00
11111
22
222
2
3
444
44
55
5
5
6666
6 66
666
77
7
777
88
9
Regeln und E / A.
- Die Ein- und Ausgabe kann mit jeder geeigneten Methode erfolgen .
- Sie können es in STDOUT drucken oder als Funktionsergebnis zurückgeben.
- Entweder ein vollständiges Programm oder eine Funktion sind akzeptabel.
- Führende Leerzeichen zum Beibehalten der Form (z. B. die "T" -Form des
1
Beispiels) sind erforderlich, konsistente Leerzeichen, um die Teile zu unterscheiden, und eine einzelne nachfolgende neue Zeile am Ende ist zulässig, aber keine anderen Leerzeichen sind zulässig. - Sie können sicher davon ausgehen , dass die Stücke sind nummeriert ,
0
umN
zusammenhängend, was bedeutet , dass (beispielsweise)3
nicht in einer sechsteiligen Matrix übersprungen werden. - Standardlücken sind verboten.
- Dies ist Code-Golf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Bytes) gewinnt.
0
als Füllwert verwendet wird? Also würde jedes Stück mit den restlichen Werten in der Matrix ausgegeben werden, die auf0
-1
oder einem anderen Wert anstelle von nichts / Leerzeichen wäre jedoch nicht in Ordnung.
' '
in diesem Fall das Leerzeichen ( ) verwendet werden?
-1
oder einem Leerzeichen, das ein leeres Leerzeichen darstellt, oder wenn möglich ohne Element)?