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 D
está na 0
posição th, e
é no 1
r, r o 2
nd, e p
o 3
rd.
Vamos dar outro programa que é o programa original, mas com seus caracteres permutados:
epDr
Você deve produzir
[1, 3, 0, 2]
porque e
está na 1
posição r do programa inicial, p
é na 3
posição rd, D
o 0
po, e r
a 2
ND.
Se o programa original tiver dois caracteres repetidos:
abcda -> [0, 1, 2, 3, 4]
Em seguida, para a permutação, oe 0
o 4
na 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
12
em R seria válido? Simplesmente imprimiria 12
e se permutado; 21
.