@Murat50005

Как разместить слова в матрице 6x6 для игры в филворды?

У меня есть список слов, включающий ['требование', 'хозяйство', 'сторона', 'поезд', 'номер'] или ['миллион', 'красота', 'дорога', 'здание', 'голос', 'класс'], которые в сумме составляют 36 букв. Я хочу создать матрицу 6x6 и разместить эти слова в ней, используя различные формы. У кого-то есть советы или алгоритмы, как это сделать?

p.s Будет здорово, если у вас есть пример на Python!
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
В общем случае - только комбинаторикой. Играть с каждым словом в змейку и замораживать его в произвольной позиции. Если филворд не складывается, то изменять форму изгиба предыдущего слова. Перебрать все формы изгиба и начальной точки этого слова. Не получилось собрать филворд? Вернуться на предыдущее за предыдущим словом - покрутить его форму и начальную точку, покрутить следующее слово. Опять не получилось? Вернуться на 2 слова назад, опять тоже самое, но поменять следующие за ним слова местами.
Можно оптимизировать алгоритм, чтобы змейка не стремилась расти в область пустых клеток, а чаще старалась огибать уже существующие контуры, тогда вероятнее собрать филворд в кратчайшие сроки, но слова будут меньше перемешаны, это будет заметно на больших площадях доски.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Changellenge >> Москва
от 255 000 до 490 000 ₽
Changellenge >> Москва
от 255 000 до 490 000 ₽
06 окт. 2024, в 08:42
20000 руб./за проект
06 окт. 2024, в 08:24
2500000 руб./за проект
06 окт. 2024, в 07:28
1111 руб./за проект