Нужно составить алгоритм
Есть кроссворд. Любой. На пример как на картинке.
И есть набор чисел, которых в несколько раз больше, чем поместится в кроссворд. На пример:
92365
13846
4356
128
95
1250
3916735
3594
190346
5843
9571
126534
59
21
39468
593823
96986
9348
594756
33466
Нужно составить алгоритм, который заполняет кроссворд числами из списка. Условие: чтобы сумма цифр из всех квадратов в кроссворде получилась максимальная.
Конкретно я немогу понять через что представлять сам кроссворд (массив? дерево?). И как проверять какие места свободны, какие частично заняты.
И ещё:
Квадрат разбит на девять частей. В каждой части вписана буква:
T __ S __ E
K __ I __ H
U __ R __ A
Нужен алгоритм, выписывающий все возможные комбинации (слова) из этих букв. Условие: минимум четыре буквы, в каждой комбинации должна быть буква I (середина квадрата), каждая буква может присутствовать только один раз.
|