Радиосети экспедиции

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

Submit solution


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

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

Во время крупной экспедиции между отрядами настроена направленная радиосвязь. Если существует канал связи из отряда u в отряд v, это означает, что сообщение, переданное отрядом u, может быть напрямую принято отрядом v.

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

Необходимо выбрать минимальное количество отрядов, которым нужно выдать сообщение изначально, чтобы после дальнейшей пересылки оно дошло до всех отрядов экспедиции.

Требуется вывести только это минимальное количество.

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

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

В следующих m строках заданы пары чисел u и v, означающие, что существует направленный радиоканал из отряда u в отряд v.

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

Выведите одно целое число — минимальное количество отрядов, которым нужно передать сообщение в начале.

Ограничения

  • 1 <= n <= 200000
  • 0 <= m <= 300000
  • 1 <= u, v <= n
  • Возможны петли и кратные каналы связи.

Примеры

Пример 1

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

5 4
1 2
2 3
3 4
4 5

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

1
Пример 2

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

4 4
1 2
2 3
3 4
4 1

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

1

Комментарии

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