Introdução
Uma página de código mapeia valores inteiros para um caractere específico. Podemos visualizar uma página de código como esta:
+ --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | | 0 1 | 2 3 4 5 6 7 8 9 A B C D E F + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 0 q w e r | t z você eu o | p a | s d f g j + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 1 | k eu y x c v b n | m Q W E R T Z U + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 2 Eu O P A S D F G H J | | | | | | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- +
As linhas especificam o primeiro dígito e as colunas o segundo dígito do número hexadecimal.
O desafio
Dada uma cadeia de 16 a 255 caracteres únicos, produza a página de código correspondente usando o índice baseado em zero de cada caractere na cadeia como valor. A entrada, qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJ
por exemplo, renderia a tabela acima.
- A saída deve estar exatamente no mesmo formato da tabela acima. Somente uma nova linha à direita é opcional.
- Se o comprimento da entrada não for múltiplo de 16, será necessário iniciar uma nova linha para os caracteres restantes e deixar as células não utilizadas vazias (= preenchidas com 3 espaços).
- Cada caractere é colocado exatamente no meio de uma célula, preenchido por um espaço à esquerda e à direita.
- Os valores na primeira linha e coluna são dados por números hexadecimais com os dígitos
0123456789ABCDEF
. Aqueles são preenchidos com um espaço à esquerda e à direita também. Você pode optar por usar dígitos hexadecimais em minúsculas, mas precisa se ater a um. - Os únicos caracteres presentes na saída são hífens
-
, vantagens+
, tubos|
, espaços, os dígitos dos números hexadecimais e os caracteres da entrada.
- São proibidos quaisquer componentes internos relacionados a tabelas de arte ASCII ou banalizarem o problema.
- Você pode assumir que a entrada consiste apenas em caracteres de uma codificação específica. Especifique se for esse o caso.
- Se o seu idioma puder lidar apenas com entrada ASCII, você poderá assumir a entrada somente ASCII e caracteres repetidos.
Regras
- Função ou programa completo permitido.
- Regras padrão para entrada / saída.
- Aplicam-se brechas padrão .
- Isso é código-golfe , e a menor contagem de bytes vence. O desempatador é uma inscrição anterior.
Feliz codificação!