Помощь - Поиск - Пользователи - Календарь
Полная версия: Алгоритм поиска слов в игре Балда
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
droNNeZ
Кто-нить подскажет как можно это сделать??

Есть матрица (к примеру 5x5) , пользователь ввел слово,
теперь программа должна найти слово с максимальным количеством букв.
Я не могу сделать именно этот поиск... Помогите, плз...

P.S. Все слова берутся из словаря.
Altair
а POS на что? смотрим по строкам сначала (справа налево) затем по столбцам снизу вверх.....
все элементы матрицы (столбца или строки) считаем строкой, и ищем в словаре слово, с вхождением этой строки в искомое...
droNNeZ
Так слова расположены не только в столбик или в строку, они ломаются...
Altair
да, я не подумал.
Тогда выход один - интерплитировать матрицу как граф, и перебирать в нем маршруты....
pro
...и не забывать, что подставляемая буква может быть любой, да еще и располагаться в середине слова.
задачка минимум на 200 р ;)
Dark
А чего там сложного?
Есть набор слов, есть матрица букв
Методом перебора =)
берем букву [0.0] находим слова начинающиеся на эту букву, сравниваем - вниз, вправо, вправо по диагонали. Если совпадение - ура если нет то к следущему слову...
Тока так - долго, но пока что ничего другого в голову не лезет [2 ночи =)) ]
SHnur
Эта задачка далеко не тривиальная ;)
Можно пробовать рекурсией ... идя постепенно от какой-либо буквы , расходясь на различные пути , и сравнивая при этом со словами из словоря ... но это , помоему будет очень долго ...
Есть ещё вариант использовать бинарные упорядоченные деревья ..
droNNeZ
бинарные упорядоченные деревья это как?? дай ссылку на материал smile.gif
volvo
FAQ: Динамические структуры данных Смотри программу для AVL
Atos
Цитата
Есть ещё вариант использовать бинарные упорядоченные деревья ..
Почему именно упорядоченные? Для матрицы 5 на 5, имхо, и обычные сойдут
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.