eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Доміно

Доміно

Набір доміно складається з прямокутних кісточок, кожна з яких розділена на дві половинки лінією, паралельною більш короткій стороні. На кожній з половинок нарисовані точки, кількість яких відповідає числу від \textbf{0 }до \textbf{M }включно. На кісточках повного набору доміно позначені усі можливі різні пари чисел, наприклад, якщо \textbf{M} дорівнює \textbf{3}, то повний набір містить \textbf{10 }кісточок: \textbf{(0, 0)}, \textbf{(0, 1)}, \textbf{(0, 2)}, \textbf{(0, 3)}, \textbf{(1, 1)}, \textbf{(1, 2)}, \textbf{(1, 3)}, \textbf{(2, 2)}, \textbf{(2, 3)}, \textbf{(3, 3)}. З кісточок можна викладувати ланцюжки, з'єднуючи пари кісточок короткими сторонами, якщо кількості точок на сусідніх з місцем з'єднання половинках кісточок рівні. Деякі кісточки були видалені з повного набору. Потрібно визначити, яку мінімальну кількість ланцюєків потрібно викласти з кісточок, що залишились у наборі, щоб кожна з них належала рівно одному ланцюжку. Напишіть програму, яка за інформацією про набір доміно повинна відповісти, яку мінімальну кількість ланцюжків потрібно викласти. \InputFile У першому рядку міститься одне ціле число \textbf{M }(\textbf{0 }≤ \textbf{M }≤ \textbf{100}), яке відповідає максимально можливій кількості точок на половинці кісточки. У другому рядку записано одне ціле число \textbf{N}, рівне кількості кісточок, видалених з повного набору. Кожен \textbf{i}-й з наступних \textbf{N }рядків містить по два числа \textbf{A_i} та \textbf{B_i}. Це кількості точок на половинках \textbf{i}-ї видаленої кісточки. \OutputFile Вивести одне ціле число \textbf{L }- мінімальну кількість ланцюжків.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
7
2
7 5
3 4
Вихідні дані #1
2
Автор Андрій Стасюк
Джерело 2005 XVIII Всеукраїнська олімпіада з інформатики, Рівне, Квітень 10 - 16, тур 2