만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

섬의 기억

시간 제한3초메모리 제한2048 MB

요약
섬 n개와 m개의 기억된 구역이 주어졌을 때, 각 구역이 간선 하나를 제거하여 나뉘는 트리가 존재하는지 판단합니다.
난이도

보통10점 중 7점

유형
트리, 분할 정복, 구현
정답자
아직 제출이 없습니다

문제

섬나라에는 번호가 11부터 nn까지 붙은 섬이 nn개 있다. 섬들은 양방향 다리 n−1n - 1개로 연결되어 있어서, 어느 섬에서든 다른 모든 섬으로 갈 수 있다. 각 다리는 배가 지나갈 수 있도록 들어 올릴 수 있다. 다리를 오래 들어 올려 두는 동안에는 나라의 도로 교통이 두 구역으로 나뉘어 운영된다. 각 구역은 들어 올려지지 않은 다리로 서로 연결된 섬들의 최대 집합이다. 두 구역 사이는 도로로 이동할 수 없다. 나라는 도로 교통의 불편을 줄이기 위해 어느 순간에도 다리를 두 개 이상 동시에 들어 올리지 않는다.

이 섬나라를 찾는 여행객을 위한 관광 안내서를 쓰고 있다. 아직 섬들이 다리로 어떻게 연결되어 있는지 나타낸 지도가 없다. 그래서 이 나라에 사는 주민 mm명을 인터뷰했다. 각 주민은 과거에 다리가 들어 올려져 있었을 때 자기 구역에 어떤 섬들이 있었는지 기억을 말해 주었다. 다만 기억을 잘못하고 있는 주민도 있을 수 있다. 모든 주민의 기억이 서로 맞는지 확인하려 한다. 섬을 다리로 잇는 방법이 존재하고, 한 번에 다리를 하나씩만 들어 올렸을 때 mm명이 말한 구역이 모두 실제로 만들어질 수 있으면 기억이 맞는 것이다.

입력

첫 줄에 두 정수 nn, mm (2≤n,m≤10002 \le n, m \le 1000)이 주어진다. nn은 섬의 개수, mm은 인터뷰한 주민의 수이다.

이어서 mm명의 기억이 주어진다. 각 기억은 한 줄에 그 주민의 구역에 있는 섬의 개수 kk (1≤k<n1 \le k < n)가 주어진다. 다음 줄에는 그 구역에 있는 kk개의 섬 번호가 오름차순으로 주어진다. 주민들이 구역의 섬을 빠뜨리지 않고 말했다고 가정해도 된다. 따라서 각 섬 집합은 들어 올려지지 않은 다리로 연결했을 때 최대 집합이다.

출력

모든 주민의 기억이 서로 맞으면 11을, 그렇지 않으면 00을 출력한다.

예제3

  1. 예제 1

    입력
    5 2
    2
    1 2
    3
    1 2 3
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 2
    2
    1 4
    3
    1 2 4
    
    예상 출력
    1
    
  3. 예제 3

    입력
    5 2
    2
    1 2
    2
    1 3
    
    예상 출력
    0