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