아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Игра в Мафию

시간 제한2초메모리 제한1024 MB

요약
매일 밤 생존자 사이의 만남 그래프와 희생자 한 명이 주어질 때, 전체 시나리오와 모순되지 않는 최소 마피아 수를 구한다.
난이도

보통10점 중 7점

유형
그래프, 완전 탐색, 비트 연산
정답자
아직 제출이 없습니다

문제

Финес и Ферб решили провести чемпионат по игре в Мафию в Денвилле.

В игре есть две роли --- мирные жители и мафия (и тех, и тех может быть несколько). Роли игрокам раздаются в самом начале игры, после чего каждый игрок с ролью мирного жителя знает только свою роль, но не знает роли других игроков, в то время как каждый игрок с ролью мафии знает роли всех других игроков.

Далее играют несколько туров (ночей): каждой ночью некоторые пары игроков встречаются друг с другом. И в конце ночи объявляется одна жертва, которую убила мафия этой ночью. Каждую ночь мафия убивает ровно одного мирного жителя, и это делает ровно один из представителей мафии. Чтобы представитель мафии мог убить мирного жителя, между ними должна была произойти встреча.

Кендис следила за игрой, поэтому ей известно количество игроков, а также количество и описание всех ночей.

Помогите ей найти минимальное возможное количество представителей мафии в игре, при котором игра могла следовать известному ей сценарию, чтобы рассказать маме об опасной деятельности Финеса и Ферба.

입력

В первой строке даны два целых числа kk и mm --- количество игроков и количество ночей в игре (2≤k≤2002 \le k \le 200, 1≤m≤2001 \le m \le 200, 1≤k−m≤151 \le k - m \le 15).

Далее идет mm блоков --- описание ночей. Описание ii-й ночи начинается с tt блоков описания живых игроков (tt --- количество игроков, живых на момент начала ii-й ночи). Каждый блок состоит из двух строк:

  • В первой строке дано два целых числа nn и cc --- номер игрока и количество его встреч этой ночью (1≤n≤k1 \le n \le k, 0≤c≤t−10 \le c \le t - 1).
  • Во второй строке даны cc натуральных чисел --- номера игроков, с которыми встретился игрок под номером nn.

Гарантируется, что все встречи были двусторонними. То есть, если игрок номер aa присутствует в списке встреч у игрока номер bb, то и игрок bb присутствует в списке у игрока aa.

В последней строке описания ночи дано целое число vv --- номер игрока, который был убит этой ночью.

Гарантируется, что входные данные описывают корректную игру.

출력

Выведите одно целое число --- минимальное количество игроков, которые должны играть за мафию, чтобы описанная игра могла произойти.

예제1

  1. 예제 1

    입력
    4 2
    1 3
    2 3 4
    2 3
    1 3 4
    3 3
    1 2 4
    4 3
    1 2 3
    1
    2 2
    3 4
    3 2
    2 4
    4 2
    2 3
    2
    
    예상 출력
    1