Positionsbewusstsein
Ihre Aufgabe ist es, ein Programm zu generieren, das für jede Permutation seiner Zeichen (einschließlich des ursprünglichen Programms) die Positionen jedes Zeichens relativ zum ursprünglichen Programm ausgibt.
Wenn Ihr Programm ist
Derp
Sie müssen ausgeben
[0, 1, 2, 3]
(oder ein Äquivalent). Dies liegt daran, dass D
es sich in der 0
dritten Position befindet, e
sich in der 1
st, r der 2
nd und p
der 3
rd befindet.
Nehmen wir ein anderes Programm, das das ursprüngliche Programm ist, dessen Zeichen jedoch permutiert sind:
epDr
Sie müssen ausgeben
[1, 3, 0, 2]
weil e
es sich in der 1
st-Position des ursprünglichen Programms befindet, p
befindet es sich in der 3
r-Position, D
dem 0
th und r
dem 2
nd.
Wenn das ursprüngliche Programm zwei sich wiederholende Zeichen enthält:
abcda -> [0, 1, 2, 3, 4]
Dann müssen für die Permutation das 0
und das 4
im Array in aufsteigender Reihenfolge sein:
baadc -> [1, 0, 4, 3, 2] (0 first, then 4)
Regeln:
- Ihr Programm muss mindestens zwei eindeutige Zeichen enthalten.
Die meisten
floor(n/2)
Zeichen sollen gleich sein.aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)
Die Ausgabe Ihres Programms kann entweder ein Array (oder etwas Ähnliches) sein, das alle Positionen der Zeichen in der richtigen Reihenfolge enthält, oder eine Zeichenfolge mit einem beliebigen Trennzeichen. Diese sind also vollkommen in Ordnung:
[0, 1, 2, 3] 0,1,2,3 0 1 2 3
12
in R gültig? Es würde einfach drucken 12
und wenn permutiert; 21
.