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 Des sich in der 0dritten Position befindet, esich in der 1st, r der 2nd und pder 3rd 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 ees sich in der 1st-Position des ursprünglichen Programms befindet, pbefindet es sich in der 3r-Position, Ddem 0th und rdem 2nd.
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 0und das 4im 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
12in R gültig? Es würde einfach drucken 12und wenn permutiert; 21.