파티 초대

시간 제한1초메모리 제한128 MB

요약
소 1을 초대하면 각 그룹에서 한 마리만 빠졌을 때 그룹 전체를 초대해야 한다. 강제로 초대되는 소의 최소 수를 구한다.
난이도

보통10점 중 7점

유형
그래프, BFS, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

농부 존은 파티를 열어 자신이 소들을 얼마나 아끼는지 보여 주려고 몇 마리의 소를 초대하려 한다. 하지만 예전에 소를 너무 많이 초대했다가 겪은 참사를 잊지 못한 그는 가능한 한 적은 수의 소만 초대하고 싶어 한다.

존의 소들 중에는 떼어 놓기 어려운 친구 무리가 있다. 크기가 kk인 어떤 무리에 대해, 존이 그 무리의 소를 k−1k-1마리 이상 초대하면 나머지 한 마리도 반드시 초대해야 하며 결국 무리 전체를 초대하게 된다. 무리의 크기에는 제한이 없고 서로 겹칠 수도 있지만, 구성원 집합이 완전히 같은 두 무리는 존재하지 않는다. 모든 무리 크기의 합은 최대 250,000250{,}000이다.

소들은 11번부터 NN번까지 번호가 매겨져 있으며(NN은 최대 1,000,0001{,}000{,}000), 존은 반드시 11번 소부터 초대하기로 했다. 주어진 무리 정보를 바탕으로, 존이 파티에 초대해야 하는 소의 최소 마릿수를 구하여라.

입력

  • 첫째 줄: 두 정수 NN(소의 수)과 GG(무리의 수)가 공백으로 구분되어 주어진다.
  • 둘째 줄부터 GG개의 줄: 각 줄은 하나의 무리를 나타낸다. 먼저 무리의 크기 SS가 주어지고, 이어서 그 무리에 속한 SS마리의 소 번호(각각 11 이상 NN 이하)가 주어진다.

출력

  • 첫째 줄: 존이 파티에 초대해야 하는 소의 최소 마릿수를 출력한다.

힌트

예시에는 소 1010마리와 무리 44개가 있으며, 첫 번째 무리는 소 11번과 33번으로 이루어져 있다.

11번 소 외에도, 첫 번째 무리 조건 때문에 33번 소를, 두 번째 무리 조건 때문에 44번 소를, 마지막 무리 조건 때문에 22번 소를 초대해야 한다. 따라서 최소 44마리를 초대해야 한다.

예제1

  1. 예제 1

    입력
    10 4
    2 1 3
    2 3 4
    6 1 2 3 4 6 7
    4 4 3 2 1
    
    예상 출력
    4