Os caracteres ASCII imprimíveis (códigos hexadecimais 20 a 7E) na ordem são:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
(Observe que há espaço lá.)
Essa sequência contém claramente todos os caracteres ASCII imprimíveis pelo menos uma vez em ordem crescente quando lidos da esquerda para a direita, mas não em ordem decrescente.
A corda
REVERSED:~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! NORMAL: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
contém todos os caracteres ASCII imprimíveis pelo menos uma vez, em ordem crescente e decrescente. Por outras palavras, quando os caracteres são avaliados com o seu código numérico, as subsequências crescentes e decrescentes mais longas têm o comprimento 95 (o número de caracteres ASCII imprimíveis).
Desafio
Escolha um subconjunto contíguo de N caracteres ASCII imprimíveis, como LMNOP
(N = 5). Escreva um programa usando apenas os caracteres N cuja saída contém todos os 95 caracteres ASCII em ordem crescente e decrescente, como no exemplo acima.
O vencedor é a finalização com o menor N. No caso de empate, o código mais curto em bytes vence.
Notas
- Um subconjunto contíguo significa um conjunto de ASCIIs imprimíveis que aparecem em uma linha ininterrupta, como
LMNOP
ou89:;<=>
. - Seu subconjunto contíguo pode "dar a volta"
~
ao espaço, mas isso gera uma penalidade de +3 em N. Então{|}~
, N = 4, mas{|}~ !
N = 6 + 3 = 9. - Seu programa pode conter apenas N caracteres ASCII imprimíveis do subconjunto contíguo que você selecionou. Nem todos precisam aparecer e podem aparecer várias vezes em qualquer ordem. (Todos os ASCII não imprimíveis e todos os não ASCII não são permitidos. Isso significa que guias e novas linhas não são permitidas.)
- Sua saída pode conter apenas caracteres ASCII imprimíveis e deve ter menos de 10000 caracteres.
- As subsequências crescentes e decrescentes mais longas da saída devem ter comprimento 95 (conforme explicado acima).
- Saída para stdout. Não há entrada.
- N é um número inteiro positivo menor que 96.