Предположим, я выбрал все 3 символьных слова из словаря Mathematica:
all3 = Characters /@ Select[DictionaryLookup[], StringLength[#] == 3 &];
и хочу сформировать полные наборы, подобные царапинам, например:
A B E
R A Y
E R E
Где слова можно читать по горизонтали и вертикали.
Очевидно, что наборы можно найти с помощью рекурсии и отслеживания с возвратом. Но:
1) Есть ли способ решить эту проблему с помощью шаблонов?
2) Для каких размеров существуют подходящие решения?
Править
Я написал вопрос для DictionaryLookup []
только потому, что это база данных разумного размера с записями переменной длины. Моя настоящая проблема связана не с поиском в словаре, а с определенным типом ткацких станков.