12044. Уніциклічні компоненти
Вам надано неорієнтований граф із \(N\) вершинами, пронумерованими від 1 до \(N\), і \(M\) ребрами, пронумерованими від 1 до \(M\). Ребро \(i\) з’єднує вершину \(u_i\) та вершину \(v_i\) .
Визначте, чи кожен зв’язний компонент у цьому графі задовольняє наступну умову.
- Компонента зв'язності має однакову кількість вершин і ребер.
Примітки. Неорієнтований граф — це граф із ребрами без напрямку. Підграф графа — це граф, утворений із підмножини вершин і ребер цього графа. Граф є зв’язним, коли можна пересуватися між кожною парою вершин у графі через ребра. Зв'язний компонент - це зв'язний підграф, який не є частиною жодного більшого зв'язного підграфа.
Обмеження
- \(1≤N≤2×10^5\)
- \(0≤M≤2×10^5\)
- \(1≤u_i ≤v_i ≤N\)
- Усі значення у вхідних даних є цілими числами.
Формат вхідних даних
Перший рядок містить цілі числа \(N,M\).
Наступні \(M\) рядків містять цілі числа \(u_i, v_i\).
Формат вихідних даних
У вихідний потік виведіть відповідь: Yes або No.
Приклад вхідних даних
3 3
2 3
1 1
2 3
Приклад вихідних даних
Yes
Граф має зв’язну компоненту, утворену лише з вершини 1, а інший утворений з вершин 2 і 3.
Перший має одне ребро (ребро 2), а остання має два ребра (ребра 1 і 3), що задовольняє умову.
Приклад вхідних даних
5 5
1 2
2 3
3 4
3 5
1 5
Приклад вихідних даних
Yes
Приклад вхідних даних
13 16
7 9
7 11
3 8
1 13
11 11
6 11
8 13
2 11
3 3
8 12
9 11
1 11
5 13
3 12
6 9
1 10
Приклад вихідних даних
No
Коментарі