Você conhece bem o site? Vamos descobrir.
Este é um desafio de policiais e ladrões . Fio do ladrão.
Como policial, você precisa:
- Encontre um desafio não excluído e não fechado neste site para responder. O desafio não pode ter as seguintes marcas: COPS-e-ladrões , popularity-contest , code-corrico , dissimulados , ocupado-castor , king-of-the-hill , dicas , resposta-encadeamento . O desafio deve ter restrições na saída válida.
- Escreva um envio válido para o desafio, em um idioma gratuito encontrado na Wikipedia ou esolangs.org ou tryitonline . O envio não precisa ser competitivo, apenas válido. EDIT: Hashing no seu envio não é permitido
- Poste a submissão aqui, mantendo o desafio em segredo. Você deve postar todo o envio, bem como o idioma (e versão, se aplicável).
Depois de uma semana, se ninguém encontrou o desafio que você está respondendo, você pode postar o desafio que seu envio está respondendo; nesse ponto, seu envio está seguro . Vale N pontos, onde N é o número de votos positivos no desafio (a partir de 17/11/2016 ) (Maior é melhor)
Para resolver seu desafio, os ladrões precisam encontrar qualquer desafio para o qual o envio seja válido.
Notas:
- Se um desafio exigir uma saída de
X
e você produzirXY
ouYX
ondeY
houver algo além de espaço em branco, o envio não será válido para esse desafio. - Não é permitido um desafio mais recente que 17/11/2016.
- Idiomas mais recentes que o desafio oculto são permitidos.
- Reservo-me o direito de proibir certos desafios se eles forem amplamente aplicáveis (podem ser aplicados à maioria de todos os envios).
- Agradeço a Daniel pela ideia inicial!
Envios sem rachaduras:
<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
fonte
fonte
Respostas:
Pip , 9 bytes ( seguro , 15 pontos)
O que faz deve ser fácil descobrir, mas a questão é por que ... ( TIO )
O desafio foi o que é o idioma? O objetivo: analisar o nome da linguagem de programação a partir de um cabeçalho de resposta PPCG. Por exemplo:
Não tenho certeza se isso está em conflito com "O desafio deve ter restrições à saída válida", já que é um desafio de bateria de teste marcado por "porcentagem de testes que você acertou" e, portanto, não exige que a saída esteja correta para todas as entradas. No entanto, direi que o código acima obtém uma taxa correta de 60%, o que não é ruim para algo tão simples.
fonte
ht:w"\w+"1
/@:w"\w+"1 1
, que reduzhtcw
/htcz
se apenas o espaço em branco é importante, mas nenhum deles gera resultados. Além disso, isso poderia extrair minutos do formato HH: mm: ss ou extrair um nome de variável de uma declaração no estilo C ou números após um ponto decimal. Mas não consigo encontrar perguntas que solicitem alguma dessas coisas ...: /Perl - Rachado por DLosc
Vamos dar um fácil para as pessoas que não são esolang
Correr com
-nl
Desafio: Verificador conveniente de palíndromo
O código falha após a impressão da veracidade, mas, de acordo com esta meta postagem, desde que produza a saída correta antes de travar e qualquer erro seja enviado para o STDERR, é uma solução válida.
fonte
Hexagonia , 548 bytes, Rachado
Experimente online!
fonte
.
exigido por esse desafio.)Perl, seguro , 18 pontos
Editar : modifiquei o final do código (consulte o histórico de edições) para lidar com um caso de ponta (o desafio não diz nada sobre isso, e o autor não respondeu quando perguntado sobre isso, mas pelo menos esse código lida com isso) . Mas o algoritmo e a lógica do código permanecem os mesmos.
Este código não é ofuscado (apenas golfe). (Isso implica que
-n0E
não são opcionais).Não sei se isso é difícil ou não, mas acho que serei consertado quando alguém o quebrar.
Explicações:
O desafio foi o labirinto pode ser resolvido? .
Este código encontrará todas as células acessíveis do labirinto (e marque-as com a
A
): se uma célula toca uma célula marcada com aA
, é alcançável e também a marcamosA
; e fazemos isso de novo (redo
). Isso é feito graças a duas expressões regulares:s/(^0|A)(.{@{+}})?0/A$2A/s
verifica se um espaço está à direita ou na parte inferior de aA
, enquantos/0(.{@{+}})?A/A$1A/s
verifica se há um espaço à esquerda ou em cima de aA
. No final, se a última célula contém umA
, é alcançável, caso contrário, não é (é isso quesay/A$/+0
verifica; o+0
está aqui para garantir que o resultado será0
ou em1
vez de uma string vazia e1
).Observe que
/.*/
corresponderá a uma linha inteira, configurando assim@+
ao índice do final da primeira linha, que passa a ser o tamanho de uma linha, que permite usar.{@{+}}
para combinar exatamente o número de caracteres que há em uma linha. (@{+}
é equivalente a@+
, mas apenas o primeiro pode ser usado em regex)Para executá-lo:
(e se você substituir a
1111011
linha por1111111
, ela não será mais solucionável e a saída será em0
vez de1
)fonte
Perl, 56 bytes, Seguro (14 pontos)
O desafio foi esse , exigindo a criação de um algoritmo diferente; você precisa poder inserir dois arquivos e gerar um diff, ou inserir um arquivo e um diff e gerar o outro arquivo. A pontuação desse desafio é um desafio de código , tornando o menor diferencial o vencedor; no entanto, esse desafio não exige que a resposta seja competitiva, simplesmente compatível com as especificações, por isso escrevi um programa diferente de maneira golfista, que simplesmente usa o XOR para combinar as entradas (o que significa que o mesmo programa funciona para diferenciar e não diferindo).
A parte mais difícil é reproduzir o tamanho dos arquivos originais. A entrada é especificada como ASCII, que é um conjunto de caracteres de sete bits, permitindo assim que eu use o oitavo bit para rastrear o comprimento do arquivo. Ao diferir, definimos o bit alto de cada byte usando uma
y///
instrução (que é um pouco mais ofuscada do que a aritmética bit a bit seria). Ao cancelar a diferenciação (reconhecida através da observação de que a entrada já possui o bit alto definido), removemos as NULs da saída. ( Acabei de perceber que isso falharia se a entrada contivesse NUL bytes; no entanto, o desafio é definido em termos de uma bateria de teste e, felizmente, acho que não há NUL bytes na bateria. Se houver, esse programa estaria incorreto e precisaria ser desqualificado; um problema com policiais e ladrões é que ninguém mais tem informações suficientes para apontar falhas facilmente corrigidas na sua resposta!)fonte
Oitava, 15 pontos! SEGURO
Experimente online aqui .
Explicação:
O código usa uma sequência de entrada
x
contendo uns e zeros10010110110101
e um número inteiroy
.Para encontrar a média móvel de uma sequência no MATLAB / Octave, você pode:
Como estamos interessados apenas na localização do valor máximo, não nos valores reais, não precisamos nos preocupar em converter a sequência em números.
(x.^2)
esquadra todos os valores ASCII48,49
para0,1
. Isso é necessário, pois o Octave não pode ser usadocumsum
diretamente nos caracteres.cumsum(+x)
seria dois bytes mais curto, mas revelaria quex
é uma string.Isso é realmente muito bem jogado (exceto no
.^2
lugar de+
). Obviamente, a convolução seria mais simples.fonte
MATL . Rachado
Experimente online!
Eu indiquei entrada e saída, mesmo que não seja necessário. Como está no histórico de edição de qualquer maneira: o programa insere dois números e gera um número.
fonte
C #, 590 bytes, Rachado
Provavelmente muito fácil, também um programa bastante longo, _,
fonte
Func<string, int, string>
. Parece que é uma cifra de teclado. O número param é quantos caracteres devem ser trocados à direita no teclado (ou seja,("t",1)
=y
).05AB1E , 27 bytes, com defeito !
Para esse envio, também é necessária uma entrada para que ele funcione. Não deve ser muito difícil de quebrar.
Explicação (para o desafio):
Usa a codificação CP-1252 . Experimente online!
fonte
A (Aheui) , 0 bytes, Rachado
Experimente aqui! (O programa já está digitado para você: p)
fonte
Python, 935 bytes
Desculpe, usei um ofuscador, mas não é proibido e muito mais fácil. (E eu não tive todo esse tempo para fazer isso sozinho ...)
fonte
9**99
sem imprimir nada (também demorando muito tempo para fazê-lo) #Ruby ( quebrado pelo DLosc )
fonte
p
quando copiei o código. Rachado , então.MATL . Cofre , 93 pontos
Experimente online!
Explicação
O desafio foi a pegada ecológica do código fonte .
O código calcula o peso de Hamming (número de unidades) na representação binária dos códigos ASCII da sequência de entrada; exceto que a string é
test
gerada0
(em vez do peso de Hamming, que é17
).O invólucro especial dessa corda é um pouco ofuscado. O programa primeiro calcula a matriz de diferenças consecutivas dos códigos ASCII da entrada e a reverte. Para
test
isso dá[1 14 -15]
.Então, a matriz formada pelas primeiras
n
potências de14
é calculada ([1 14 196 ...]
), onden
está o comprimento da entrada; e os primeirosfloor(n/2)
valores são mantidos. Então, para entradatest
isso dá[1 14]
. A soma negada é anexada a essa matriz, que fornece[1 14 -15]
entradatest
. Isso é testado quanto à igualdade com a matriz reversa de diferenças consecutivas que foram obtidas anteriormente.Por outro lado, a soma dos códigos ASCII dos caracteres de entrada é calculada e comparada com
448
, gerada como a diferença (consecutiva) dos elementos na matriz[2^6 2^9]
(onde^
denota energia).A entrada
test
é a única sequência com diferenças consecutivas invertidas da forma[1 14 -15]
e da soma448
. Diferenças[]
ou[1]
(para seqüências de caracteres inoyt mais curtas) não são compatíveis com uma soma total de448
.[1 14 196]
Não é possível obter diferenças ou maiores com caracteres ASCII.O código verifica se o resultado do teste para a primeira condição (diferenças consecutivas) não é menor que o resultado negado da segunda condição (soma total). Isso fornece
0
se e somente se ambas as condições foram satisfeitas. Finalmente, isso é multiplicado pelo número de unidades na representação binária dos códigos ASCII da entrada.fonte
CJam ( seguro , 21 pontos)
Este é um bloco anônimo (função).
fonte
Python 3, ~ 2000 bytes, (seguro: 23 pontos)
Programa Original
Desafio
Esta é de fato uma resposta para o meu próprio desafio, Primenary Strings . Eu escolhi isso, pois quase tudo sairá
0
, exceto algumas entradas nas quais um ladrão provavelmente não entrará. O código é um algoritmo simples, mas muito ofuscado (à mão).fonte
Pip , 13 bytes
Experimente online (dê entrada como Argumentos, não Entrada).
fonte
JavaScript, 533 bytes, Rachado! por Dave
Não é minha ofuscação favorita, mas é bem legal. Ligar como
RESULT(inputs)
.Eu poderia conceder uma recompensa de +50 pontos se você explicar em detalhes o que meu código está fazendo junto com o seu crack. (Eles não precisam ficar juntos, sinta-se à vontade para o FGITW, se isso for adequado aos seus caprichos.)
fonte
Pyke, 3458 bytes, SAFE , pontuação 99
Experimente aqui!
Existem alguns (30)
0x1b
bytes que parecem ter sido comidos pelo SE.fonte
Oitava, 40 pontos. SEGURO
Resposta ligeiramente ofuscada para um desafio bastante popular.
Eu recomendo testar isso em oitava-online . Ideone não é tão bom quando se trata de STDIN.
Este foi o desafio do simulador de alavanca de 2015. Entrada no formulário
'123^32
. A saída será-1 0 1
para Pesado para a esquerda, Equilibrado e Pesado para a direita nessa ordem.É assim quando está totalmente jogado :
Isso gera
-Inf, NaN, Inf
para L, B, R, respectivamente.fonte
Haskell, SAFE
Experimente em Ideone . "Uso":
No desafio das travessuras das cordas, é dada uma sequência e dois caracteres e deve substituir todas as ocorrências do primeiro caracter pelo segundo. No entanto, a entrada é uma sequência que contém apenas a sequência real entre aspas e os dois caracteres em branco com espaço em branco:
fonte
TeX, 240 bytes, SAFE , pontuação 129
Salve como
jeopardy.tex
e executepdftex jeopardy.tex
e abrajeopardy.pdf
.Resultado: um PDF com o texto
N
(e o número da página 1).fonte
Python 3, Rachado!
Escrever isso foi hilário, apesar de ser facilmente decifrado no final :)
fonte
(sum([x%4<1 for x in range(min(D),max(D))]))
Pyth - Rachado por Maltysen
Se ajudar, Pyth não foi uma das respostas para o desafio oculto.
Experimente!
fonte
C #, 91 bytes
fonte
Mathematica, 161 bytes
fonte
BrainFuck - 140 bytes, rachado por daHugLenny
Experimente aqui!
fonte
C ++ 14, rachado
Pega um número variável de parâmetros e retorna a
vector<int>
.Uso:
fonte
g++
e se a sua versão não é, pelo menos,6.2
ou algo que você precisa-std=c++14
Mathematica, 34 bytes, Rachado
Função nomeada (
±
).fonte
Ruby, 50 bytes
resultado:
400
fonte
Python 2.7, 45 bytes
Dica (ou talvez não): "o peixe está usando numpy".
23/11/2016 - segunda dica: "Não deixe nada flutuando por aí!"
fonte