만드는 중입니다

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

부활절 달걀

면접 대비

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

요약
각 아이가 원하는 대상으로 지목되는 사람은 최대 한 명인 그래프에서, 토끼가 달걀 M개를 처음 줄 때 달걀을 받을 수 있는 아이의 최대 수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, 트리, 그리디, DFS
정답자
아직 제출이 없습니다

문제

부활절 토끼는 N명의 아이에게 줄 색칠한 달걀을 M개 가지고 있다. 모든 아이에게 돌아갈 만큼 달걀이 없을 수도 있다. 하지만 달걀을 받은 아이는 그 달걀을 직접 색칠해서 다른 아이에게 줄 수 있다. 달걀이 토끼에게서 왔든 다른 아이에게서 왔든 상관없다. 달걀은 아직 달걀이 없는 아이에게만 줄 수 있다. 토끼는 각 아이가 달걀을 누구에게 주고 싶어 하는지 알고 있다.

아이가 다섯 명인 예를 보자. 그림의 화살표는 각 아이가 달걀을 받은 뒤 누구에게 주고 싶어 하는지를 나타낸다:

토끼가 두 번째 아이에게 달걀을 주면, 그 아이는 달걀을 색칠해서 세 번째 아이와 첫 번째 아이에게 하나씩 준다. 첫 번째 아이는 네 번째 아이에게 준다. 네 번째 아이는 두 번째 아이에게 주고 싶어 하지만, 두 번째 아이에게는 이미 달걀이 있으므로 주지 않는다. 토끼가 준 달걀은 하나뿐이지만 결국 네 명의 아이가 달걀을 받는다.

토끼는 달걀을 받는 아이의 수가 토끼가 달걀을 누구에게 주느냐에 따라 달라진다는 것을 알았다. 토끼가 가진 달걀을 현명하게 나누어 줄 때, 달걀을 받을 수 있는 아이의 최대 수를 구하시오.

입력

첫째 줄에 아이의 수 N과 토끼가 가진 달걀의 수 M이 주어진다. 이어서 N개의 줄이 주어지며, i번째 줄에는 i번째 아이가 달걀을 받았을 때 달걀을 주고 싶어 하는 아이의 수 k와, 같은 줄에 그 아이들의 번호 k개가 주어진다. 각 아이에게 달걀을 주고 싶어 하는 아이는 최대 한 명이다. 아이는 자기 자신에게 달걀을 주고 싶어 하지 않는다.

출력

첫째 줄에 달걀을 받는 아이의 최대 수를 한 개의 정수로 출력한다.

제한

  • 1 ≤ N ≤ 100 000
  • 1 ≤ M ≤ N

예제2

  1. 예제 1

    입력
    3 2
    2 2 3
    0
    0
    
    예상 출력
    3
    
  2. 예제 2

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