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

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

해고

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

요약
한 명을 직접 해고한 뒤 상사가 모두 사라진 직원이 연쇄 해고될 때 절감액이 C 이상으로 최소가 되는 직원을 고릅니다.
난이도

보통10점 중 6점

유형
그래프, BFS, 시뮬레이션
정답자
아직 제출이 없습니다

문제

찰리는 큰 회사의 인사 팀장이다. 이 회사에서 CEO를 뺀 모든 직원에게는 보고할 상사가 한 명 이상 있다. 직접이든 간접이든 자기 자신에게 보고하는 직원은 없다.

올해 예산이 나왔는데 인건비 항목이 CC달러 깎였다. 찰리는 사람을 자르는 일을 싫어해서, 보고할 상사가 한 명도 남지 않은 직원을 자동으로 해고하는 프로그램을 만들었다. 프로그램은 CEO 말고 보고할 상사가 없는 직원이 사라질 때까지 해고를 반복한다. CEO는 보고할 상사가 없어도 프로그램이 자동으로 해고하지 않는다.

찰리는 자기 손으로 딱 한 명만 해고하기로 했고, 나머지는 프로그램이 처리한다. 해고된 사람 전원의 급여 합은 CC달러 이상이어야 하고, 그러면서 CC에 최대한 가까워야 한다. 급여 합이 같은 선택이 여럿이면 사원 번호가 가장 큰 직원을 고른다. CEO가 무능할 수도 있으므로 찰리는 CEO를 해고해도 된다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스의 첫 줄에는 직원 수 NN과 절감해야 하는 금액 CC가 주어진다.

이어지는 NN개의 줄은 00번부터 N−1N-1번까지의 직원을 순서대로 설명한다. ii번 직원의 줄에는 급여 SiS_i와 보고할 상사의 수 RiR_i가 먼저 오고, 그 뒤에 RiR_i개의 수 EijE_{ij}가 온다. EijE_{ij}는 ii번 직원이 보고하는 상사의 사원 번호다.

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤2001 \le N \le 200
  • 1≤C≤∑iSi1 \le C \le \sum_i S_i
  • 1≤Si≤1000001 \le S_i \le 100000
  • 0≤Ri<N0 \le R_i < N이고, Ri=0R_i = 0인 직원은 정확히 한 명이다.
  • 0≤Eij<N0 \le E_{ij} < N

출력

각 테스트 케이스마다 찰리가 해고해야 하는 직원의 사원 번호를 한 줄에 하나씩 출력한다.

예제5

  1. 예제 1

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

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

    입력
    1
    6 12
    10 0
    1 1 0
    2 1 1
    3 1 2
    4 1 3
    5 1 4
    
    예상 출력
    3
    
  4. 예제 4

    입력
    1
    5 3
    7 0
    3 1 0
    3 1 0
    5 1 0
    3 1 0
    
    예상 출력
    4
    
  5. 예제 5

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