Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Napisz program, który: wczyta graf nieskierowany, wyznaczy liczbę jego spójnych składowych, które są cyklami prostymi i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz M, oddzielone pojedynczym odstępem i określające liczbę wierzchołków i krawędzi grafu. W kolejnych M wierszach znajduje się opis krawędzi grafu, po jednej w wierszu. Opis każdej krawędzi składa się z dwóch liczb naturalnych ui oraz vi oddzielonych pojedynczym odstępem. Są to numery wierzchołków połączonych dwukierunkową krawędzią.
Wierzchołki numerowane są kolejnymi liczbami naturalnymi od 1 do N włącznie.
Dla każdej krawędzi grafu gwarantowane jest, że ui ≠ vi. Każda nieuporządkowana para (ui,vi) może wystąpić na wejściu co najwyżej raz.
Wyjście
W pierwszym (jedynym) wierszu wyjścia należy wypisać jedną nieujemną liczbę całkowitą – liczbę spójnych składowych grafu, które są cyklami prostymi.
Ograniczenia
1 ≤ N ≤ 200 000, 1 ≤ M ≤ 500 000.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Graf z wejścia ma trzy spójne składowe, lecz tylko jedna z nich jest cyklem prostym. |