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
quelle
12
in R gültig? Es würde einfach drucken12
und wenn permutiert;21
.Antworten:
Eigentlich 2 Bytes
Probieren Sie es online aus!
Dies wird gedruckt
während die (einzige) andere Permutation
druckt
Wie es funktioniert
In Tatsächlich werden aufeinanderfolgende Ziffern separat analysiert.
10
Drücken Sie also 1 auf den Stapel und dann 0 darauf.Wenn das Programm beendet ist, wird der Stapel von oben nach unten gedruckt, sodass zuerst 0 , dann ein Zeilenvorschub und dann 1 gedruckt werden .
Das gestörte Programm
01
macht dasselbe in umgekehrter Reihenfolge.quelle
Gelee , 2 Bytes
Probieren Sie es online aus!
Ausgänge:
[0, 1]
Andere Permutationsausgaben
J;
:[1, 0]
Wie es funktioniert:
quelle