Mayweather vs McGregor: เตรียมรางวัลเงินสด


16

บทนำ

ในวันที่ 26 สิงหาคม 2017 Floyd Mayweather จูเนียร์จะเผชิญหน้ากับConor McGregorในการแข่งขันชกมวย

ผู้เข้าร่วมทั้งสองจะได้รับปรากฎการณ์ 100 ล้านดอลลาร์!

น่าเสียดายที่เรายังไม่มีเงิน แต่เราสามารถเตรียมกระเป๋าเอกสารใบใหญ่ที่จะบรรจุธนบัตรทั้งหมดได้

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

กระเป๋าเอกสารประกอบด้วย_, |, และ=$

มันมีขนาดความกว้าง 41 ตัวอักษร (ละเว้นบรรทัดใหม่) และความสูง 6 ตัว (+2 สำหรับที่จับ)

ท้าทาย

ไม่มีการป้อนข้อมูลให้เขียนโปรแกรมเต็มรูปแบบเพื่อส่งออกกระเป๋าเอกสาร 2 มิติ (ดูด้านบน)

คะแนน

นี่คือดังนั้นการแก้ปัญหาที่สั้นที่สุด (เป็นไบต์) ชนะ


5
ฉันได้เปลี่ยนการเชื่อมโยงเพื่อชี้ไปที่วิกิพีเดียเป็นภาษาอังกฤษเนื่องจากมีผู้ใช้งานร่วมกันพูดภาษาอังกฤษมาก
แมว

คำถามสุดท้าย: ความกว้างของกระเป๋าเอกสารคืออะไร?
Rodrigo A. Pérez

@cat โอ๊ะฉันไม่ดี
Weedoze

@ RodrigoA.Pérezได้บอกไปแล้วในคำถาม 42 ตัวอักษร
Weedoze

@ วัชพืชใช่ฉันรู้ คำถามสุดท้าย ...
Rodrigo A. Pérez

คำตอบ:


5

Bubblegum, 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 เช่นกันไม่มากที่จะทำงานกับที่นั่น ...
อเล็กซ์ Howansky

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 คนด้วยเถอะ
Magic Octopus Urn

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        | "$  "

การสาธิต


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

คำอธิบายย่อยคำอธิบาย (ตอนที่สอง):

เริ่มเห็นว่าสิ่งนี้เกิดขึ้นที่ไหน? ต่อไปฉันบีบอัดรูปแบบด้านในเป็นสตริงฐาน 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

SOGL , 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 ซึ่งใช้ได้กับสตริงเท่านั้น แต่มีการบันทึกไว้สำหรับอาร์เรย์ด้วย (ปัจจุบันมีการใช้งานเฉพาะกับล่ามออนไลน์)
ลองใช้ที่นี่!


3

PHP, 117 ไบต์

ฉันเสียใจที่ไม่มีอะไรที่สั้นไปกว่าวิธีขี้เกียจ - gzip สตริงและ 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 bytesพร้อมการปรับความคิดของทางการ :

สายสามารถมองเห็นเป็นบิตแมประหว่างตัวละครเขตแดน (พื้นที่สำหรับครั้งแรกที่สองท่อหลังจากนั้น) ที่มีพื้นที่เป็นตัวละครอื่นเป็น0 สายอินเวอร์ติ้ง 3 และ 8 ให้คุณค่าแก่พวกเขา1
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|",["$      |
|","$  $",______,"======","   ","       ","$$$"]);

1
ฉันคิดว่านี่จะดีกว่าลองใช้งานออนไลน์!
JörgHülsermann

1
ขออภัยฉันพบวิธีที่ดีกว่าลองออนไลน์!
JörgHülsermann

@ JörgHülsermann: ฉันด้วย
Titus

คุณสามารถเปลี่ยนลำดับของ sprintf และ strtr เพื่อปล่อยเสียงสะท้อนได้หรือไม่?
JörgHülsermann

@ JörgHülsermann: ไม่ฉันต้องแปลงตัวเลขก่อนที่จะแทนที่เลขฐานสอง
ติตัส


2

Braingolf , 267 ไบต์

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

ลองออนไลน์!

ดังนั้นนักกอล์ฟ ...


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|

จากนั้นจะมีการเปลี่ยนพื้นฐานจำนวนมาก บางคนพึ่งพาคนอื่น (meta-replacements) แต่ตารางของการแทนที่มีลักษณะเช่นนี้ (โค้ดถูกห่อใน`):

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|

เพื่อให้ได้ผลลัพธ์ที่ต้องการ


ว้าวฉันต้องการคำอธิบายในเชิงลึกมากขึ้น
Magic Octopus Urn

@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|_ "

ดังนั้นเราสามารถขยายฐาน 36 สตริง (หลังจากแยกจากสตริงที่ชัดเจน) เพื่อสตริงไบนารีแทนที่ 1 และ 0 โดยตัวละคร (ยังได้รับจากสตริงสรุป) ที่ใช้ในสตริงกลางและกาวด้วยอักขระขอบเขตที่ปลายทั้งสอง . ดังนั้นจึงจำเป็นต้องใช้สตริง


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);}

ลองออนไลน์!


2

Retina , 140 137 129 ไบต์

-3 ไบต์ขอบคุณ @Neil


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

ลองออนไลน์!


เนื่องจากคุณไม่ได้ใช้1สิ่งอื่นคุณไม่$*<space>สามารถเขียนได้โดยตรงหรือไม่
Neil

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++);}

ลองออนไลน์!


1

05AB1E , 121 ไบต์

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

ลองออนไลน์!


คุณสามารถบันทึกไบต์โดยแสดงรูปแบบภายในและภายนอก / ภายในเป็นเอนทิตีแยกต่างหากและใช้แทนที่เพื่อรวมเข้าด้วยกันซ้ำ ๆ ฉันเพิ่งเรียนรู้กลยุทธ์นี้เพื่อลดจำนวนการแปลงฐานเมื่อทำการท้าทายตารางธาตุ :) Bubblegum ฆ่ามันในทุก ๆ รูปแบบที่น้อยกว่า 3 และนี่เป็นเพียง 1 :(. codegolf.stackexchange.com/a/126995/59376
Magic Octopus Urn

@carusocomputing Bubblegum แม้แต่ kils SOGL ดังนั้นจึงไม่คุ้มกับมันจริงๆ ...
Erik the Outgolfer

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))

สตริงเก็บชุดอักขระที่จะแสดงพร้อมกับจำนวนครั้งที่จะทำซ้ำ หากตัวละครไม่ซ้ำคุณสามารถตัดจำนวนครั้งได้

ซ้ำแล้วซ้ำอีกสตริงวิ่งจะเพิ่มประสิทธิภาพโดยการจัดเก็บในตัวแปรและrs

ตัวอย่างข้อมูล:

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ใช้ไบต์มากเกินไป)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.