Concetto
In che modo puoi mescolare l'alfabeto inglese in modo che possa ancora essere cantato sulla melodia Twinkle Twinkle Little Star senza rovinare la melodia?
Regole
Swapping
Supponiamo che le lettere contenute in ciascuno dei seguenti set possano essere scambiate liberamente per impostazione predefinita senza rovinare la melodia:
- {A, J, K}
- {B, C, D, E, G, P, T, V, Z}
- {I, Y}
- {Q, U}
- {S, X, F}
- {M, N}
- Pertanto H, L, O, R e W sono bloccati in posizione
Produzione
Il programma deve emettere una singola stringa RANDOM (o un elenco di caratteri) contenente l'alfabeto inglese completo in qualsiasi ordine a condizione che l'ordine soddisfi le condizioni sopra. Non dovresti avere modo di prevedere quale stringa verrà generata dal tuo programma (se ignoriamo il seeding), il che significa che non puoi semplicemente codificarlo.
Il tuo programma deve avere qualche probabilità positiva (non necessariamente uniforme) di generare ciascuno dei uscite.
Non ci sono particolari restrizioni di formattazione per quanto riguarda spaziatura, delimitatori o maiuscole, basta essere coerenti.
Obbiettivo
Vince il minor numero di byte!
Esempi:
- 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
Nonexample:
- 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
essere "bloccato sul posto", non fa rima con gli altri?