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
fonte
12
em R seria válido? Simplesmente imprimiria12
e se permutado;21
.Respostas:
Na verdade , 2 bytes
Experimente online!
Isso imprime
enquanto a (apenas) outra permutação
impressões
Como funciona
Na verdade, os dígitos consecutivos são analisados separadamente, então
10
empurra 1 na pilha e depois 0 em cima dela.Quando o programa termina, a pilha é impressa de cima para baixo, para que imprima 0 primeiro, depois um avanço de linha e 1 .
O programa desregulado
01
faz o mesmo, na ordem oposta.fonte
Geléia , 2 bytes
Experimente online!
Saídas:
[0, 1]
Outras
J;
saídas de permutação :[1, 0]
Como funciona:
fonte