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

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

1 секунда
64 мегабайти
Легка

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

Отже, ось ще одна проста задача, що розв'язується методом обходу в глибину: "Дано неорієнтований граф з вершинами і ребрами (1 \leq N \leq 20000, 0 \leq M \leq 200000). Граф не містить петель та кратних ребер. Визначте кількість зв'язних компонент даного графа."

Вхідні дані

Граф задається у вхідному файлі наступним чином: у першому рядку містяться числа та . Кожен з наступних рядків описує ребро двома цілими числами від до , які задають вершини, що з'єднані цим ребром.

Вихідні дані

Виведіть в одному рядку число — кількість зв'язних компонент у даному графі.

Приклади

Приклад 1

Loading
Loading