Conscience de la position
Votre tâche consiste à générer un programme qui, pour chaque permutation de ses caractères (qui inclut le programme d'origine), affiche les positions de chaque caractère par rapport au programme d'origine.
Si votre programme est
Derp
vous devez sortir
[0, 1, 2, 3]
(ou un équivalent). C'est parce que se D
trouve dans la 0
th position, e
est dans le 1
st, r le 2
nd et p
le 3
rd.
Prenons un autre programme qui est le programme d'origine, mais avec ses caractères permutés:
epDr
Vous devez sortir
[1, 3, 0, 2]
car se e
trouve en première 1
position du programme d'origine, p
est en première 3
position, D
la 0
th et r
la 2
nd.
Si le programme d'origine comporte deux caractères répétitifs:
abcda -> [0, 1, 2, 3, 4]
Ensuite, pour la permutation, le 0
et le 4
dans le tableau doivent être dans l'ordre croissant:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Règles:
- Votre programme doit contenir au moins deux caractères uniques.
La plupart des
floor(n/2)
personnages doivent être identiques.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
La sortie de votre programme peut être soit un tableau (ou quelque chose de similaire) contenant toutes les positions des caractères dans l'ordre, soit une chaîne avec n'importe quel délimiteur, donc ce sont parfaitement bien:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
la source
12
en R serait-il valide? Il serait simplement imprimé12
et s'il était permuté;21
.Réponses:
En fait , 2 octets
Essayez-le en ligne!
Cela imprime
tandis que la (seule) autre permutation
impressions
Comment ça fonctionne
En fait, les chiffres consécutifs sont analysés séparément, donc
10
pousse 1 sur la pile, puis 0 sur le dessus.Une fois le programme terminé, la pile est imprimée de haut en bas, donc elle imprime d' abord 0 , puis un saut de ligne, puis 1 .
Le programme dérangé
01
fait de même, dans l'ordre inverse.la source
Gelée , 2 octets
Essayez-le en ligne!
Les sorties:
[0, 1]
Autres
J;
sorties de permutation :[1, 0]
Comment ça fonctionne:
la source