12025. Без циклів
Вам дано простий неорієнтований граф з \(N\) вершинами та \(M\) ребрами. Вершини пронумеровані від 1 до \(N\), а \(i\)-те ребро з’єднує вершину \(A_i\) та вершину \(B_i \). Давайте видалимо нуль або більше ребер, щоб видалити цикли з графа. Знайдіть мінімальну кількість ребер, які необхідно видалити для цього.
Що таке простий неорієнтований граф? Простий неорієнтований граф — це граф без петель або мультиребер, ребра якого не мають напрямку.
Що таке цикл? Цикл у простому неорієнтованому графі — це послідовність вершин \((v_0 ,v_1 ,…,v_{n−1} )\) довжиною щонайменше 3, яка задовольняє \(v_i \neq v_j\) якщо \(i \neq j\) така, що для кожного \(0 ≤i<n\), між \(v_i\) та \(v_{i+1}\) є ребро.
Обмеження
- \(1≤N≤2×10^5\)
- \(0≤M≤2×10^5\)
- \(1≤A_i ,B_i ≤N\)
- Даний граф простий.
- Усі значення у вхідних даних є цілими числами.
Формат вхідних даних
Перший рядок містить цілі числа \(N,M\).
Наступні \(M\) рядків містять цілі числа \(A_i, B_i\).
Формат вихідних даних
У вихідний потік виведіть відповідь.
Приклад вхідних даних
6 7
1 2
1 3
2 3
4 2
6 5
4 6
4 5
Приклад вихідних даних
2
Один із способів видалити цикли з графа - це видалити два ребра між вершинами 1 і 2 і між вершиною 4 і вершиною 5.
Немає способу видалити цикли з граф, видаливши одне ребро, тому вам слід вивести 2.
Приклад вхідних даних
4 2
1 2
3 4
Приклад вихідних даних
0
Приклад вхідних даних
5 3
1 2
1 3
2 3
Приклад вихідних даних
1
Коментарі