Tugas
Diberikan string huruf ASCII huruf kecil kosong a
- z
, ambil karakter pertamanya, dan:
- Kelilingi dengan kuadrat salinan karakter kedua ,
- Kelilingi itu dengan berlian salinan karakter ketiga ,
- Kelilingi itu dengan kuadrat salinan karakter keempat ...
… Berganti-ganti antara batas persegi dan berlian sampai ujung tali. Ruang kosong antara perbatasan harus diwakili oleh ruang ASCII ( ).
Untuk menambahkan batas bujur sangkar , gambarkan sebuah bujur sangkar tepat di sekitar seluruh "array kerja" saat ini:
sssssssssss
t s t s
t t s t t s
t t s t t s
t aaa t s t aaa t s
t aca t => st aca ts
t aaa t s t aaa t s
t t s t t s
t t s t t s
t s t s
sssssssssss
Untuk menambahkan batas berlian , gambar bentuk berlian terpusat yang menyentuh persegi terluar secara diagonal , tetapi tidak secara ortogonal :
s
s s
s s
s s
s s
s s
s s
wwwwwwwwwww s wwwwwwwwwww s
w o w s w o w s
w o o w s w o o w s
w o o w s w o o w s
w o eee o w s w o eee o w s
wo eme ow => s wo eme ow s
w o eee o w s w o eee o w s
w o o w s w o o w s
w o o w s w o o w s
w o w s w o w s
wwwwwwwwwww s wwwwwwwwwww s
s s
s s
s s
s s
s s
s s
s
Program Anda harus menampilkan array terakhir.
- Setiap baris dapat berisi jumlah spasi tambahan.
- Anda dapat menampilkan daftar string yang mewakili garis, atau string yang dipisahkan baris baru dengan baris tambahan opsional.
- Garis depan / kiri kosong tidak diizinkan.
- Kolom ruang terdepan juga dilarang.
Ini adalah kode-golf . Kode terpendek dalam byte menang.
Uji kasus
Contoh-contoh di atas output untuk diharapkan cat
, cats
, meow
, dan meows
, dalam membaca urutan. Beberapa kasus lain yang layak ditangani:
Untuk input
a
, program Anda harus menampilkan:a
Untuk input
ab
, program Anda harus menampilkan:bbb bab bbb
Untuk input
codegolf
, program Anda harus menampilkan:fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff f l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l ooooooooooooooooooooooooooo l f f l o g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g eeeeeeeeeee g o l f f l o g e d e g o l f f l o g e d d e g o l f f l o g e d d e g o l f f l o g e d ooo d e g o l f fl og ed oco de go lf f l o g e d ooo d e g o l f f l o g e d d e g o l f f l o g e d d e g o l f f l o g e d e g o l f f l o g eeeeeeeeeee g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g g o l f f l o g o l f f l ooooooooooooooooooooooooooo l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l l f f l f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Implementasi referensi
Saya menulis beberapa kode Julia bahwa output program Anda harus cocok (setidaknya secara visual). Cobalah online!
\r\n
) dan bukannya satu (\n
)?