N. Построить покрытие
2000 мс · 256 МБ · всё или ничего
Дан двудольный граф. Нужно построить минимальное вершинное покрытие и вывести его. Паросочетание, в отличие от классной задачи I, не дано — его придётся найти самому.
Формат ввода
В первой строке и (). В следующих строках: — количество соседей -й вершины первой доли, затем их номера. Сумма не превосходит .
Формат вывода
В первой строке выведите размер минимального вершинного покрытия. Во второй — количество вершин первой доли в нём и их номера в возрастающем порядке. В третьей — то же для второй доли.
Примеры
ввод
3 2 2 1 2 1 2 1 2
вывод
2 1 1 1 2
ввод
2 2 0 0
вывод
0 0 0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.