Escreva um quine que consiste em palavras reais em inglês separadas por espaços únicos. Uma "palavra" é definida como uma sequência que contém apenas letras minúsculas e maiúsculas ( /[a-zA-Z]+/
em regex). Para ser "real", sua palavra deve ser reconhecida pelo dicionário oficial de Scrabble .
Estou usando o dicionário Scrabble, pois fornece uma resposta definitiva sobre o que é e o que não é válido. Existem muitas áreas cinzentas com um dicionário normal. Observe que "A" e "I" (para não mencionar "quine") não são palavras válidas.
Como escrever um quine usando apenas letras e espaços é quase impossível na maioria das linguagens de programação, você tem a opção de substituir os espaços únicos entre as palavras por um caractere de sua escolha. Você também tem a opção de acrescentar caracteres à frente da primeira palavra e ao final da última palavra. Esses caracteres adicionados podem ser qualquer coisa (incluindo novas linhas e não ASCII), exceto letras (az, AZ) . Existe uma penalidade para adicioná-los (consulte Pontuação).
Detalhes
- Como de costume, os quines podem não ler ou acessar seu próprio código-fonte. (Eu diria que o comando Q do HQ9 + viola isso.)
- A saída deve ir para stdout ou uma alternativa semelhante. Não há entrada.
- As palavras não precisam ser maiúsculas corretamente. Eles podem ter maiúsculas e minúsculas em qualquer lugar. A sequência de palavras não precisa fazer nenhum sentido.
- Nenhuma palavra pode ser usada mais de 3 vezes no seu programa. Palavras com letras maiúsculas diferentes ainda são a mesma palavra (por exemplo, 'CÃO', 'cachorro' e 'dOg' são todas a mesma palavra).
- O uso de linguagens como PHP ou HTML que podem apenas exibir seu conteúdo é considerado uma brecha trivial e não é permitido.
- O programa deve conter pelo menos uma palavra.
Pontuação
Sua pontuação é o número de "palavras reais" em seu programa mais as seguintes penalidades:
- +1 para cada espaço que foi substituído por outro personagem
- n n para cada n caracteres adicionados antes da primeira palavra (sim, isso é n à potência n)
- n n para todos os n caracteres adicionados após a última palavra
Por exemplo, o programa
We all LIKE PROgraMmING
pontuaria 4 porque contém 4 palavras; nenhum caractere foi adicionado ou substituído em nenhum espaço. É claro que seria o resultado We all LIKE PROgraMmING
.
O programa
!We@all LIKE#PROgraMmING- =
pontuaria 4 + 2 + 1 + 27 = 34; 4 para as palavras, 2 para os espaços substituídos, 1 para !
a frente e 27 para - =
a extremidade. É claro que seria o resultado !We@all LIKE#PROgraMmING- =
.
A pontuação mais baixa vence. O desempate vai para a resposta com o menor número de pontos de penalidade. Se ainda houver um empate, a resposta mais votada vence.