концепция
Каким образом вы можете зашифровать английский алфавит, чтобы его можно было петь под мелодию Twinkle Twinkle Little Star, не разрушая мелодию?
правила
Перестановка
Давайте просто предположим, что буквы, содержащиеся в каждом из следующих наборов, могут свободно заменяться по умолчанию, не разрушая мелодию:
- {A, J, K}
- {B, C, D, E, G, P, T, V, Z}
- {Я, Y}
- {Q, U}
- {S, X, F}
- {M, N}
- Поэтому H, L, O, R и W заблокированы на месте
Выход
Программа должна вывести единственную СЛУЧАЙНУЮ строку (или список символов), содержащую полный английский алфавит в любом порядке, при условии, что этот порядок удовлетворяет вышеуказанным условиям. У вас не должно быть возможности предсказать, какая строка будет выводиться вашей программой (если мы игнорируем заполнение), то есть вы не можете просто жестко ее кодировать.
Ваша программа должна иметь некоторую положительную вероятность (не обязательно равномерную) генерации каждого из выходов.
Не существует особых ограничений форматирования, касающихся пробелов, разделителей или регистра, просто будьте последовательными.
Цель
Побеждает несколько байтов!
Примеры:
- KCDBPSVHIAJLMNOZQRXGUEWFYT
- А, G, Z, V, Р, X, C, H, Y, K, J, L, N, М, О, Т, U, R, S, D, Q, B, W, F, I, Е
- KVTDCFBHIJALNMOPURSZQGWXYE
- jcdebxthikalnmogursvq pwfyz
- АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ
Nonexample:
- HLWROABCDEFZXYGIJKMNPQTSVU
Подтверждение концепции: (Python3, 529 байт)
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
быть «заперто на месте», оно не рифмуется с остальными?