12044. Уніциклічні компоненти


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

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

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

Вам надано неорієнтований граф із \(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

Коментарі

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