Задачі
Паросполучення
Паросполучення
Задано дводольний незважений граф. Знайти максимальне паросполучення.
Вхідні дані
У першому рядку знаходяться три цілі числа n, m та k (1 ≤ n, m ≤ 200, 1 ≤ k ≤ n × m) - кількість чисел у першій та другій долях, а також число ребер відповідно. Далі йде k рядків, у кожному з яких два числа ai
та bi
, які позначають ребро між вершиною з номером ai
першої долі та вершиною з номером bi
другої долі. Вершини в обох долях нумеруються з одиниці.
Вихідні дані
У першому рядку виведіть одне число q - максимальне число ребер у паросполученні. У другому рядку виведіть q чисел - номери ребер, які належать максимальному паросполученню. Ребра нумеруються починаючи з одиниці в порядку появи на вході.
Вхідні дані #1
3 3 5 1 1 1 3 2 1 2 2 3 2
Вихідні дані #1
3 2 3 5