¿Qué tan bien conoces el sitio? Vamos a averiguar.
Este es un desafío de policías y ladrones . El hilo del ladrón.
Como policía, necesitas:
- Encuentre un desafío no eliminado y no cerrado en este sitio para responder. El desafío no puede tener las siguientes etiquetas: policías y ladrones , concurso de popularidad , trolling de código , descuidado , castor ocupado , rey de la colina , consejos , encadenamiento de respuestas . El desafío debe tener restricciones en la salida válida.
- Escriba una presentación válida para el desafío, en un idioma gratuito que se encuentre en Wikipedia o esolangs.org o tryitonline . La presentación no tiene que ser competitiva, solo válida. EDITAR: Hashing en su envío no está permitido
- Publique la presentación aquí, manteniendo el desafío en secreto. Debe publicar el envío completo, así como el idioma (y la versión, si corresponde).
Después de una semana, si nadie ha encontrado el desafío que está respondiendo, puede publicar el desafío que su envío está respondiendo, en ese momento, su envío está seguro . Vale la pena N puntos, donde N es el número de votos a favor en el desafío (a partir de 2016-11-17 ) (Mayor es mejor)
Para descifrar su desafío, los ladrones deben encontrar cualquier desafío para el que el envío sea válido.
Notas:
- Si un desafío requiere un resultado de
X
, y usted genera un resultadoXY
oYX
dóndeY
hay algo más que un espacio en blanco, el envío no es válido para ese desafío. - Un desafío más nuevo que el 2016-11-17 no está permitido.
- Se permiten idiomas más nuevos que el desafío oculto.
- Me reservo el derecho de prohibir ciertos desafíos si son ampliamente aplicables (podrían aplicarse a la mayoría de todas las presentaciones).
- ¡Gracias a Daniel por la idea inicial!
Envíos sin descifrar:
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 100357;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
cops-and-robbers
obfuscation
Nathan Merrill
fuente
fuente
Respuestas:
Pip , 9 bytes ( seguro , 15 puntos)
Lo que hace debería ser fácil de entender, pero la pregunta es por qué ... ( TIO )
El desafío era ¿Cuál es el idioma? El objetivo: analizar el nombre del lenguaje de programación de un encabezado de respuesta PPCG. Por ejemplo:
No estoy seguro de si esto entra en conflicto con "El desafío debe tener restricciones en la salida válida", ya que es un desafío de batería de prueba calificado por "porcentaje de pruebas que obtiene correcto", y por lo tanto no requiere que la salida sea correcta para todas las entradas Sin embargo, diré que el código anterior obtiene una tasa correcta del 60%, lo que no es malo para algo tan simple.
fuente
ht:w"\w+"1
/@:w"\w+"1 1
, que minimiza ahtcw
/htcz
si solo importa el espacio en blanco, pero ninguno de ellos arroja ningún resultado. Además, esto podría extraer minutos del formato HH: mm: ss, o extraer un nombre de variable de una declaración de estilo C, o números después de un punto decimal. Pero no puedo encontrar preguntas que pidan alguna de esas cosas ...: /Perl - Agrietado por DLosc
Vamos a dar una fácil para las personas que no son esolang
Corre con
-nl
Desafío: conveniente verificador de palíndromo
El código se bloquea después de imprimir la veracidad, pero de acuerdo con esta meta publicación, siempre que produzca la salida correcta antes de que se bloquee, y cualquier error se envíe a STDERR, es una solución válida.
fuente
Hexagonía , 548 bytes, agrietada
Pruébalo en línea!
fuente
.
requerido por ese desafío.)Perl, seguro , 18 puntos
Editar : modifiqué el final del código (ver el historial de edición) para manejar un caso límite (el desafío no dice nada al respecto, y el autor no respondió cuando se le preguntó al respecto, pero al menos este código lo maneja) . Pero el algoritmo y la lógica del código siguen siendo los mismos.
Este código no está ofuscado (solo golfizado). (Esto implica que
-n0E
no son opcionales).No me doy cuenta de si esto es difícil o no, pero supongo que me solucionarán cuando alguien lo resuelva.
Explicaciones:
El desafío era ¿Se puede resolver el laberinto? .
Este código encontrará todas las celdas accesibles del laberinto (y las marcará con un
A
): si una celda toca una celda marcada con unA
, es accesible y la marcamos con unA
también; y lo hacemos de nuevo (redo
). Eso se hace gracias a dos expresiones regulares:s/(^0|A)(.{@{+}})?0/A$2A/s
comprueba si hay un espacio a la derecha o en la parte inferior de aA
, mientras ques/0(.{@{+}})?A/A$1A/s
comprueba si hay un espacio a la izquierda o en la parte superior de aA
. Al final, si la última celda contiene unA
es accesible, de lo contrario no lo es (eso es lo quesay/A$/+0
verifica;+0
está aquí para asegurarse de que el resultado sea0
o en1
lugar de una cadena vacía y1
).Tenga en cuenta que
/.*/
coincidirá con una línea completa, configurando así@+
al índice del final de la primera línea, que resulta ser el tamaño de una línea, lo que permite usar para.{@{+}}
que coincidan exactamente tantos caracteres como haya en una línea. (@{+}
es equivalente a@+
, pero solo el primero se puede usar en expresiones regulares)Para ejecutarlo:
(y si reemplaza la
1111011
línea con1111111
, ya no se puede resolver, y la salida será en0
lugar de1
)fuente
Perl, 56 bytes, seguro (14 puntos)
El desafío era este , que requería que crearas un algoritmo diferente; debe poder ingresar dos archivos y generar un diff, o ingresar un archivo y un diff y generar el otro archivo. La puntuación de ese desafío es el desafío de código , lo que hace que el más pequeño sea el ganador; sin embargo, este desafío no requiere que la respuesta sea competitiva, simplemente cumple con la especificación, por lo que escribí un programa diferente en forma de golf, que simplemente usa XOR para combinar las entradas (lo que significa que el mismo programa funciona para diferenciar y sin diferencias).
La parte más difícil es reproducir la longitud de los archivos originales. La entrada se especifica como ASCII, que es un conjunto de caracteres de siete bits, lo que me permite usar el octavo bit para rastrear la longitud del archivo. Al diferenciar, establecemos el bit alto de cada byte usando una
y///
instrucción (que está un poco más ofuscada que la aritmética bit a bit). Cuando no diferencie (se reconoce notando que la entrada ya tiene el bit alto establecido), eliminamos NUL de la salida. (Me acabo de dar cuenta de que esto fallaría si la entrada contuviera bytes NUL; sin embargo, el desafío se define en términos de una batería de prueba, y por suerte no creo que haya bytes NUL en la batería. Si los hay, entonces este programa sería incorrecto y necesitaría ser descalificado; un problema con policías y ladrones ¡Es que nadie más tiene suficiente información para señalar fallas fáciles de solucionar en su respuesta!)fuente
Octava, 15 puntos! SEGURO
Pruébelo en línea aquí .
Explicación:
El código toma una cadena de entrada que
x
contiene unos y ceros,10010110110101
y un número enteroy
.Para encontrar el promedio móvil de una secuencia en MATLAB / Octave puedes hacer:
Como solo estamos interesados en la ubicación del máximo, no en los valores reales, no necesitamos preocuparnos por convertir la cadena a números.
(x.^2)
ajusta todos los valores ASCII48,49
para0,1
. Esto es necesario ya que Octave no puede usarcumsum
directamente en los personajes.cumsum(+x)
sería dos bytes más corto pero revelaría quex
es una cadena.En realidad, esto está bastante bien golfizado (excepto en
.^2
lugar de+
). Por supuesto, la convolución sería más simple.fuente
MATL . Agrietado
Pruébalo en línea!
Indiqué entrada y salida incluso si no es necesario. Como de todos modos está en el historial de edición: el programa ingresa dos números y genera un número.
fuente
C #, 590 bytes, agrietado
Probablemente bastante fácil, también un programa bastante largo, _,
fuente
Func<string, int, string>
. Parece que es un cifrado de teclado. El parámetro número es cuántos caracteres se deben desplazar hacia la derecha en el teclado (es decir,("t",1)
=y
).05AB1E , 27 bytes, ¡agrietado!
Para esta presentación, también se requiere información para que funcione. No debería ser demasiado difícil de descifrar.
Explicación (para el desafío):
Utiliza la codificación CP-1252 . Pruébalo en línea!
fuente
아희 (Aheui) , 0 bytes, Agrietado
Pruébalo aquí! (El programa ya está escrito para usted: p)
fuente
Python, 935 bytes
Lo siento, usé un ofuscador, pero no está prohibido y es mucho más fácil. (Y no tuve todo ese tiempo para hacerlo yo mismo ...)
fuente
9**99
sin imprimir nada (también lleva mucho tiempo hacerlo)Rubí ( agrietado por DLosc )
fuente
p
cuando copié el código. Agrietado , entonces.MATL . Seguro , 93 puntos
Pruébalo en línea!
Explicación
El desafío fue la huella ecológica del código fuente .
El código calcula el peso de Hamming (número de unidades) en la representación binaria de los códigos ASCII de la cadena de entrada; excepto que la cadena
test
sale0
(en lugar de su peso de Hamming, que es17
).La carcasa especial de esa cadena está un poco ofuscada. El programa primero calcula la matriz de diferencias consecutivas de los códigos ASCII de la entrada y la invierte. Por
test
esto da[1 14 -15]
.Luego, se calcula la matriz formada por las primeras
n
potencias de14
([1 14 196 ...]
), donden
está la longitud de entrada; yfloor(n/2)
se guardan los primeros valores. Entonces, para la entradatest
esto da[1 14]
. La suma negada se agrega a esta matriz, que da[1 14 -15]
como entradatest
. Esto se prueba para la igualdad con el conjunto invertido de diferencias consecutivas que se obtuvo previamente.Por otro lado, la suma de los códigos ASCII de caracteres de entrada se calcula y se compara con
448
, generada como la diferencia (consecutiva) de los elementos en la matriz[2^6 2^9]
(donde^
denota potencia).La entrada
test
es la única cadena con diferencias consecutivas invertidas de la forma[1 14 -15]
y la suma448
. Las diferencias[]
o[1]
(para cadenas inoyt más cortas) no son compatibles con una suma total de448
.[1 14 196]
No se pueden lograr diferencias o mayores con los caracteres ASCII.El código verifica si el resultado de la prueba para la primera condición (diferencias consecutivas) no es menor que el resultado negado de la segunda condición (suma total). Esto da
0
si y solo si ambas condiciones se cumplieron. Finalmente, esto se multiplica por el número de unos en la representación binaria de los códigos ASCII de la entrada.fuente
CJam ( seguro , 21 puntos)
Este es un bloque anónimo (función).
fuente
Python 3, ~ 2000 bytes, (seguro: 23 puntos)
Programa original
Desafío
De hecho, esta es una respuesta para mi propio desafío, Primenary Strings . Elegí esto, ya que casi todo saldrá
0
, aparte de algunas entradas que es poco probable que ingrese un ladrón. El código es un algoritmo simple, pero muy ofuscado (a mano).fuente
Pip , 13 bytes
Pruébelo en línea (ingrese como Argumentos, no como Entrada).
fuente
JavaScript, 533 bytes, ¡Agrietado! por Dave
No es mi ofuscación favorita mía, pero es un poco ordenado. Llamar como
RESULT(inputs)
.Podría otorgar una recompensa de +50 puntos si explica en detalle lo que está haciendo mi código junto con su crack. (No tienen que estar juntos, así que siéntase libre de FGITW si eso se adapta a sus caprichos).
fuente
Pyke, 3458 bytes, SEGURO , puntaje 99
Pruébalo aquí!
Hay algunos (30)
0x1b
bytes que parecen haber sido comidos por SE.fuente
Octava, 40 puntos. SEGURO
Respuesta ligeramente ofuscada a un desafío bastante popular.
Recomiendo probar esto en octave-online . Ideone no es tan bueno cuando se trata de STDIN.
Este fue el desafío del simulador de palanca 2015. Entrada en el formulario
'123^32
. La salida será-1 0 1
para pesado a la izquierda, equilibrado y pesado a la derecha en ese orden.Se ve así cuando está completamente golfizado :
Esto da salida
-Inf, NaN, Inf
para L, B, R respectivamente.fuente
Haskell, SEGURO
Pruébalo en Ideone . "Uso":
En el desafío String Shenanigans, a uno se le da una cadena y dos caracteres y luego debe reemplazar cada aparición del primer personaje con el segundo. Sin embargo, la entrada es una cadena que solo contiene la cadena real entre comillas y los dos espacios en blanco separados por caracteres:
fuente
TeX, 240 bytes, SEGURO , puntaje 129
Guardar como
jeopardy.tex
, luego ejecutarpdftex jeopardy.tex
y abrirjeopardy.pdf
.Resultado: un PDF con el texto
N
(y la página número 1).fuente
Python 3, agrietado!
Escribir esto fue divertido, a pesar de que al final fue fácil de descifrar :)
fuente
(sum([x%4<1 for x in range(min(D),max(D))]))
Pyth - Agrietado por Maltysen
Si ayuda, Pyth no fue ninguna de las respuestas al desafío oculto.
¡Pruébalo!
fuente
C #, 91 bytes
fuente
Mathematica, 161 bytes
fuente
BrainFuck - 140 Bytes, agrietado por daHugLenny
Pruébalo aquí!
fuente
C ++ 14, agrietado
Toma un número variable de parámetros y devuelve a
vector<int>
.Uso:
fuente
g++
y si su versión no es al menos6.2
o algo que necesita-std=c++14
Mathematica, 34 bytes, Agrietado
Función nombrada (
±
).fuente
Ruby, 50 bytes.
salida:
400
fuente
Python 2.7, 45 bytes
Sugerencia (o tal vez no): "el pez está usando numpy".
2016.11.23 - segunda pista: "¡No dejes nada flotando!"
fuente