| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > обход 'графа' |
| Автор: chaos 9.12.2004, 13:47 |
| Дали сегодня вот такую задачку см. ниже Вот решил поделится условием и послушать что люди скажут по этому поводу http://wlpr.fatal.ru/1.gif |
| Автор: Akina 9.12.2004, 14:13 |
| ну и что? убери числа из узлов и проставь их произведения на ребрах - в результате заменишь поиск суммы произведений на поиск суммы. А дальше задача совершенно тривиальнаЯ. |
| Автор: chaos 9.12.2004, 14:37 | ||
спасибо за совет |
| Автор: chaos 9.12.2004, 15:11 | ||
чето не доходит |
| Автор: Fedor 9.12.2004, 19:02 |
| ИМХО, поиск в ширину. Идешь из старта волной. Просматриваешь все смежные вершины с текущей. Если произведение текущей вершины на смежную плюс найденная максимальная сумма в этой вершине больше чем уже найденная (либо еще не найденная нулевая) то записываем в новую матрицу и продолжаем обход. З.Ы. Могу алгоритм написать если нужно. Только завтра уже. З.З.Ы. Насколько я понял, дважды в одной вершине нельзя быть? |
| Автор: Akina 9.12.2004, 19:33 | ||
Чего не доходит? число на ребре = стоимости маршрута. Задача коммивояжера, тоько поиск не опимума, а заданного значения. |
| Автор: chaos 10.12.2004, 14:33 | ||
поделись алгоритмом есл не жалко, а по поводу "дважды в одной вершине нельзя быть?" по моему можно раз в условии не сказано |
| Автор: Fedor 10.12.2004, 18:06 | ||
ну тогда я кроме перебора с возвратами пока не могу придумать решение. |
| Автор: chaos 13.12.2004, 12:30 | ||||
а если дв каждой вершине можно быть только раз у тя есть какоенибудь решение?? А то что то у меня не получается |
| Автор: chaos 15.12.2004, 09:38 |
| помогите люди!!! |
| Автор: chaos 15.12.2004, 12:30 | ||
Выяснил. В каждой вершине можно быть по разу Добавлено @ 12:31 Люди ну помогит хоть ктонить |
| Автор: Akina 15.12.2004, 13:29 | ||
Начинай делать и задавай КОНКРЕТНЫЕ вопросы. За тебя делать - влом. Или шагай в раздел "Работа" и заказывай. |
| Автор: chaos 16.12.2004, 16:07 |
| подскажите хоть с чего начать то |
| Автор: Vladimir13 17.12.2004, 03:52 |
| сначала как уже сказали - замена узловых значений реберными ( подсчет произведения каждого ребра ). потом смотришь куда ты можешь пойти с данной точки - запоминаешь все значения. Далее смотришь куда можешь пойти из тех точек, если сначала пошел в первую выбранную... и т.д. в результате запоминаешь суммы. Перед "шагом" надо проверять вершину на четность ( т.к. если с ней грничит <2 ребер, то мы с нее уже не выйдем. Там еще нолики есть -это тоже упрощает дело. Надеюсь, я понятно объяснил. |
| Автор: chaos 17.12.2004, 10:30 | ||
вот я лгоритмик набросал, но он глючный |
| Автор: chaos 17.12.2004, 18:15 | ||
Вот еще переписал вроде для малого кол-ва точек работает, а решил для 30, все писец загнулось
вормат данных: кол-во вершин начальная вершина конечная матрица смежности вес каждой вершины Пример: 4 1 4 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 2 3 4 |
| Автор: chaos 24.12.2004, 16:12 | ||
| все написал, и даже работает кому интересно вот исходник на срр
|