Мэйвезер против Макгрегора: подготовьте денежный приз

16

Вступление

26 августа 2017 года Флойд Мэйуэзер-младший встретится с Конором МакГрегором в поединке по боксу.

Оба участника получат феноменальную сумму в 100 миллионов долларов!

К сожалению, у нас пока нет денег, но мы уже можем подготовить большой портфель, который будет содержать все банкноты.

        _________________________
        |                       |
|=======================================|
|       $  $$$$$  $$$$$  $       $      |
|   $   $  $   $  $   $  $$$   $$$      |
|       $  $   $  $   $  $  $$$  $      |
|       $  $$$$$  $$$$$  $       $      |
|_______________________________________|

Портфель состоит из _, |, =и $.

Его размер составляет 41 символ в ширину (игнорируя символы новой строки) и 6 в высоту (+2 для дескриптора).

Вызов

При отсутствии ввода напишите полную программу для вывода 2D-портфеля (см. Выше).

Гол

Это , поэтому выигрывает самое короткое (в байтах) решение.

Weedoze
источник
5
Я изменил ссылки, чтобы они указывали на английскую Википедию, поскольку подавляющая часть пользователей говорит по-английски.
кот
Главный вопрос: какова ширина портфеля?
Родриго А. Перес
@cat Ой мой плохой
Weedoze
@ RodrigoA.Pérez Уже сказал в вопросе. 42 персонажа
Weedoze
@Weedoze Да, я знаю; окончательный вопрос ...
Родриго А. Перес

Ответы:

5

Жевательная резинка, 55 байт

Вероятно, можно сделать магию удаления заголовка, но я не так хорош, как Деннис!

00000000: 5380 8278 5c80 0ba6 a246 013b a8e1 aab1  S..x\....F.;....
00000010: 250e 0055 42f5 a800 1108 2028 9804 dc4c  %..UB..... (...L
00000020: 2847 059d 0229 8790 6080 6a26 3a85 6c36  (G...)..`.j&:.l6
00000030: 49b6 c713 076a 00                        I....j.

Попробуйте онлайн!

Дом Гастингс
источник
1
У меня тоже 55, работать не много ...
Алекс Ховански,
7

Желе ,  92  75 байт

⁽©Ḍṃ“_= ”x"“€Þ‘x2,6¤;"⁾_|x1,7¤z⁶ZUŒBY”$“¢=Ḷ't3y&ḅḄȥıḍḄḌṀṡḂẓPḣṁQṘ½ɗ’BT+134¤¦

Попробуйте онлайн!

Как?

Шаг 1. Создайте список строк правой половины пустого портфеля, игнорируя завершающие пробелы:

⁽©Ḍṃ“_= ”x"“€Þ‘x2,6¤;"⁾_|x1,7¤
    “_= ”                      - literal list of characters = "_= "
⁽©Ḍ                            - base 250 literal = 2674
   ṃ                           - base decompress (2674 in base: 1='_', 2='=', 0=' ')
                               -   ...yields the list of characters: "_ =    _"
                   ¤           - nilad followed by link(s) as a nilad:
           “€Þ‘                -   literal list of code page indexes = [12,20]
                2,6            -   literal list of numbers = [2,6]
               x               -   repeat -> [12,12,20,20,20,20,20,20]
         x                     - repeat -> ["_"*12, " "*12, "="*20, " "*20, ..., "_"*20]
                             ¤ - nilad followed by link(s) as a nilad:
                      ⁾_|      -   literal list of characters = "_|"
                          1,7  -   literal list of numbers = [1,7]
                         x     -   repeat -> list of characters "_|||||||"
                     "         - zip with the dyad:
                    ;          -   concatenate -> ["_"+"_"*12, "|"+" "*12, ...]

Шаг 2: преобразовать это в целый пустой портфель:

z⁶ZUŒBY
 ⁶      - literal space character
z       - transpose with filler (adds the "leading" spaces, to the 1st 2 rows)
  Z     - transpose (back from columns to rows again)
   U    - upend (reverse each row to make it a left-hand side of an empty briefcase)
    ŒB  - bounce (add a reflection of each row with one central character)
      Y - join with new lines

Шаг 3: Покажите мне деньги!

”$“¢=Ḷ't3y&ḅḄȥıḍḄḌṀṡḂẓPḣṁQṘ½ɗ’BT+134¤¦
                                     ¦ - sparse application of:
”$                                     -   literal '$' character
                                       - ...to indexes:
                                    ¤  - nilad followed by link(s) as a nilad:
  “¢=Ḷ't3y&ḅḄȥıḍḄḌṀṡḂẓPḣṁQṘ½ɗ’         - base 250 literal = 1999171130867115278012045759181600763304793110829063794065408
                              B        - convert to a binary list -> [1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
                               T       - truthy indexes -> [1,4,5,6,7,8,11,12,13,14,15,18,26,39,43,46,50,53,57,60,61,62,66,67,68,85,88,92,95,99,102,105,106,107,110,127,130,131,132,133,134,137,138,139,140,141,144,152]
                                 134   - literal 134
                                +      - addition -> [135,138,139,140,141,142,145,146,147,148,149,152,160,173,177,180,184,187,191,194,195,196,200,201,202,219,222,226,229,233,236,239,240,241,244,261,264,265,266,267,268,271,272,273,274,275,278,286]
                                       -             (that's where the $s at!)
Джонатан Аллан
источник
Ммм ... Бейте меня на 5, красавица.
Волшебная Урна Осьминога
7

JavaScript (ES6), 187 184 байта

_=>`70
78B
B2B
9F33CDB
AEFEFEF54B
9FEFEFF6DB
9F33CDB
B1B`.replace(/./g,c=>'__=$$$$ ||||$$$$'[n=+('0x'+c)].repeat(n>6?1:n?+'0005333'[n]||39:25)+' '.repeat(n-8?'0002632707307632'[n]:23))

Как?

Вывод построен с использованием этих 16 уникальных шаблонов:

ID | Character | Repeated | Following spaces | Rendering
---+-----------+----------+------------------+-------------------------------------------
 0 |     _     |    25    |         0        | "_________________________"
 1 |     _     |    39    |         0        | "_______________________________________"
 2 |     =     |    39    |         0        | "======================================="
 3 |     $     |     5    |         2        | "$$$$$  "
 4 |     $     |     3    |         6        | "$$$      "
 5 |     $     |     3    |         3        | "$$$   "
 6 |     $     |     3    |         2        | "$$$  "
 7 |   space   |     1    |         7        | "        "
 8 |     |     |     1    |        23        | "|                       "
 9 |     |     |     1    |         7        | "|       "
 A |     |     |     1    |         3        | "|   "
 B |     |     |     1    |         0        | "|"
 C |     $     |     1    |         7        | "$       "
 D |     $     |     1    |         6        | "$      "
 E |     $     |     1    |         3        | "$   "
 F |     $     |     1    |         2        | "$  "

демонстрация

Arnauld
источник
6

05AB1E , 80 байтов

•Cā½œSÖ<ô’=-¾Ì„*нcF/“è∊αΔú9d:î₅•6B5¡.B€û»•H0αű¼Āß8PβÁ19]×
ôв•bvðy.;}4ÝJ"$ |=_"‡

Попробуйте онлайн!


объяснение

Основные наброски портфеля:

05AB1E , 41 байт

•Cā½œSÖ<ô’=-¾Ì„*нcF/“è∊αΔú9d:î₅•6B5¡.B€û»

Попробуйте онлайн!

Объяснение объяснения (часть первая):

Я преобразовал общий дизайн, разрезав его пополам, заменив все символы на 2-6 и, наконец, преобразовав его в основание 255 и восстановив форму, используя 5в качестве разделителя новой строки.

•Cā½œSÖ<ô’=-¾Ì„*нcF/“è∊αΔú9d:î₅•  # Push the base-255 compressed number
6B                                # Convert it to  base-6 (the number of unique symbols)
  5¡                              # Split on 5 (the newlines).
    .B                            # Pad all elements with space to equal largest element length.
      €û                          # For each element, mirror it.
        »                         # Separate list with newlines.

77793946998265282127108152676813925695887415511783202442861719287811277

Является ли число, которое выражено в базе 255, и преобразование в базу 6 его ...

11111111444444444444511111111211111111111523333333333333333333525252525244444444444444444445

Затем, разделив это на пятерки, зеркальное отражение и присоединение к новым строкам, мы получим ...

111111114444444444444444444444411111111
111111112111111111111111111111211111111
233333333333333333333333333333333333332
2                                     2
2                                     2
2                                     2
2                                     2
244444444444444444444444444444444444442

Объяснение объяснения (часть вторая):

Начинаешь видеть, куда это идет? Затем я сжимаю внутренний шаблон как строку base-255:

•H0αű¼Āß8PβÁ19]×
ôв•

Который:

353343914082943027578174279006736773101445087

Преобразовать в двоичный файл:

1111110110000011000001101111111011111110111011011101101110110001110001111111111101101110110111011011000110111111111110110000011000001101111111011111

Для каждого из этих символов замените пробел следующим символом, итеративно:

111111114444444444444444444444411111111
111111112111111111111111111111211111111
233333333333333333333333333333333333332
211111101100000110000011011111110111112
211011101101110110111011000111000111112
211111101101110110111011011000110111112
211111101100000110000011011111110111112
244444444444444444444444444444444444442

Наконец, замените персонажей тем, кем они должны быть.

0 = '$'
1 = ' '
2 = '|'
3 = '='
4 = '_'

4ÝJ"$ |=_"‡

Для потери:

        _______________________        
        |                     |        
|=====================================|
|      $  $$$$$  $$$$$  $       $     |
|  $   $  $   $  $   $  $$$   $$$     |
|      $  $   $  $   $  $  $$$  $     |
|      $  $$$$$  $$$$$  $       $     |
|_____________________________________|

Сжимая его как два отдельных шаблона, я экономлю 20 байтов:

7ºnF@É₄S¡‘nz'W›мλнbнžSÍõ₄óð½²Ç0Δεenë3aŽÖk∍&1ŒâÜ[¤öüuиSð±zαÛʸq¥KÃĀ›Ć^ü¹ÉRKq®Ùì=Ö‚≠ØÖì¾!(Δ∍Ú

Который:

111111114444444444444444444444411111111
111111112111111111111111111111211111111
233333333333333333333333333333333333332
211111101100000110000011011111110111112
211011101101110110111011000111000111112
211111101101110110111011011000110111112
211111101100000110000011011111110111112
244444444444444444444444444444444444442

Преобразовано в базу-10:

29962958783786255124710309272045448655717311098547870227488323781868803792449842685227629539722703574931794395923080776255103394202825327279714682601797290475465885089686540986020693577678744259173981845378875732421872

92 байта плюс транслитерация, что составит около 105.

Урна волшебного осьминога
источник
3

СОГЛ , 58 57 байт

¹&‘┐4Ο"ε@»-⅜Η⁄№ν½7bč═⁴‘'⁴n{╥ι}¹54"~æαΟ9≠š:+VæΨT-⅟yu7‘'∑nž

Объяснение:

¹&‘┐                            push 20 spaces
    4Ο                          swap between the 20 spaces and "|" 9 times, resulting in "|                    |                    |                    |                    |"
      "...‘                     push "        _____________        |            |====================ŗ____________________", with ŗ replaced with the string above
           '⁴n                  split into chunks of length 21
              {╥ι}¹             palendromize horizontally
                     "...‘      push the sign - "    $  $$$$$  $$$$$  $       $$   $  $   $  $   $  $$$   $$$    $  $   $  $   $  $  $$$  $    $  $$$$$  $$$$$  $       $"
                          '∑n   split into chunks of length 30
                   54        ž  at coordinates (5;4) place the sign in the briefcase

Попробуй здесь!

54 байта ( соревнуются? )

¹&‘┐4Ο"ε@»-⅜Η⁄№ν½7bč═⁴‘'⁴n╥ι54"~æαΟ9≠š:+VæΨT-⅟yu7‘'∑nž

Используемая здесь команда - palendromize, которая работала только со строками, но была задокументирована и для массивов . (в настоящее время это реализовано только на онлайн-переводчике)
Попробуйте здесь!

dzaima
источник
3

PHP, 117 байт

Мне грустно, что нет ничего короче ленивого подхода - распакуйте строку и закодируйте ее base64:

<?=gzinflate(base64_decode(U1CAgHhcACqvwAVj1ChgB3Bxrhpb4kANF0yPChCBAIJCSIDNBqtUgapEpVTADBUUlQpYVUKVYVVJwHacwYMKagA));

Пользовательское сжатие: 188 байт

for(;$c=" 6_777
 6| 883|
|=8899|
| 5$  $3  $3  $ 5$ 4|
| 1$ 1$  $ 1$  $ 1$  $1 1$1 4|
| 5$  $ 1$  $ 1$  $  $2  $ 4|
| 5$  $3  $3  $ 5$ 4|
|_8899|"[$i++];)echo+$c?str_pad($d,$c+1,$d):$d=$c;

168 164 159 152 151 байт с адаптацией идеи :

Строки можно рассматривать как растровое изображение между граничным символом (пробелы для первых двух, труба после этого), с пробелом как 0и другим символом как 1.
Инвертирующие строки 3 и 8 дали им значение0 , поэтому я мог сдвинуть все значения на 6 бит.

Массив содержит растровые изображения (преобразованные в базу 34; но только 7 значений - 8-й элемент опущен, пустой элемент оценивается как 0 ). База 35 тоже подойдет; но база 33 имеет более длинные значения, а базе 36 потребуется еще одно значение в кавычках.

Строка содержит границу 0и 1символы в указанном порядке для каждой строки (пропуская последний символ, потому что строки 3 и 8 не нуждаются в 1символах, если бит не установлен).

for(;$i<8;)echo strtr(sprintf("b%039bb
",intval(["1g7em2",p3ob4,0,v839j,cm7f3d,sfxq9,v839j][+$i],34)<<6),b01,substr("  _  ||= | $| $| $| $|_",$i++*3));

Пользовательское сжатие по Jörg, 159 156 байт :

<?=strtr("5 _2222
5 |555  |
|===333333|
|516161504$414141$$4$$0514141  6  051616150___222222|",["$      |
|","$  $",______,"======","   ","       ","$$$"]);
Titus
источник
1
Я думаю, что это лучше. Попробуйте онлайн!
Йорг Хюльсерманн
1
Извините, я нашел лучший способ Попробовать онлайн!
Йорг Хюльсерманн
@ JörgHülsermann: я тоже
Тит
Вы могли бы изменить порядок sprintf и strtr, чтобы отбросить эхо?
Йорг Хюльсерманн
@ JörgHülsermann: Нет. Я должен преобразовать число перед заменой двоичных цифр.
Тит
2

Желе , 114 байт

“£zḂİẹḋmẋ>zạṾʂṀAYnŀ67ŻḢkðṡẉHLV'²ṙæṠṆoPẸCÞƒṿÑḢƲp4ƊƘṂɠ5×ṗ²X³⁻%ẹṄÑỊWÐh.ẹƁɗṫ0ạṢṆ@Gị}xM`JʠɠS"LṂÐ÷ṙḃ?ṄP9÷/⁵EṛṇD’ṃ“ ¶|=$_

Попробуйте онлайн!

Эрик Outgolfer
источник
2

Брайнгольф , 267 байт

764*.7,2-#&744742222222562222574474#&[# ][#_]#
[# ]#|[# ]"|
|"[#=]"|
|"[# ]#$,.[#$]# .[#$]"  $"[# ]#$,[# ]"|
|"[# ]#$[# ]"$  $"[# ]"$  $"[# ]"$  "[#$][# ][#$][# ]"|
|"[# ]"$  $"[# ]"$  $"[# ]#$[# ]#$,.[#$]"  $"[# ]"|
|"[# ]#$,.[#$]# .[#$]"  $"[# ]#$,[# ]"|
|"[#_]#|&@

Попробуйте онлайн!

Итак, гольф ...

Skidsdev
источник
2

/// , 155 байт

/~/\/\///2/  ~3/2 ~6/33~7/6 ~1/____~4/__111~5/411___~#/=============~%/$$$~&/%$$~9/$2$3$2$3$2~@/|
|~8/@7$2&2&2$7$6/ 75
 7|33377@###8@3$39%3%6@79$2%2$68@45|

Попробуйте онлайн!

Мне нравится, когда /// может соревноваться.

Объяснение:

Это работает путем определения общих замен, таких как $$$$$ определение мета-замен, которые включают в себя оригинальные замены.

Более подробно:

Прежде всего, единственная особенность /// - это /pattern/replacement/синтаксис и возможность использовать обратную косую черту, чтобы избежать других обратных и косых черт. Эта информация важна в объяснении.

Первый шаблон / замена в коде предназначен только для игры в гольф (и подробно здесь ). Он заменяется ~на //, поэтому полученный код выглядит так:

/2/  //3/2 //6/33//7/6 //1/____//4/__111//5/411___//#/=============//%/$$$//&/%$$//9/$2$3$2$3$2//@/|
|//8/@7$2&2&2$7$6/ 75
 7|33377@###8@3$39%3%6@79$2%2$68@45|

Затем производится куча базовых замен. Некоторые полагаются на другие (мета-замены), но таблица замен выглядит следующим образом (код, заключенный в `s):

Pattern             |Replacement
=====================================
`2`                 |`  `
-------------------------------------
`3`                 |`   `
-------------------------------------
`6`                 |`      `
-------------------------------------
`7`                 |`       `
-------------------------------------
`1`                 |`____`
-------------------------------------
`4`                 |`______________`
-------------------------------------
`5`                 |`_________________________`
-------------------------------------
`#`                 |`=============`
-------------------------------------
`%`                 |`$$$`
-------------------------------------
`&`                 |`$$$$$`
-------------------------------------
`@`                 |`|
                    ||` (Pipe, newline, pipe)
-------------------------------------

Мета-замены здесь такие вещи, как /&/%$$/ . Это берет уже существующую замену $$$и использует ее для определения новой замены$$$$$ .

Тогда приходят очень большие замены. Первый заменяет 9на, $ $ $ $ $ $а второй заменяет8 на:

|
|       $  $$$$$  $$$$$  $       $      

Обратите внимание на конечные пробелы.

Затем все эти замены используются в следующей строке:

 75
 7|33377@###8@3$39%3%6@79$2%2$68@45|

Чтобы получить желаемый результат.

Товарищ Спаркл Пони
источник
Вау, я хочу более подробное объяснение.
Волшебная урна осьминога
@carusocomputing Готово.
Товарищ SparklePony
2

Python 2 , 221 205 197 196 193 байта

  • Сохранено 16 байт: сжатие изменено с 16 на 36 базы
  • Сохранено 8 байт: использование a="6ZBRS533| $"иb="70JYF0U7|"
  • Сохранено 1 байт: переключен с Python 3 на 2
  • Сохранено 3 байта: удалено пробел и пара скобок (после перестановки строки-замены)
a="6ZBRS533| $"
b="70JYF0U7|"
for u in["6YKXAYYN  _","6ZKFUZR3  |",b+"= ",a,"6JNFT2RJ| $","6ZFOPPKV| $",a,b+"_ "]:print u[-3]+bin(int(u[:-3],36))[2:].replace("1",u[-2]).replace("0",u[-1])+u[-3]

Попробуйте онлайн!

Объяснение:

Каждая строка имеет общую форму, pupгде p- это граничный символ, а u - строка с двумя уникальными символами (для каждой строки), которые могут быть представлены 1 и 0. Например, строка 5:

| $ $ $ $ $ $ $$$ $$$ |

Это имеет | в качестве граничного символа и средней строки содержится только и $. Средняя строка может быть представлена:

111011101101110110111011000111000111111

Теперь эта двоичная строка может быть представлена ​​36-значным числом:

6JNFT2RJ

Мы можем представить все строки определенной строкой вместе с 36-базовой строкой, граничным символом и символами, используемыми в средней строке, следующим образом:

111111100000000000000000000000001111111  "6YKXAYYN  _"
111111101111111111111111111111101111111  "6ZKFUZR3  |"
111111111111111111111111111111111111111  "70JYF0U7|= "
111111101100000110000011011111110111111  "6ZBRS533| $"
111011101101110110111011000111000111111  "6JNFT2RJ| $"
111111101101110110111011011000110111111  "6ZFOPPKV| $" 
111111101100000110000011011111110111111  "6ZBRS533| $"
111111111111111111111111111111111111111  "70JYF0U7|_ "

Таким образом, мы можем распаковать строку base-36 (после извлечения ее из определяющей строки) в двоичную строку, заменить 1 и 0 символами (также полученными из определяющей строки), используемыми в средней строке, и склеить граничные символы на обоих концах , Таким образом, искомая строка получена.

officialaimm
источник
1
Если вы инвертируете полные строки, вы можете отрезать младшие 6 бит; это должно сэкономить 5 байтов или около того.
Тит
2

C 415 402 397 байт

#define P(x)D(x,4,4)
#define S(r,c)i=r;j=c;
#define D(x,c,n)for(k=x+n;x<k;t[i][j]=c)++x;
t[8][41]={0};i,j,k;o(x){S(2,x)P(i)P(j)S(3,x)P(j)D(i,4,3)}f(){t[1][8]=t[1][32]=92;t[4][4]=4;S(0,7)D(j,63,25)S(1,0)D(i,92,6)D(j,63,39)S(2,0)D(j,29,39)S(1,40)D(i,92,6)S(2,9)P(i)o(12);o(19);S(2,26)P(i)i-=2;D(j,4,2)++i;D(j,4,3)--i;D(j,4,3)i-=2;P(i)for(i=0;i<8;++i,puts(t))for(j=0;j<41;)printf("%c",t[i][j++]+32);}

Попробуйте онлайн!

Steadybox
источник
2

Сетчатка , 140 137 129 байт

-3 байта благодаря @Neil


8aaaa_¶8|23|¶|bbbbbb===c3A3d3d3dAA3AAA6|¶|7d3d3d2AAd6caaaaaa___|
d
A2A
c
|¶|7A2AAAAA2AAAAA2A7A6|¶|
b
======
a
______
A
$
\d+
$* 

Попробуйте онлайн!

овс
источник
Поскольку вы не используете 1s ни для чего другого, не можете ли вы написать $*<space>напрямую?
Нил
2

C (gcc) , 388 386 302 байта

char*r="8 24_08 1|22 1|01|37=1|01|6 1$2 5$2 5$2 1$7 1$5 1|01|2 1$3 1$2 1$3 1$2 1$3 1$2 3$3 3$5 1|01|6 1$2 1$3 1$2 1$3 1$2 1$2 3$2 1$5 1|01|6 1$2 5$2 5$2 1$7 1$5 1|01|37_1|";char d[9];main(i){do{if(*r==48)puts(""),r++;for(i=0;isdigit(*r);d[i++]=*r++);for(d[i]=0,i=atoi(d);i--;putchar(*r));}while(*r++);}

Попробуйте онлайн!

cleblanc
источник
1

05AB1E , 121 байт

•?íLñ>ć£P¹ĀJδšlÔ@.ì@E'a‘2‡ΔÉ₅’Õ'8¾—Hú∊‹£ñ₂C*ƶ¬}ʒ³öG`ŒªKµδB₁вÑ(δüc›½ćˆ3αÂÝβ+Í‘]~é£42îĆ$Ÿ₅Ë!∊s₆L×ä5Uñ₁δǝβζ•6B•1’₃•" _
|=$"‡

Попробуйте онлайн!

Эрик Outgolfer
источник
Вы можете сохранить байты, выражая внутренние и внешние / внутренние шаблоны как отдельные объекты и используя замену, чтобы объединить их итеративно. Я только недавно изучил эту тактику для уменьшения количества байтов базового преобразования при выполнении задачи периодической таблицы :). Bubblegum убивает его на чем-то меньшем чем 3 внутренних образца, хотя, и это только 1 :(. Codegolf.stackexchange.com/a/126995/59376
Волшебная Урна Осьминога
@carusocomputing Bubblegum даже убивает SOGL, так что не стоит этого ...
Эрик Игрок в гольф
1

JavaScript (ES6), 177 166 байт

_=>` 8_25
 8| 23|
|=39|
${r='| 7$ 2$5 2$5 2$ 7$ 6|'}
| 3$ ${s='3$ 2$ 3$ 2$ '}3$ 2$3 3$3 6|
| 7$ 2$ ${s}2$3 2$ 6|
${r}
|_39|`.replace(/(.)(\d+)/g,(_,b,c)=>b.repeat(c))

Строка содержит коллекцию символов для отображения, а также количество повторений. Если символ не повторяется, количество раз может быть опущено.

Повторяющиеся цепочки строк оптимизируются путем сохранения в переменных rи s.

Отрывок:

f=
_=>` 8_25
 8| 23|
|=39|
${r='| 7$ 2$5 2$5 2$ 7$ 6|'}
| 3$ ${s='3$ 2$ 3$ 2$ '}3$ 2$3 3$3 6|
| 7$ 2$ ${s}2$3 2$ 6|
${r}
|_39|`.replace(/(.)(\d+)/g,(_,b,c)=>b.repeat(c))

console.log(f());

Рик Хичкок
источник
0

Древесный уголь , 52 байта

←×_²⁰↑⁵|×=²⁰↖↑←×_¹³↘↙|↓↷‖O”{“↷γαc7sa%}⦃N№T⊕VⅉH➙U₂&ηy

Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:

←×_²⁰↑⁵|×=²⁰↖↑←×_¹³↘↙|

Распечатайте левую половину портфеля.

↓↷

Подготовьте курсор так, чтобы сжатая строка могла быть напечатана непосредственно после отражения. (Помещение движения вниз после отражения или до того, как сжатая строка меняет их значение.)

‖O

Подумайте, чтобы завершить портфель.

”{“↷γαc7sa%}⦃N№T⊕VⅉH➙U₂&ηy

Выведите сумму в виде сжатой строки. (К сожалению, это был самый короткий подход, так как в противном случае Mпотребляется слишком много байтов.)

Нил
источник