eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Ну дуже поширений метод для графів...

Ну дуже поширений метод для графів...

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Віталій Гольдштейн на Зимовій Школі розповідав про графи, про білі, чорні і сірі вершини, про розв'зання багатьох задачок на графи методом пошуку у глибину. А на підведенні підсумків почав розповідати про важке життя програміста і тому забув усім на Зимові Школі у Харкові 2011 задати ще одну задачку, яку також можна розв'язати вказаним методом. Звичайно, Віталій не міг забути про неї і попросив нас все-таки запропонувати усім цю задачку, бо як справжній майстер-лектор він не повинен упустити можливості поставити якусь, нехай і просту задачку, при довільному спілкуванні з аудиторією, навіть якщо це спілкування відбувається дистанційно.

Отже, ще одна його проста задачка, яка розв'язується методом пошуку у глибину, звучить так: “Вам задано неорієнтовний граф з N вершинами та M ребрами (1N20000, 0M200000). У графі відсутні петлі та кратні ребра. Визначіть компоненти зв'язності заданого графа.

Вхідні дані

Граф задано у вхідному файлі наступним чином: перший рядок містить числа N і M. Кожен з наступних M рядків містить опис ребра – два цілих числа з діапазону від 1 до N – номери кінців ребра.

Вихідні дані

У єдиному рядку виведіть число L – кількість компонент зв'язності заданого графа.

Приклад

Вхідні дані #1
4 2
1 2
3 4
Вихідні дані #1
2