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