Разрозненные острова

Просмотр в формате PDF

Submit solution


Очки: 100
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

На карте маленького архипелага отмечены n островов, пронумерованных от 1 до n. Между некоторыми парами островов проложены прямые лодочные маршруты. Каждый маршрут двусторонний: если по нему можно добраться с острова u на остров v, то можно и обратно.

Архипелаг считается разбитым на группы островов, если внутри каждой такой группы с любого острова можно доплыть до любого другого, возможно, с пересадками на промежуточных островах, а между разными группами добраться нельзя.

Требуется определить, на сколько таких разрозненных групп распадается архипелаг.

Входные данные

В первой строке заданы два целых числа n и m — количество островов и количество лодочных маршрутов.

В следующих m строках заданы маршруты: по два целых числа u и v, обозначающие двусторонний маршрут между островами u и v.

Выходные данные

Выведите одно целое число — количество разрозненных групп островов.

Ограничения

  • 1 <= n <= 100000
  • 0 <= m <= 200000
  • 1 <= u, v <= n
  • Маршрутов острова в самого себя нет.
  • Между одной и той же парой островов не бывает нескольких маршрутов.

Примеры

Пример 1

Входные данные

1 0

Выходные данные

1
Пример 2

Входные данные

2 1
1 2

Выходные данные

1

Комментарии

Еще нет ни одного комментария.