Tantangan: Hasilkan keluaran berikut menggunakan sesedikit mungkin karakter:
_ _ _ _ _ _ _
| | | | ___| | | ___ __ _____ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_)
|/
Aturan dan batasan:
Anda tidak boleh menggunakan FIGLet atau alat serupa lainnya. (Kalau tidak,
figlet Hello, world!
akan menjadi solusi yang sepele dan cukup tak terkalahkan.)Program Anda harus seluruhnya terdiri dari karakter ASCII yang dapat dicetak - khususnya, titik kode 9 (TAB), 10 (LF) dan 32 - 126. (Jika bahasa / OS Anda membutuhkan jeda baris CRLF, Anda dapat menggunakannya sebagai ganti LF biasa.) Ya , sayangnya ini mendiskualifikasi bahasa apa pun yang memerlukan karakter non-ASCII (atau data non-tekstual) sebagai bagian dari sintaksnya.
Outputnya harus persis seperti contoh di atas. Anda dapat, bagaimanapun, menyertakan spasi putih tambahan di sekitar output jika Anda mau. Anda dapat mengasumsikan penspasian tab 8 karakter (atau pengaturan default bawaan platform yang Anda pilih, jika ada yang konsisten).
Ps. Untuk mengatur nominal, saya datang dengan solusi 199-char Perl. Saya belum akan mempostingnya, kalau-kalau ada orang yang datang secara independen. (Juga, ini agak murahan.) Tentu saja, ini seharusnya tidak mencegah Anda dari memposting solusi Anda sendiri, bahkan jika itu lebih lama.
Pembaruan: Sekarang han telah mengalahkannya dengan satu char, inilah solusi 199-char saya yang murahan:
use Compress'Zlib;say uncompress unpack u,'M>-I]BT$*`S$,`^]YQ=R:0,&_Z<DP?8@?WVQJ]E2J"%E$$@)R(/(/MCJ*\U!OM`Z#=5`4Y>6M=L\L%DMP&DB0V.4GQL&OOGB$4:%`4TT4!R8O-Z(^BTZWNV?>F86K:9+""-35*-LNC:T^D:_$#%^`";"DD0'
Ini sangat mirip dengan solusi DC (dan semua solusi berbasis zlib / gzip lainnya dalam berbagai bahasa), kecuali bahwa saya menggunakan uuencoding alih-alih base64 untuk teks yang dikompresi dan beberapa trik golf kecil lainnya.
Pembaruan 2 : Saya pikir sudah waktunya untuk secara resmi menerima pemenang. Tempat pertama adalah kode PHP konsolenfreddy , karena, bagaimanapun Anda menghitung karakter, ini adalah yang terpendek yang dikirimkan sejauh ini. Bahkan, menggabungkannya dengan aliran DEFLATE yang dioptimalkan dari kode 199-char Perl saya menghasilkan solusi 176-char yang lebih pendek:
<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));
Namun, saya benar-benar berpikir bahwa Han layak mendapat penghargaan kehormatan khusus untuk menjadi begitu dekat tanpa menggunakan alat dekompresi pra-tertulis. Selamat untuk Anda berdua, dan tahun baru yang bahagia untuk semua orang!