EduBrick

E. Минимальное рёберное покрытие

2000 мс · 256 МБ · всё или ничего

Дан двудольный граф, в котором у каждой вершины есть хотя бы одно ребро. Нужно выбрать наименьший набор рёбер, такой что каждая вершина графа является концом хотя бы одного выбранного ребра.

Формат ввода

В первой строке nn и mm (1≤n,m≤20001 \le n, m \le 2000). В следующих nn строках: KiK_i и номера соседей. Сумма KiK_i не превосходит 2⋅1052 \cdot 10^5. Гарантируется, что у каждой вершины обеих долей есть хотя бы одно ребро.

Формат вывода

Выведите минимальное количество рёбер, покрывающих все вершины.

Примеры

ввод
3 2
2 1 2
1 2
1 2
вывод
3
ввод
1 1
1 1
вывод
1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.