10881. Геть списування!


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

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

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

Під час контрольної роботи професор Флойд зазначив, що деякі студенти обмінюються записками. Спочатку він хотів поставити їм усім двійки, але того дня професор був добрим, а тому вирішив розділити студентів на дві групи: тих, хто списує і дає списувати, і поставити двійки тільки першим.

У професора записані всі пари студентів, які обмінялися записками. Потрібно визначити, чи зможе розділити студентів на дві групи так, щоб будь-який обмін записками здійснювався від студента однієї групи студенту іншої групи.

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

У першому рядку знаходяться два числа \(𝑁\) і \(𝑀\) - кількість студентів та кількість пар студентів, які обмінюються записками (\(1≤𝑁≤100\) , \(0≤𝑀≤𝑁⋅(𝑁−1)/2\) ).

Далі в \(M\) рядках розташовані описи пар студентів: два числа, що відповідають номерам студентів, що обмінюються записками (нумерація студентів йде з 1). Кожна пара студентів перерахована не більше одного разу.

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

Потрібно вивести відповідь на завдання професора Флойда. Якщо можна розділити студентів на дві групи - виведіть YES; інакше виведіть NO.

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

3 2
1 2
2 3

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

YES

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

3 3
1 2
2 3
1 3

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

NO

Коментарі

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