Ich habe vor kurzem tut Wort sucht, und ich dachte , es wäre so viel einfacher , wenn alle Worte lesen von links nach rechts. Das Umschreiben aller Zeilen ist jedoch sehr aufwändig! Also binde ich Codegolfer ein, um zu helfen.
(Haftungsausschluss: Die obige Geschichte ist möglicherweise nicht oder nur in geringem Umfang zutreffend.)
Ihr Code nimmt ein rechteckiges Raster und gibt alle Zeilen in beide Richtungen aus.
Die Ausgabe muss alle 8 Umdrehungen des Rasters (Kardinäle und Hauptdiagonalen) enthalten und von oben nach unten und von links nach rechts abgelesen werden. (Dies bedeutet, dass jede "Zeile" dupliziert wird - einmal vorwärts und einmal rückwärts.)
Die Zeilenumbrüche können entweder Leerzeichen oder Zeilenumbrüche sein. Wenn Sie Leerzeichen auswählen, müssen die Rasterdrehungsunterteilungen Zeilenumbrüche sein. Andernfalls müssen die Rasterdrehungsunterteilungen zwei Zeilenumbrüche sein.
Beispieleingabe (als ein Array von Zeichen, eine mehrzeilige Zeichenfolge oder ein anderes vernünftiges Format)
ABCDE
FGHIJ
KLMNO
PQRST
Beispielausgabe (mit der ersten Option für Divisionen)
ABCDE FGHIJ KLMNO PQRST
E DJ CIO BHNT AGMS FLR KQ P
EJOT DINS CHMR BGLQ AFKP
T OS JNR EIMQ DHLP CGK BF A
TSRQP ONMLK JIHGF EDBCA
P QK RLF SMGA TNHB OIC JD E
PKFA QLGB RMHC SNID TOJE
A FB KGC PLHD QMIE RNJ SO T
Die Reihenfolge der "abgelesenen" Rotationen spielt keine Rolle, solange alle acht Kardinäle und primären Zwischenkardinäle einmal ausgeführt werden.
Das ist Code-Golf , also gewinnt der kürzeste Code. Es gelten Standardlücken.
quelle
Antworten:
Python 3, 181 Bytes
Erläuterung
Ergebnisse
mit einer saubereren Ausgabe (189 Bytes)
.
quelle
MATL , 40 Bytes
Die Eingabe ist ein 2D-Zeichen-Array in Matlab-Notation:
Die Ausgabe enthält jedes "Wort" in einer separaten Zeile.
Probieren Sie es online!
quelle