Anagram Quines (fio de ladrão)

10

Este é um desafio de , o tópico da pode ser encontrado aqui

Seu desafio, como ladrões, é pegar saídas do encadeamento da polícia e encontrar anagramas da saída que, quando executados como um programa, produzem a saída original fornecida.

O vencedor será a pessoa com as falhas mais válidas nesta questão.

Regras

  • Você não pode obter respostas marcadas como seguras com um programa fornecido.

  • Se um policial fornece um idioma em que a solução pretendida está, você deve decifrá-lo nesse idioma específico, se eles escolherem não, você pode decifrá-lo em qualquer idioma concorrente.

  • Aplicam-se regras padrão para Quines.

  • As rachaduras não devem ser Quines perfeitas. isto é, eles não devem produzir sua fonte exata, mas reordená-la (a ordem é fornecida pelo policial).

Caçador Ad Hoc Garf
fonte

Respostas:

5

Idioma não especificado (CJam), 254 bytes, 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       ..............

Experimente online!

Como funciona

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.
Dennis
fonte
5

Flak cerebral , Riley

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

Experimente online!

Explicação

Isso foi um pouco mais fácil do que eu esperava.

Eu escrevi 3 loops separados para imprimir cada tipo de chave:

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

Usei a técnica padrão Mini-Flak para evitar o uso de <...>mônada e, para ser sincero, nunca senti a necessidade de usar o <>nilad.

Isso deve ter sido extremamente semelhante ao que Riley fez em primeiro lugar, porque quando eu terminei, eu tinha um ()sobra extra . Isso não é um problema, porque ()é essencialmente um no-op no nível superior, então eu o coloquei na frente do meu programa.

Caçador Ad Hoc Garf
fonte
11
Foi exatamente o que / como eu escrevi. Eu precisava do extra ()para combinar tudo. Bem feito!
Riley28 de
4

Haskell, 107 bytes, Laikoni

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

Além de uma nova linha à direita.

Experimente online! (precisa de alguns segundos para ser executado, porque percorre todos os caracteres unicode).

O programa tem um id(logo antes ['$'..]) que não é necessário para a lógica do programa, mas de alguma forma eu tenho que gastar o ie d.

nimi
fonte
A saída não está na mesma ordem.
Laikoni
11
@Laikoni: Eu interpretei mal o desafio. Agora está consertado.
nimi 25/02
4

Python, 96 bytes, Agargara

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

Experimente online!

Depois que notei que alguns caracteres se repetiam em pares, era apenas uma questão de encontrar um mapa ASCII adequado entre os caracteres.

viciado em matemática
fonte
Parabéns! Foi exatamente assim que escrevi.
Agargara 6/03/2017
3

Pitão, 32 bytes, Haste

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

Experimente online!

Eu realmente não conheço Pyth tão bem, mas comecei a imprimir a saída necessária e parti de lá.

 +"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
viciado em matemática
fonte
2

CJam, 46 bytes, Gato de negócios

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

Experimente online!

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
viciado em matemática
fonte