Saya sudah melakukan pencarian kata baru-baru ini, dan saya pikir itu akan jadi jauh lebih mudah jika semua kata dibaca dari kiri ke kanan. Tetapi menulis ulang semua baris membutuhkan banyak usaha! Jadi saya meminta pegolf kode untuk membantu.
(Penafian: Kisah di atas mungkin akurat atau tidak.)
Kode Anda akan mengambil kotak persegi panjang dan menampilkan semua garis melaluinya di kedua arah.
Output harus berisi semua 8 rotasi grid (kardinal dan diagonal utama), 'baca' dari atas ke bawah, kiri ke kanan. (Ini berarti bahwa setiap "baris" akan digandakan - sekali ke depan, dan sekali ke belakang.)
Divisi garis dapat berupa spasi atau pemisah baris. Jika Anda memilih spasi, divisi rotasi kisi harus berupa jeda baris; jika tidak, divisi rotasi kisi harus dua jeda baris.
Input contoh (diambil sebagai array karakter, string multiline, atau format wajar lainnya)
ABCDE
FGHIJ
KLMNO
PQRST
Contoh output (menggunakan opsi pertama untuk divisi)
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
Urutan rotasi "bacakan" tidak masalah asalkan kedelapan kardinal dan intercardinals primer dilakukan satu kali.
Ini kode-golf , jadi kode terpendek menang. Celah standar berlaku.
sumber
Jawaban:
Python 3, 181 byte
Penjelasan
Hasil
dengan output yang lebih bersih (189 byte)
.
sumber
MATL , 40 byte
Input adalah array char 2D dalam notasi Matlab:
Outputnya berisi setiap "kata" pada baris yang terpisah.
Cobalah online!
sumber