Consciência Posicional
Sua tarefa é gerar um programa que, para cada permutação de seus caracteres (que inclui o programa original), produza as posições de cada caractere em relação ao programa original.
Se o seu programa é
Derp
você deve produzir
[0, 1, 2, 3]
(ou algum equivalente). Isto é porque Destá na 0posição th, eé no 1r, r o 2nd, e po 3rd.
Vamos dar outro programa que é o programa original, mas com seus caracteres permutados:
epDr
Você deve produzir
[1, 3, 0, 2]
porque eestá na 1posição r do programa inicial, pé na 3posição rd, Do 0po, e ra 2ND.
Se o programa original tiver dois caracteres repetidos:
abcda -> [0, 1, 2, 3, 4]
Em seguida, para a permutação, oe 0o 4na matriz devem estar em ordem crescente:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Regras:
- Seu programa deve conter pelo menos dois caracteres exclusivos.
No máximo, os
floor(n/2)caracteres devem ser os mesmos.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)A saída do seu programa pode ser uma matriz (ou algo semelhante) contendo todas as posições dos caracteres em ordem ou uma string com qualquer delimitador, portanto, estas são perfeitamente adequadas:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
12em R seria válido? Simplesmente imprimiria 12e se permutado; 21.