티어와 등수
시간 제한1초메모리 제한256 MB
N명의 사용자를 티어와 세부 티어로 나누는 규칙이 주어졌을 때, 친구가 말한 티어를 가질 수 있는 최소 순위와 최대 순위를 구합니다.
문제
대학에 입학한 성은이는 게임을 직접 하지는 않았지만, 주변 친구들이 유행하는 게임 "Legend Legend"의 티어를 자랑하는 것에 관심이 생겼다. 티어는 게임 안에서 유저의 실력을 나타내기 위해 유저의 등수를 바탕으로 매기는 등급 시스템이다. 게임의 총 유저 수가 명일 때, 유저의 등수는 이상 이하의 서로 다른 정수이다.
티어를 정하는 과정은 재귀적이다. 아직 티어가 정해지지 않은 유저 가운데 등수가 높은 유저부터 차례대로 상위 티어를 배정하고, 남은 유저는 하위 티어로 넘긴다. 상위 유저를 고르는 기준에 따라 티어는 고정 티어와 상대 티어로 나뉜다. 아직 티어가 정해지지 않은 유저가 명일 때, 각 티어가 수용하는 인원은 다음과 같다.
- 고정 티어 (명을 수용):
- 상대 티어 (%를 수용): (는 이하의 가장 큰 정수)
상위 티어부터 순서대로 각 티어는 수용하는 인원만큼 유저를 배정받고, 다음 티어로 넘어간다. 모든 티어를 처리한 뒤에도 티어가 정해지지 않은 유저가 남으면 올바르지 않은 등급 시스템이다.
각 티어는 같은 티어 안에서 실력을 가르기 위해 4개의 세분화된 티어로 나뉜다. 세분화된 티어는 티어 이름 뒤에 1, 2, 3, 4를 붙여 부르며, 숫자가 작을수록 높은 세분화 티어이다. 한 티어에 속하는 유저가 명이면, 각 세분화 티어는 최대 명을 수용한다. 유저는 등수가 높은 순서대로 가장 높은 세분화 티어부터 최대 인원을 채울 때까지 차례로 배정된다.
입력
첫째 줄에 게임의 유저 수 과 티어의 수 가 공백으로 구분되어 주어진다. (, )
둘째 줄부터 번째 줄까지 상위 티어부터 순서대로 티어 정보가 주어진다. 티어 이름은 영문 대문자와 소문자로 이루어진 길이 1000 이하의 문자열이며, 모든 티어 이름은 서로 다르다.
- 고정 티어: 티어 이름과 그 티어가 수용할 수 있는 최대 인원수 가 공백으로 구분되어 주어진다. ()
- 상대 티어: 티어 이름 뒤에 공백을 두고 "%" 형식의 백분율이 주어진다. 는 그 티어를 배정할 때 아직 티어가 정해지지 않은 인원 중에서 그 티어가 수용하는 비율이다. ()
마지막 줄에는 친구가 자랑한 티어(또는 세분화된 티어)가 주어진다. 티어 이름만 주어지거나, 티어 이름 뒤에 1 이상 4 이하의 숫자가 이어진다.
출력
모든 유저의 티어를 정할 수 없는 티어 시스템이면 첫째 줄에 Invalid System을 출력한다. 그 외에 친구가 자랑한 티어가 이 티어 시스템에서 실제 유저의 티어로 나올 수 없으면 Liar를 출력한다. 티어 시스템에 문제가 없고 친구의 티어가 실제 유저의 티어로 가능하다면, 친구의 게임 내 등수로 가능한 최소 등수와 최대 등수를 공백으로 구분하여 차례대로 출력한다.