요리책 구성
면접 대비시간 제한2초메모리 제한2048 MB
각 레시피를 시간이 있는 단계의 의존 그래프로 보고, 순차 실행 시간과 병렬 실행 시간의 비율이 작은 순서로 레시피 이름을 출력합니다.
문제
세계적인 요리사 Gordon Oliver가 새 요리책 "Becoming A Perfect Chef"를 구성하고 있다. 이 책에 실을 레시피 목록이 있다. 각 레시피는 단계들의 목록이다. 한 단계는 앞선 단계에 의존할 수 있어서, 의존하는 단계가 모두 끝나야 시작할 수 있다. 각 단계에는 예상 소요 시간이 있다.
Gordon은 숙련된 요리사이므로 필요한 만큼 여러 작업을 동시에 할 수 있다. 반면 초보자는 한 번에 한 작업만 할 수 있어서 작업을 차례로 수행해야 한다. 그는 비율이 가장 낮은 레시피가 먼저 오도록 접근성 순으로 레시피를 정렬하려고 한다.
예를 들어 첫 번째 샘플을 보자. 오븐 요리에서 전문가는 토마토, 가지, 소스를 동시에 준비할 수 있다. 소스가 5로 가장 오래 걸리므로 이 단계들은 시간 5가 지나면 끝난다. 이어서 배치(1)와 굽기(30)를 하므로 전문가 기준 총 시간은 이다. 초보자는 이 걸린다. 따라서 오븐 요리의 접근성 비율은 이다. 아이스크림은 초보자와 전문가 모두 가 걸리므로 비율이 1이다. 그래서 아이스크림이 오븐 요리보다 먼저 온다.
입력
첫 줄에 레시피 개수를 나타내는 정수 ()이 주어진다.
그 다음 각 레시피에 대해 다음이 주어진다.
레시피 이름과 단계 수 ()가 한 줄에 주어진다.
이어서 줄에 걸쳐 단계마다 한 줄씩 주어진다. 각 줄에는 단계 이름, 소요 시간 (), 의존하는 단계 수 (), 그리고 의존하는 단계 이름 개가 차례로 주어진다. 어떤 단계는 자신이 의존하는 모든 단계가 이미 나열된 뒤에만 나온다.
레시피 이름과 단계 이름은 최대 10글자의 영어 소문자(a-z)로 이루어진다. 레시피 이름은 모두 다르고, 단계 이름은 같은 레시피 안에서만 달라야 한다.
출력
레시피 이름을 접근성 순서대로 출력한다. 가능한 정답이 여러 개이면 그중 아무거나 출력해도 된다.