11735. Нескінчена прогулянка


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Маємо простий орієнтований граф \(G\) з \(N\) вершинами та \(M\) ребрами. Вершини позначені як 1, 2, …, N. \(i\)-те ребро (\(1 \leq i \leq M\)) йде від вершини \(U_i\) до вершини \(V_i\).

Степан почне з вершини та кілька разів переміщатиметься на \(G\) від однієї вершини до іншої вздовж спрямованого ребра. Скільки вершин \(G\) мають таку умову: Степан може почати з цієї вершини і продовжувати подорож необмежено довго, ретельно вибираючи шлях?

Обмеження

  • \(1 \leq N \leq 2\times 10^5\)

  • \(0 \leq M \leq \min(N(N-1), 2 \times 10^5)\)

  • \(1 \leq U_i,V_i \leq N\)

  • \(U_i \neq V_i\)

  • \((U_i,V_i) \neq (U_j,V_j)\), якщо \(i \neq j\)

Формат вхідних даних

Перший рядок містить цілі числа \(N,M\)

Наступні  \(M\) рядків містять цілі числа \(U_i, V_i\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть шукану кількість.

Примітка

До прикладу 1:

Починаючи з вершини 2, Степан може продовжувати подорож необмежено: 2 → 3 → 4 → 2 → 3 → ⋯

Те саме відбувається, починаючи з вершини 3 або вершини 4.

Від вершини 1 , він може спочатку піти до вершини 2, а потім знову продовжувати подорож необмежено довго.

З іншого боку, з 5 він не може рухатися взагалі. Таким чином, чотири вершини 1, 2, 3 і 4 ― задовольняють умови

Приклад вхідних даних

5 5
1 2
2 3
3 4
4 2
4 5

Приклад вихідних даних

4

Приклад вхідних даних

3 2
1 2
2 1

Приклад вихідних даних

2

Коментарі

Ще немає коментарів.