Este é um desafio de policiais e ladrões . Responda aqui se você é um policial (criador de palavras cruzadas), responda à pergunta complementar se for um assaltante (solucionador de palavras cruzadas). Você pode assumir os dois papéis.
Policiais (Puzzlers)
Sua tarefa é escrever um jogo de palavras cruzadas 10 × 10 onde, em vez de palavras ou frases, trechos de código são a solução para as pistas. Cada pista será uma sequência não vazia de caracteres, de modo que a execução do trecho de código a que se refere imprime a sequência em stdout.
Sua postagem deve incluir três itens:
- Sua grade de palavras cruzadas 10 × 10 em branco , usando
#
para darks (separadores de pistas) e_
para luzes (células a serem preenchidas).- Toda sequência horizontal ou vertical de 2 ou mais luzes (delimitada por trevas ou pela borda da grade) é uma entrada para a qual você deve escrever uma pista. Por conveniência, você deve numerá-las da maneira usual (da esquerda para a direita, de cima para baixo), substituindo o
_
no início de cada entrada por um identificador de caractere exclusivo (por exemplo, 1, 2, ..., A, B , ...). - Sua grade pode ter qualquer número de sombras.
- Sua grade pode ter qualquer número de pistas.
- As entradas horizontais são sempre lidas da esquerda para a direita e as verticais de cima para baixo.
- Toda sequência horizontal ou vertical de 2 ou mais luzes (delimitada por trevas ou pela borda da grade) é uma entrada para a qual você deve escrever uma pista. Por conveniência, você deve numerá-las da maneira usual (da esquerda para a direita, de cima para baixo), substituindo o
- Uma lista de pistas que contém todas as entradas em suas palavras cruzadas.
- As pistas devem conter no mínimo 1 e no máximo 10 caracteres.
- Se suas pistas contiverem espaços, verifique se elas são óbvias quando você formata sua postagem.
- Trechos de código de cabeçalho e rodapé , cada um com 20 caracteres ou menos.
- Eles são executados respectivamente antes e depois de um snippet de solução e podem ajudar a renomear os incorporados longos e outros.
O procedimento para garantir que uma pista corresponda ao seu snippet de código correspondente é:
- Concatenar o cabeçalho, o trecho, eo rodapé:
[header][snippet][footer]
. - Execute isso como um programa normal (independente das execuções anteriores) e observe o que foi impresso no stdout.
- Se isso corresponder à pista, o snippet é uma solução válida.
Para simplificar, você só pode usar ASCII imprimível (códigos hexadecimais 20 a 7E). Somente o cabeçalho e rodapé também podem conter guias e novas linhas.
Notas Adicionais
- Para qualquer trecho, a execução
[header][snippet][footer]
não deve demorar mais de um minuto em um computador moderno decente . - Você deve especificar sua linguagem de programação (e versão).
- Você não pode usar nenhum algoritmo de hash comum.
- Você não pode usar bibliotecas externas.
- Tudo no seu código deve ser determinístico, invariável no tempo e não precisa de uma conexão de rede.
#
e_
pode ocorrer em snippets (ou em qualquer outro lugar).- Você pode revelar alguns dos personagens das palavras cruzadas, como o COTO fez . Eles ainda contam como luzes. Os ladrões não precisam usá-los, são apenas boas dicas.
Exemplo
Um exemplo simples usando Python 3. Cabeçalho: p=print;t=5;
. Sem rodapé.
Grade não resolvida:
##########
1___2___##
_###_#####
_###_#####
_###_#####
####_#####
####_#####
###3______
####_#####
####_#####
Pistas:
ACROSS
1: 8
3: A!
DOWN
1: 7
2: 10
Solução válida:
##########
print(8)##
(###+#####
7###=#####
)###5#####
####;#####
####p#####
###p('A!')
####t#####
####)#####
Ladrões (Solvers)
Sua tarefa é resolver as palavras cruzadas postadas pelos policiais. Você deve usar a mesma linguagem de programação exata como as palavras cruzadas foram fornecidas, mas, caso contrário, qualquer solução que corresponda a todas as pistas é válida.
Você não pode resolver suas próprias palavras cruzadas e pode tentar responder a cada uma das outras palavras cruzadas apenas uma vez.
Lembre-se de postar suas soluções na pergunta complementar .
Pontuação
Se uma palavra cruzada for resolvida dentro de 72 horas, ela não estará mais em exibição. Uma vez que as palavras cruzadas duram sem solução por 72 horas, ela é considerada imune e o criador pode postar a solução (editando a postagem e marcando-a como imune).
O policial vencedor é o usuário que enviou as palavras cruzadas imunológicas com o menor número de negritos ( #
). Em caso de empate, a inscrição mais votada vence. A solução deve ser postada para que a resposta seja aceita.
O ladrão vencedor é o usuário que resolve mais palavras cruzadas. O desempate é a soma dos votos positivos na pergunta complementar .
sha512sum <<<"
:, rodapé: "|head -c10
(no Bash).