Conceito
De que maneira você pode embaralhar o alfabeto inglês para que ele ainda possa ser cantado na música Twinkle Twinkle Little Star sem estragar a música?
Regras
Troca
Vamos supor que as letras contidas em cada um dos seguintes conjuntos possam ser trocadas livremente por padrão, sem estragar a música:
- {A, J, K}
- {B, C, D, E, G, P, T, V, Z}
- {I, Y}
- {Q, U}
- {S, X, F}
- {M, N}
- Portanto, H, L, O, R e W estão travados no lugar
Saída
O programa precisa gerar uma única sequência RANDOM (ou lista de caracteres) contendo o alfabeto inglês completo em qualquer ordem, desde que a ordem atenda às condições acima. Não deve haver maneira de você prever qual string seu programa produzirá (se ignorarmos a propagação), o que significa que você não pode simplesmente codificá-lo.
Seu programa deve ter alguma probabilidade positiva (não necessariamente uniforme) de gerar cada um dos saídas.
Não há restrições de formatação específicas em relação ao espaçamento, delimitadores ou maiúsculas e minúsculas, apenas seja consistente.
Objetivo
Menos bytes ganha!
Exemplos:
- 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
- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Nenhum exemplo:
- HLWROABCDEFZXYGIJKMNPQTSVU
Prova de conceito: (Python3, 529 bytes)
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
estar "trancado no lugar", não rima com os outros?