Stellen Sie sich die folgenden Diagramme als Sätze vertikaler Kreuzungsrohre vor.
1 2 1 2 1 2 3 4
\ / \ / \ / \ /
X | | |
/ \ / \ / \ / \
2 1 1 2 | X |
\ / \ /
X X
/ \ / \
3 1 4 2
In dem äußersten linken Diagramm, das 1und 2nach unten rutscht ihre jeweiligen Schrägstriche, überquert an den X, und kommt an den gegenüberliegenden Seiten , von wo aus sie gestartet.
Es ist die gleiche Idee im mittleren Diagramm, aber das |bedeutet, dass sich die Pfade nicht kreuzen, sodass sich nichts ändert.
Das Diagramm ganz rechts zeigt eine komplexere Rohrführung, 1 2 3 4in die permeiert wird 3 1 4 2.
Tor
Ihr Ziel bei dieser Code-Golf-Herausforderung ist es, diese "Rohrleitungsdiagramme" bei einer Permutation wie z 3 1 4 2. Das kürzeste Programm in Bytes gewinnt.
Einzelheiten
- Die Eingabe erfolgt von stdin als Permutation der Zahlen von 1 bis n, die durch Leerzeichen getrennt sind, wobei n eine positive ganze Zahl ist. Sie können davon ausgehen, dass alle Eingaben korrekt sind.
Die Ausgabe des Routing-Diagramms geht auf stdout.
- Wenn Sie die Zahlen 1 bis n nacheinander oben im Diagramm ablegen, wird die Eingabepermutation unten ausgegeben. (Oben und unten sind immer Schrägstriche.)
- Das Diagramm muss nicht optimal klein sein. Es können so viele Ebenen wie nötig sein, solange es korrekt ist.
- Das Diagramm sollte nur die Zeichen
\/ X|sowie die Zeilenumbrüche (keine Zahlen) enthalten. |sollte immer an den äußersten Kreuzungen verwendet werden, da die VerwendungXkeinen Sinn ergibt.- Ein paar führende oder nachfolgende Leerzeichen sind in Ordnung, solange das Diagramm korrekt ausgerichtet ist.
Beispiele
Eine Eingabe von 3 1 4 2könnte erzeugen (wie oben)
\ / \ /
| |
/ \ / \
| X |
\ / \ /
X X
/ \ / \
Eine Eingabe von 1könnte produzieren
\
|
/
|
\
|
/
Eine Eingabe von 3 2 1könnte produzieren
\ / \
X |
/ \ /
| X
\ / \
X |
/ \ /
Eine Eingabe von 2 1 3 4 6 5könnte produzieren
\ / \ / \ /
X | X
/ \ / \ / \
Xsich direkt mit einem verbinden, |wie es ein /tut? Zu einem anderen X?
row of slashes, row of X's and |'s, row of slashes, row of X's and |'s, ... Format.
ngrößer als 10 sein?
