Кто-нить подскажет как можно это сделать??
Есть матрица (к примеру 5x5) , пользователь ввел слово,
теперь программа должна найти слово с максимальным количеством букв.
Я не могу сделать именно этот поиск... Помогите, плз...
P.S. Все слова берутся из словаря.
а POS на что? смотрим по строкам сначала (справа налево) затем по столбцам снизу вверх.....
все элементы матрицы (столбца или строки) считаем строкой, и ищем в словаре слово, с вхождением этой строки в искомое...
Так слова расположены не только в столбик или в строку, они ломаются...
да, я не подумал.
Тогда выход один - интерплитировать матрицу как граф, и перебирать в нем маршруты....
...и не забывать, что подставляемая буква может быть любой, да еще и располагаться в середине слова.
задачка минимум на 200 р ;)
А чего там сложного?
Есть набор слов, есть матрица букв
Методом перебора =)
берем букву [0.0] находим слова начинающиеся на эту букву, сравниваем - вниз, вправо, вправо по диагонали. Если совпадение - ура если нет то к следущему слову...
Тока так - долго, но пока что ничего другого в голову не лезет [2 ночи =)) ]
Эта задачка далеко не тривиальная ;)
Можно пробовать рекурсией ... идя постепенно от какой-либо буквы , расходясь на различные пути , и сравнивая при этом со словами из словоря ... но это , помоему будет очень долго ...
Есть ещё вариант использовать бинарные упорядоченные деревья ..
бинарные упорядоченные деревья это как?? дай ссылку на материал
Цитата
Есть ещё вариант использовать бинарные упорядоченные деревья ..
Почему именно упорядоченные? Для матрицы 5 на 5, имхо, и обычные сойдут
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.