Ein Riffle Shuffle ist eine Methode zum Mischen von Karten, bei der das Deck in zwei ungefähr gleiche Abschnitte aufgeteilt und die Abschnitte in kleinen Gruppen ineinander gespalten werden. So mischen Sie eine Zeichenfolge:
- Teilen Sie die Zeichenfolge in gleiche Abschnitte.
- Kehren Sie die Zeichenfolgen um und beginnen Sie am Anfang jeder Zeichenfolge.
- Fügen Sie Läufe mit einer gleichmäßig zufälligen Länge zwischen 1 und der Anzahl der in der aktuellen Zeichenfolge verbleibenden Zeichen in die endgültige Zeichenfolge ein
- Entfernen Sie dann diese Zeichen aus der Zeichenfolge.
- Wiederholen Sie dies für die andere Hälfte, bis beide Hälften leer sind.
Ein Beispiel
"Hello World!" Output string = ""
"Hello ", "World!" ""
"Hell", "World!" " o"
"Hell", "World" " o!"
"Hel", "World" " o!l"
"Hel", "Wo" " o!ldlr"
"H", "Wo" " o!ldlrle"
"H", "" " o!ldlrleoW"
"", "" " o!ldlrleoWH"
Das Endprodukt von Hello World!
könnte sein o!ldlrleoWH
und das würden Sie ausgeben.
Cops
Ihre Aufgabe ist es, ein Programm (oder eine Funktion) zu erstellen, mit dem eine Zeichenfolge gemischt wird. Wenn die eingegebene Zeichenfolge eine ungerade Länge hat, teilen Sie sie einfach in zwei Zeichenfolgen mit ungerader Länge und einer relativen Länge von +1
und +0
( abc => [ab, c] or [a, bc]
) auf. Sie können Eingaben auf normale Weise vornehmen und Ausgaben auf normale Weise erzeugen.
Ihre Cops-Einreichung besteht aus 4 Dingen
- Die Sprache, die Sie verwendet haben
- Die Länge Ihres Programms in Bytes
- Ihr Programm, Riffle gemischt.
- Alles andere, was Sie hinzufügen möchten
Sie möchten verhindern, dass Ihr Code 7 Tage lang von den Räubern geknackt wird. Nach dieser Zeit ist Ihr Programm sicher und Sie sollten es in Ihrem ursprünglichen Programm bearbeiten. Ihre Einreichung kann noch geknackt werden, bis Sie Ihre Lösung offenlegen. Die kürzeste und sicherste Lösung ist der Gewinner!