Я бы получил индекс каждой буквы, используемой каждым словом, чтобы узнать возможные крестики. Тогда я бы выбрал самое большое слово и использовал его в качестве основы. Выберите следующий большой и пересечь его. Промыть и повторить. Это, вероятно, проблема NP.
Другая идея заключается в создании генетического алгоритма, в котором метрикой силы является количество слов, которое вы можете поместить в таблицу.
Трудная часть, которую я нахожу, - это когда невозможно узнать определенный список.