Konzept
Auf welche Weise können Sie das englische Alphabet verschlüsseln, damit es immer noch in der Melodie Twinkle Twinkle Little Star gesungen werden kann, ohne die Melodie zu ruinieren?
Regeln
Tauschen
Angenommen, die Buchstaben in den folgenden Sätzen können standardmäßig frei ausgetauscht werden, ohne die Melodie zu ruinieren:
- {A, J, K}
- {B, C, D, E, G, P, T, V, Z}
- {I, Y}
- {Q, U}
- {S, X, F}
- {M, N}
- Daher sind H, L, O, R und W an Ort und Stelle verriegelt
Ausgabe
Das Programm muss eine einzelne RANDOM-Zeichenfolge (oder eine Liste von Zeichen) ausgeben, die das vollständige englische Alphabet in einer beliebigen Reihenfolge enthält, sofern diese Reihenfolge die oben genannten Bedingungen erfüllt. Es sollte keine Möglichkeit für Sie geben, vorherzusagen, welche Zeichenfolge Ihr Programm ausgibt (wenn wir das Seeding ignorieren), was bedeutet, dass Sie es nicht einfach hart codieren können.
Ihr Programm muss eine positive Wahrscheinlichkeit (nicht unbedingt einheitlich) haben, jede der erzeugen Ausgänge.
Es gibt keine besonderen Formatierungsbeschränkungen in Bezug auf Abstand, Begrenzer oder Groß- / Kleinschreibung. Seien Sie einfach konsistent.
Tor
Wenigste Bytes gewinnt!
Beispiele:
- KCDBPSVHIAJLMNOZQRXGUEWFYT
- A, G, Z, V, P, X, C, H, Y, K, J, L, N, M, O, T, U, R, S, D, Q, B, W, F, I, E
- KVTDCFBHIJALNMOPURSZQGWXYE
- jcdebxthikalnmogursvq pwfyz
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
Kein Beispiel:
- HLWROABCDEFZXYGIJKMNPQTSVU
Proof of Concept: (Python3, 529 Byte)
import random
g1 = ['A', 'J', 'K']
g2 = ['B', 'C', 'D', 'E', 'G', 'P', 'T', 'V', 'Z']
g3 = ['I', 'Y']
g4 = ['Q', 'U']
g5 = ['S', 'X', 'F']
g6 = ['M', 'N']
random.shuffle(g1)
random.shuffle(g2)
random.shuffle(g3)
random.shuffle(g4)
random.shuffle(g5)
random.shuffle(g6)
print(g1[0] + g2[0] + g2[1] + g2[2] + g2[3] + g5[0] + g2[4] + 'H' + g3[0] + g1[1] + g1[2] + 'L' + g6[0] + g6[1] + 'O' + g2[5] + g4[0] + 'R' + g5[1] + g2[6] + g4[1] + g2[7] + 'W' + g5[2] + g3[1] + g2[8])
Z
"verriegelt" sein, es reimt sich nicht mit den anderen?