Anagram Quines (เธรดของโจร)


11

มันคือ ท้าทายเธรดของตำรวจสามารถพบได้ที่นี่

ความท้าทายของคุณในฐานะโจรคือการเอาท์พุทจากเธรดของตำรวจและค้นหาแอนนาแกรมของเอาต์พุตที่เมื่อรันเป็นเอาต์พุตของโปรแกรมเอาต์พุตดั้งเดิมที่จัดเตรียมไว้ให้

ผู้ชนะจะเป็นคนที่มีรอยแตกที่ถูกต้องที่สุดในคำถามนี้

กฎระเบียบ

  • คุณไม่สามารถถอดรหัสคำตอบที่ทำเครื่องหมายว่าปลอดภัยด้วยโปรแกรมที่ให้มา

  • หากตำรวจให้ภาษาที่ทางออกที่ตั้งใจไว้คือคุณต้องถอดรหัสมันในภาษานั้น ๆ หากพวกเขาเลือกที่จะไม่ให้คุณแตกมันในภาษาคู่แข่งใด ๆ

  • ใช้กฎมาตรฐานสำหรับ Quines

  • รอยแตกต้องไม่เป็น Quines ที่สมบูรณ์แบบ เช่นพวกเขาจะต้องไม่ส่งออกแหล่งที่แน่นอนของพวกเขา แต่เรียงลำดับใหม่ของมัน (คำสั่งที่ให้ไว้โดยตำรวจ)


คำตอบ:


5

ภาษาที่ไม่ระบุ (CJam), 254 ไบต์, DJMcMayhem

0000000: 3235 362c 583e 3130 2d5b 445d 2f41 612a  256,X>10-[D]/Aa*
0000010: 3a63 6523 0102 0304 0506 0708 090b 0c0e  :ce#............
0000020: 0f10 1112 1314 1516 1718 191a 1b1c 1d1e  ................
0000030: 1f20 2122 2425 2627 2829 2b2e 3334 3738  . !"$%&'()+.3478
0000040: 393b 3c3d 3f40 4243 4546 4748 494a 4b4c  9;<=?@BCEFGHIJKL
0000050: 4d4e 4f50 5152 5354 5556 5759 5a5c 5e5f  MNOPQRSTUVWYZ\^_
0000060: 6062 6466 6768 696a 6b6c 6d6e 6f70 7172  `bdfghijklmnopqr
0000070: 7374 7576 7778 797a 7b7c 7d7e 7f80 8182  stuvwxyz{|}~....
0000080: 8384 8586 8788 898a 8b8c 8d8e 8f90 9192  ................
0000090: 9394 9596 9798 999a 9b9c 9d9e 9fa0 a1a2  ................
00000a0: a3a4 a5a6 a7a8 a9aa abac adae afb0 b1b2  ................
00000b0: b3b4 b5b6 b7b8 b9ba bbbc bdbe bfc0 c1c2  ................
00000c0: c3c4 c5c6 c7c8 c9ca cbcc cdce cfd0 d1d2  ................
00000d0: d3d4 d5d6 d7d8 d9da dbdc ddde dfe0 e1e2  ................
00000e0: e3e4 e5e6 e7e8 e9ea ebec edee eff0 f1f2  ................
00000f0: f3f4 f5f6 f7f8 f9fa fbfc fdfe ff0a       ..............

ลองออนไลน์!

มันทำงานอย่างไร

256,                Push the range [0 ... 255].
    X>              Remove the first item (0).
      10-           Remove 10 (0x0a).
         [D]/       Split at occurrences of 13 (0x0d).
             Aa*    Join, separating by 10 (0x0a).
                :c  Cast all integers to character.
                e#  Begins a comment, terminated by the linefeed at the very end.

5

Brain-Flak , Riley

()((((((()()()){}){}){})()){}{}){({}[()][((((((()()()()()){}){}){})()))]{})}{}((()()()){}()){({}[()][((((((()()()){}){}()){({}[()])}{})()()))]{})}{}((((()()()()){}){}()){}){({}[()][((((((((()()()()()){}){}){}())){}{})()()))]{})}{}

ลองออนไลน์!

คำอธิบาย

มันง่ายกว่าที่ฉันคาดไว้นิดหน่อย

ฉันเขียน 3 ลูปแยกต่างหากเพื่อพิมพ์รั้งแต่ละประเภท:

(((((()()()){}){}){})()){}{}){({}[()][((((((()()()()()){}){}){})()))]{})}{}
((()()()){}()){({}[()][((((((()()()){}){}()){({}[()])}{})()()))]{})}{}
((((()()()()){}){}()){}){({}[()][((((((((()()()()()){}){}){}())){}{})()()))]{})}{}

ฉันใช้เทคนิค Mini-Flak มาตรฐานเพื่อหลีกเลี่ยงการใช้<...>monad และบอกตามตรงฉันไม่เคยรู้สึกว่าจำเป็นต้องใช้<>nilad จริงๆ

นี้จะต้องได้รับอย่างมากคล้ายกับสิ่งที่ไรลีย์ทำในสถานที่แรกเพราะเมื่อฉันได้ทำฉันได้พิเศษ()เหลือ นี่ไม่ใช่ปัญหาเพราะ()โดยทั่วไปแล้วไม่มีการใช้งานที่ระดับสูงสุดดังนั้นฉันจึงติดมันที่ด้านหน้าของโปรแกรม


1
นั่นคือสิ่งที่ฉันเขียน ฉันต้องการสิ่งพิเศษ()เพื่อให้ทุกอย่างเข้ากัน ทำได้ดี!
Riley

4

Haskell, 107 ไบต์, Laikoni

main=print$id=<<['|':[d]>>[d|i<-"$$'''',--..:<<<<====>>[[[[]]]]addddddiiiiiimnnprt|||",i==d]|d<-id['$'..]]

บวกกับการขึ้นบรรทัดใหม่

ลองออนไลน์! (ต้องใช้เวลาสองสามวินาทีในการทำงานเพราะมันจะวนผ่านอักขระ Unicode ทั้งหมด)

โปรแกรมที่มีid(ขวาก่อน['$'..]) ซึ่งไม่จำเป็นสำหรับตรรกะโปรแกรม แต่อย่างใดฉันต้องใช้เวลาและid


ผลลัพธ์ไม่ได้อยู่ในลำดับเดียวกัน
Laikoni

1
@Laikoni: ฉันเข้าใจผิดความท้าทาย ตอนนี้มันได้รับการแก้ไข
nimi

4

Python, 96 ไบต์, Agargara

f= 'B7ofx)wdr0o{1{6{{r){1x0sD00qF1{{24}wr2wlo)y))xm2'; print''.join([r+chr(ord(r)-9)for r in f])

ลองออนไลน์!

เมื่อฉันสังเกตเห็นว่าตัวละครบางตัวซ้ำกันเป็นคู่มันเป็นเพียงเรื่องของการค้นหาแผนที่ ASCII ที่เหมาะสมระหว่างตัวละคร


ขอแสดงความยินดี! นั่นคือสิ่งที่ฉันเขียน
Agargara

3

Pyth, 32 ไบต์, Rod

J+"J+J=JJ 1-2#pTN%"N #%2J=T-1pJJ

ลองออนไลน์!

ฉันไม่รู้จัก Pyth มากนัก แต่ฉันเริ่มต้นด้วยการพิมพ์ผลลัพธ์ที่ต้องการแล้วเริ่มจากตรงนั้น

 +"J+J=JJ 1-2#pTN%"N             # Add a '"' to the string in quotes
J                                # Assign result of above step to J
                     #           # Start an infinite loop
                      %2J=T-1    # Loops one iteration, then breaks
                                 # (I have no idea why this works)
                             pJ  # Explicitly print J
                               J # Implicitly print J

2

CJam, 46 ไบต์, Business Cat

93]_:c58]99]95]93]e__:c36]95]95]101]101]e_$_:c

ลองออนไลน์!

93]                                             # Push [93] onto the stack
   _                                            # Copy
    :c                                          # Push ascii char 93 ']'
      58 99 95 93                               # Push these numbers...
        ]  ]  ]  ]                              # Push entire stack as array
                  e__                           # Flatten and copy
                     :c                         # Map ascii values to all elements
                       36]95]95]101]101]        # Same as above
                                        e_      # Flatten
                                          $     # Sort
                                           _    # Copy, implicitly print
                                            :c  # Map ascii values to all elements
                                                # Implicitly print

2

ระดับแปดเสียง, 91 ไบต์, ขนาดย่อ

a=['111111111123666667eeegggkkknnszEEGn};:;:'];
disp(['a=[''',a,'''];',10,[a-10,']);']]);dd

ลองออนไลน์!

คล้ายกับโซลูชันไพ ธ อนซึ่งใช้ค่า ascii ในการพิมพ์อักขระที่ต้องการ


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