![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.09.2016
Сообщений: 25
|
![]()
Помогите найти ошибку. Выдает неправильный результат!
Необходимо проверить есть ли циклы в графе, если да то вывести его в порядке обхода вершин. Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Думаю, что использование used[v]=2 - неверное решение.
Кроме того, в dfs вы ищете посещённую смежную с v вершину. А потом, вместо ветки else делаете новый if. Ведь логично было бы - если вершина не посещалась (не найден цикл) - попробовать перейти на эту вершину. А там уже проверять возможность цикла, как-то запомнить уже посещённую вершину, которая будет последней помещена в стек пути цикла. И в стек пути цикла помещать вершины только после обнаружения этого цикла. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск кратчайшего цикла в графе | Максим 116 | Общие вопросы C/C++ | 0 | 06.10.2013 14:07 |
Проблема с STL. Поиск эйлерова цикла на графе | litviak | Общие вопросы C/C++ | 2 | 14.04.2012 10:45 |
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. | Necare | Помощь студентам | 0 | 15.11.2011 18:26 |
Поиск Эйлерова цикла в графе | Danion | Помощь студентам | 3 | 22.05.2010 18:47 |
найти длину кратчайшего цикла в графе | Petruha-nsk | Общие вопросы C/C++ | 4 | 13.05.2009 17:08 |