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

Тюремні перестановки

Тюремні перестановки

Для того, щоб знизити ризики безпорядків та спроб втечі, адміністрації двох сусідніх в'язниць рівної місткості по кількості ув'язнених, вирішили помінятись своїми ув'язненими між собою. Вони хочуть обміняти половину ув'язнених з однієї з в'язниць, з половиною ув'язнених з іншої. Проте, з архівної інформації про історію злочинів ув'язнених, вони знають, що деякі пари ув'язнених небезпечно утримувати в одній і тій же в'язниці, і саме тому вони утримуватися окремо зараз, тобто для кожної такої пари ув'язнених, один з ув'язнених відбуває свій термін в першій тюрмі, а інший - у другій. Адміністрації домовилися про необхідність утримання цих пар роздільно в різних в'язницях, що робить задачу спроб вчинення обмінів трохи складнішою. Дійсно, скоро вони виявлять, що іноді неможливо виконати всі бажані обміни для половини ув'язнених. Кожен раз, коли таке відбувається, вони повинні погодитися на обмін, який знаходитися якомога ближче до половини обміну в'язнями наскільки це можливо. \InputFile У першому рядку вхідного файлу задано одне натуральне число \textbf{n}, яке вказує на кількість наступних тестових сценаріїв. Кожен тестовий сценарій починається з рядка, який містить два цілих невід'ємних числа \textbf{m} та \textbf{r}, \textbf{1} < \textbf{m} < \textbf{200} - є кількістю ув'язнених у кожній з двох в'язниць, а \textbf{r} - кількість небезпечних пар серед ув'язнених. Далі йде \textbf{r} рядків, кожен з яких містить пару \textbf{x_i y_i} цілих чисел у діапазоні від \textbf{1} до \textbf{r}, які означають, що ув'язнений \textbf{x_i} першої в'язниці не повинен бути поміщений у ту ж в'язницю, що і в'язник \textbf{y_i} другої в'язниці. \OutputFile Для кожного тестового сценарія виведіть один рядок, який містить найбільше ціле число \textbf{k} ≤ \textbf{m/2}, таке, що можна обміняти \textbf{k} ув'язнених першої в'язниці з \textbf{k} ув'язненими другої в'язниці без отримання двох ув'язнених з доввільної небезпечної пари в одній і тій же в'язниці.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
101 0
3 3
1 2
1 3
1 1
8 12
1 1
1 2
1 3
1 4
2 5
3 5
4 5
5 5
6 6
7 6
8 7
8 8
Вихідні дані #1
50
0
3