![]() |
|
|
![]()
|
|
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
Mal Hack
имхо на скорость в данном случае вообще рассчитывать не приходится... ну можно просто когда кончается цепочка, записывать её, а потом следующую сравнивать с ней на предмет длины... если длинее, заменять, нет, идти дальше. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Можно. Тут уже все-таки надо более детально смотреть ресурсы и пробовать.
|
|||
|
||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
топорно конечно сделал (ну так ведь не мастер
сделал с базой данных и пошагово, т.к. самому было интересно -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
а теорию графов никто не учил ... это же еб .... шся перебором это делать
|
|||
|
||||
| Diesel Draft |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: -1 Всего: 5 |
можно попробувать создать граф, апотом искать самый походящый путь.
мне кажетсаето самый подходящый вареант |
|||
|
||||
| Denny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.12.2005 Где: Тверская обл. Репутация: нет Всего: нет |
Я не учил... Поподробнее можно. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
и меня заодно научите
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Diesel Draft |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: -1 Всего: 5 |
Вы знаете што такое дерево даных? Если знаете то дерев мает одного предка и много нащадков. А граф может иметь много предков и много нащадков.
Как паутина |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
як можливо маiть богато предков?
зы - Diesel Draft, пишите по-русски!!! |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Это самый правильный вариант, для решения таких задач. Тем более сведя графы к матрицам инцидентности или смежности вся задача превратится в простые математические вычисления (сложения вычитания матриц и.т.д.) .... Хотя по сути задача не легкая. |
|||
|
||||
| error |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 3.1.2006 Репутация: нет Всего: нет |
Самое простое, что приходит в голову - сделать по алгоритму фронта волны.
По Дейкстре, увы, не найдешь, так как классический Дейкстра - для бесконтурных графов. По-моему, сложность в любом случае будет n*4. Но это все же лучше, чем n! (перебор). Но вообще задачу обалдеешь делать. Это сообщение отредактировал(а) error - 4.1.2006, 00:03 |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
А это на рюкзак не похоже? |
|||
|
||||
| mvdr |
|
|||
|
физик ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1349 Регистрация: 31.12.2004 Где: Волгоград, Россия Репутация: 1 Всего: 42 |
А если для каждой буквы завести свой массив, и потом брать любое слово, смотреть его последнюю букву, и затем брать слово начинающееся на нее из того массива где слов больше.
Не факт что будет длинная цепочка, ... Еще надо продумать гаморрой с той же Астраханью (что брать не последнюю, а предпоследнюю). -------------------- Появляюсь редко, но часто метко Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано |
|||
|
||||
| Illuminaty |
|
|||
![]() /*Антон Захаров*/ ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1238 Регистрация: 19.3.2005 Где: Россия, Казань Репутация: 1 Всего: 56 |
Можно свести задачу к следующей.
Есть n слов. Создадим множество {b[i], e[i]}, отображением из множества введеных слов по следующему правилу: b[i] - первая буква i-того слова e[i] - первая с конца буква i-того слова, с которой может начинаться другое слово (т.е. не 'ъ', 'ы' и т.п.) пусть A - объединение множеств {b[i]} и {e[i]} m-размерность A Создадим матрицу B размерности m на m такую, что B[u, v] = {набор целых чисел из интервала [1..n] таких, что для любого числа x из этого набора b[x] = A[u], e[x]=A[v]} Полученная матрица описывает орграф. Таким образом решением задачи будет максимальный эйлеров контур в этом орграфе + (возможно) две дуги. Одна входящая в эйлеров контур (начальное слово из условия задачи) и одна исходящая (конечное слово). Естественно, что таких дополнительных дуг может и не быть или может быть одна. Нахождение такого эйлерова контура гораздо менее трудоемкая операция чем полный перебор. |
|||
|
||||
| poor_yorik |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 12.1.2005 Где: Общаги г. Киева Репутация: 3 Всего: 8 |
Емхмо, проще сделать так.
Завести матрицу mat['А'..'Я','А'..'Я']. И заполнить ее таким образом Например элементу mat['A','H'], будем ставить количество городов, которые начинаются на А заканчиваются на Н. А потом с ней работать, что будет побыстрее. Кстати это и будет матрица смежности ориентированого графа, у которого вершинам соответсвуют буквы русского алфавита. И здесь можно попробговать алгоритм Эйлера... Приблизительный ответ это даст. --------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай... |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |