Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Организовать обход в глубину - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ консольное приложение (при запуске приложение открывалось на весь экран) http://www.cyberforum.ru/cpp-beginners/thread810520.html
Как сделать, чтобы при запуске приложение открывалось на весь экран?
C++ Классы. Непонятная ошибка Приветствую. Помогите мне пожалуйста разобраться в одной ошибке. Текст задачи:... http://www.cyberforum.ru/cpp-beginners/thread810505.html
C++ Классы.Заголовочные файлы
Здравствуйте.Помогите найти ошибку.В программе.Вот код. /* main.cpp */ #include <iostream> #include <conio.h> #include "Students.h" using namespace std; int main() { setlocale(LC_ALL,...
C++ Добавить запись в файл, который уже содержит данные
Есть файл(название не важно). Необходимо без удаления предыдущих данных ввести новые, например с новой строки
C++ Динамический 2-ный массив, count Sort http://www.cyberforum.ru/cpp-beginners/thread810486.html
Всем привет, я написал сортировку методом ПОДСЧЁТА для двумерного массива с динамической памятью, и вот что то не работает , посмотрите код, я тут на форуме смотрел тему сортировки массивов, и всё...
C++ Как направить вывод из файла Господа, подскажите, как быть с такой задачей. Есть текстовый файл. Допустим, 2 предложения, 10 слов всего. Необходимо каждое слово помещать в массив или вектор (не важно) по отдельности (для... подробнее

Показать сообщение отдельно
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.03.2013, 01:27
Цитата Сообщение от Veyron Посмотреть сообщение
Но, опять же, некоторые сыновья шарнира могут лежать в одной компоненте связности.
Неа. Вот представьте себе дерево обхода в глубину графа с точкой сочленения.

Код
                   предок
                      |
                      |
              точка сочленения
                /     |    \
               /      |     \
              /       |      \
          1 сын     2 сын   3 сын
Очевидно, что после удаления точки сочленения ее сыновья окажутся в разных компонентах связности.
Ну, там правда был какой-то частный случай...

сколько останется вершин в КАЖДОЙ из получившихся компонент связности
Это еще проще считается - допустим, вы находитесь в какой-то вершине, у которой есть сыновья, и вы знаете ответ для этих сыновей. Тогда вам нужно просто сложить ответы для каждого из сыновей (ну и про самих сыновей не забыть).
То есть пускаете dfs из каждого сына, и этот же dfs считает вам ответ. И так для каждой вершины.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru