Anagram Quines (Hilo de ladrones)


10

Este es un desafío de El hilo de los policías se puede encontrar aquí.

Su desafío, como ladrones, es tomar salidas del hilo de la policía y encontrar anagramas de la salida que, cuando se ejecuta como salida del programa, proporciona la salida original.

El ganador será la persona con las grietas más válidas en esta pregunta.

Reglas

  • No puede descifrar las respuestas marcadas como seguras con un programa proporcionado.

  • Si un policía proporciona un idioma en el que está la solución deseada, debe descifrarlo en ese idioma en particular, si elige no hacerlo, puede descifrarlo en cualquier idioma de la competencia.

  • Se aplican las reglas estándar para Quines.

  • Las grietas no deben ser perfectas Quines. es decir, no deben emitir su fuente exacta sino una reordenación de la misma (el policía proporciona el orden).


Respuestas:


5

Lenguaje no 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       ..............

Pruébalo en línea!

Cómo 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.

5

Brain-Flak , Riley

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

Pruébalo en línea!

Explicación

Esto fue un poco más fácil de lo que esperaba.

Escribí 3 bucles separados para imprimir cada tipo de llave:

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

Utilicé la técnica estándar de Mini-Flak para evitar usar <...>mónada y, para ser sincero, nunca sentí la necesidad de usar el <>nilad.

Esto debe haber sido extremadamente similar a lo que hizo Riley en primer lugar porque cuando terminé me quedaba un extra (). Esto no es un problema porque ()es esencialmente un no operativo en el nivel superior, por lo que lo pegué al frente de mi programa.


1
Eso es exactamente lo que / cómo lo escribí. Necesitaba el extra ()para que todo coincidiera. ¡Bien hecho!
Riley

4

Haskell, 107 bytes, Laikoni

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

Además de una nueva línea final.

Pruébalo en línea! (necesita unos segundos para ejecutarse, ya que recorre todos los caracteres unicode).

El programa tiene un id(justo antes ['$'..]) que no es necesario para la lógica del programa, pero de alguna manera tengo que gastar el iy d.


La salida no es en el mismo orden.
Laikoni

1
@Laikoni: leí mal el desafío. Ahora está arreglado.
nimi


3

Pyth, 32 bytes, Rod

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

Pruébalo en línea!

Realmente no conozco a Pyth tan bien, pero comencé con la impresión de la salida requerida y pasé de allí.

 +"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 bytes, Business Cat

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

Pruébalo en línea!

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.