|
Menu |
|
Задача Разбиения
| Файл входного файла: | partitions.in |
|---|---|
| Файл выходного файла: | partitions.out |
| Ограничение по памяти: | 64 MB |
| Ограничение по времени: | 2 s |
Описание
Разбиением множества S = {1,2,..., n } называется набор P множеств P = { P 1 , P 2 , ..., P k }, такой что U P i = S и P i ∩ P j = ∅ для i != j. Примером разбиения для n = 5 может служить P 1 = {1,3}, P 2 = {2,4,5}.
Говорят, что разбиение избегает множество Q если ни одно из множеств P i не содержит Q в качестве подмножества. Например, разбиение, приведенное выше, избегает множеств {1,2} и {3,4}, но не избегает, например, множеств {1,3} и {2}.
По заданному n и набору множеств Q 1 , Q 2 ,..., Q l найдите количество разбиений, которые избегают каждое из множеств Q i .
Формат входных данных
Первая строка входного файла содержит два целых числа n и l (1 <= n <= 100, 0 <= l <= 10). Следующие l строк описывают множества, которые следует избегать. Каждая строка начинается с целого числа q i - размера множества, за которым следует q i чисел - элементы множеств Q i .
Формат выходных данных
Выведите одно целое число - количество разбиений, которые избегают каждого из множеств Q i .
Примеры:
| ввод | вывод |
|---|---|
|
5 2
|
34 |
|
|
|
Difficulty: 1.9956338687
Accepted: 1
Submitted: 6
Источник задачи: neerc school 2008 october 4 advanced
Powered by django, eJudge.
Обсуждение:
Начать обсуждение: