Завдання: Отримайте такий результат, використовуючи якомога менше символів:
_ _ _ _ _ _ _
| | | | ___| | | ___ __ _____ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_)
|/
Правила та обмеження:
Ви не можете використовувати FIGLet або будь-які подібні інструменти. (Інакше це
figlet Hello, world!
було б тривіальним і майже неперевершеним рішенням.)Ваша програма повинна складатися повністю з друкованих символів ASCII - зокрема, кодів 9 (TAB), 10 (LF) та 32 - 126. (Якщо для вашої мови / ОС потрібні розриви рядків CRLF, ви можете використовувати їх замість простих LF). Так , це, на жаль, дискваліфікує будь-яку мову, що вимагає символів, що не належать до ASCII (або нетекстових даних), як частини свого синтаксису.
Вихід повинен виглядати точно так, як показано вище. Однак ви можете включити додатковий пробіл навколо виводу, якщо хочете. Ви можете припустити проміжок між вкладками з 8 символів (або початкове налаштування вибраної платформи за замовчуванням, якщо воно має відповідне).
Пс. Щоб встановити номінал, я придумав 199-шарове рішення Perl. Я поки не публікую його, якщо хтось придумає це самостійно. (Крім того, це щось нахабно.) Звичайно, це не повинно відштовхувати вас від публікації власного рішення, навіть якщо воно довше.
Оновлення: Тепер, коли хан побив його одним чаром, ось моє сирне рішення з перламутровим Perl:
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'
Це дуже схоже на рішення DC (і всі інші рішення, засновані на zlib / gzip різними мовами), за винятком того, що я використовував uuencoding замість base64 для стисненого тексту та декількох інших дрібних гольф-хитрощів.
Оновлення 2 : Я думаю, що настав час офіційно прийняти переможця. Перше місце займає konsolenfreddy «s PHP коду, так як , проте ви порахувати символи, це є найкоротшим , представлений до сих пір. Насправді, поєднуючи його з оптимізованим потоком DEFLATE з мого 199-символьного коду Perl, ви отримаєте ще коротше рішення у 176 знаків:
<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));
Однак я вважаю, що Хан заслуговує на особливу почесну згадку за те, що він наблизився без використання попередньо написаних інструментів декомпресії. Вітаємо вас обох і щасливого нового року всім!