Zielsetzung
Füllen Sie die Ungleichungen mit einem vorgegebenen Zahlenraster aus.
Annahmen
Die Anzahl der Spalten und Zeilen im Raster ist gleich.
Die maximale Größe des Rasters beträgt 12x12.
Das Gitter besteht nur aus ganzen Zahlen 0-9.
Die Ausgabe kann eine nachgestellte Newline enthalten.
Die Eingabe erfolgt genau wie unten beschrieben, einschließlich Leerzeichen und Zeilenumbrüchen.
Beispiel Eingabe
4 2 3 1
6 2 3 1
6 9 2 1
0 2 1 6
Beispielausgabe
4>2<3>1
^ " " "
6>2<3>1
" ^ v "
6<9>2>1
v v v ^
0<2>1<6
Beispieleingabe (2)
1 2 3 4 5
5 4 3 2 1
0 0 0 3 2
3 2 0 0 0
2 1 3 1 5
Beispielausgabe (2)
1<2<3<4<5
^ ^ " v v
5>4>3>2>1
v v v ^ ^
0=0=0<3>2
^ ^ " v v
3>2>0=0=0
v v ^ ^ ^
2>1<3>1<5
Beispiel Eingabe (3)
8
Beispielausgabe (3)
8
Beispiel Eingabe (4)
0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 0
0 1 2 3 4 5 6 7 8 9 1 0
0 1 3 9 8 7 6 5 4 8 1 0
0 1 4 8 9 8 7 6 5 7 1 0
0 1 5 7 8 9 9 7 6 6 1 0
0 1 6 6 7 9 9 8 7 5 1 0
0 1 7 5 6 7 8 9 8 4 1 0
0 1 8 4 5 6 7 8 9 3 1 0
0 1 9 8 7 6 5 4 3 2 1 0
0 1 1 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0
Beispielausgabe (4)
0=0=0=0=0=0=0=0=0=0=0=0
" ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ "
0<1=1=1=1=1=1=1=1=1=1>0
" " ^ ^ ^ ^ ^ ^ ^ ^ " "
0<1<2<3<4<5<6<7<8<9>1>0
" " ^ ^ ^ ^ " v v v " "
0<1<3<9>8>7>6>5>4<8>1>0
" " ^ v ^ ^ ^ ^ ^ v " "
0<1<4<8<9>8>7>6>5<7>1>0
" " ^ v v ^ ^ ^ ^ v " "
0<1<5<7<8<9=9>7>6=6>1>0
" " ^ v v " " ^ ^ v " "
0<1<6=6<7<9=9>8>7>5>1>0
" " ^ v v v v ^ ^ v " "
0<1<7>5<6<7<8<9>8>4>1>0
" " ^ v v v v v ^ v " "
0<1<8>4<5<6<7<8<9>3>1>0
" " ^ ^ ^ " v v v v " "
0<1<9>8>7>6>5>4>3>2>1>0
" " v v v v v v v v " "
0<1=1=1=1=1=1=1=1=1=1>0
" v v v v v v v v v v "
0=0=0=0=0=0=0=0=0=0=0=0
Antworten:
Pyth, 46 Bytes
Probieren Sie es online aus: Demonstration
quelle
CJam, 52 Bytes
Probieren Sie es online im CJam-Interpreter aus .
Vielen Dank an @CroCo für den Hinweis auf einen Fehler in Revision 3.
Vielen Dank an @Pyrrha für den Hinweis auf einen Fehler in Revision 6.
Wie es funktioniert
quelle
Python 2,
207197 BytesDieser erzeugt eine Funktion f, die das Zahlengitter als Zeichenkette verwendet und die entsprechende Zeichenkette mit gefüllten Ungleichungen zurückgibt.
Die Funktion durchläuft jedes Zeichen in der Zeichenfolge. Wenn das Zeichen ein Leerzeichen ist, wird es durch die Ungleichung der Zahlen auf beiden Seiten ersetzt. Wenn das Zeichen und das nächste Zeichen Zeilenumbrüche sind, wird die gesamte Zeile durch die Ungleichungen für alle darüber und darunter stehenden Zahlen ersetzt.
Hier ist die Ausgabe der Funktion für jedes der Beispiele in der Frage, mit Ausnahme des wirklich langen:
quelle
C,
552408 BytesDies ist ein Chaos, aber es funktioniert mit den Testfällen (für das Solo
8
muss auf die Eingabe eine neue Zeile folgen, um richtig zu funktionieren)Hier ist die erweiterte Version; Ich würde gerne hier Möglichkeiten finden, wie ich dies effektiver Golf spielen kann. Ich weiß, dass es hier noch viel zu verbessern gibt.
quelle
s=t>b?'v':t<b?'^':'"';
Beachten Sie, dass es nicht erforderlich ist, zu überprüfen, ob zwei Werte gleich sind, nachdem Sie bereits überprüft haben, ob der eine oder der andere größer ist. Es gibt nur 3 Möglichkeiten.JavaScript (ES6) 162
quelle
Haskell, 201 Bytes
g
erwartet eine Zeichenfolge.quelle