팀 라인업 구성

면접 대비

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

요약
주어진 포메이션에 맞게 각 포지션별로 번호가 가장 낮은 선수를 뽑고, 선발된 선수 중 팀 경력이 가장 긴 선수를 주장으로 정한다.
난이도

보통10점 중 4점

유형
정렬, 그리디, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Bings 축구팀의 감독 Barry Bennett은 라이벌 Bangs와의 중요한 경기를 앞두고 출전할 11명의 선수를 정하려고 한다. 감독은 먼저 사용할 포메이션을 정한다. 예를 들어 4-4-2는 수비수 4명, 미드필더 4명, 공격수 2명(그리고 당연히 골키퍼 1명)을 뜻한다. 당신의 과제는 어떤 11명이 출전할지 결정하는 것이다.

사용할 수 있는 각 선수의 포지션(골키퍼, 수비수, 미드필더, 공격수)을 알고 있다. 각 포지션에서 선수는 등번호가 작은 순서로 선발한다. 즉 그 포지션에서 필요한 인원만큼 등번호가 가장 작은 선수들을 뽑는다.

11명이 선발되면 그중에서 주장도 정해야 한다. 주장은 선발된 선수 중 팀에서 활동한 기간이 가장 긴, 즉 소속 연도의 총합이 가장 큰 선수이다. 활동 기간이 같은 선수가 둘이면 등번호가 더 큰 선수가 주장이 된다. 주장은 항상 선발된 11명 중에서 정한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 처음 22줄에는 22명의 선수 정보가 한 줄에 한 명씩 다음 형식으로 주어진다.

번호 이름 포지션 연도1-연도1' 연도2-연도2' ...
  • 번호는 선수의 등번호로, 100보다 작은 서로 다른 양의 정수이다.
  • 이름은 최대 20글자의 문자열이다.
  • 포지션은 G(골키퍼), D(수비수), M(미드필더), S(공격수) 중 한 문자이다.
  • 각 연도i-연도i' 쌍(연도i ≤ 연도i')은 그 선수가 연도i년부터 연도i'년까지(양 끝 포함) 팀에 소속되어 있었음을 뜻한다. 연도는 네 자리로 표기한다. 각 줄에는 이러한 쌍이 1개 이상 20개 이하로 있으며, 한 선수의 쌍들에서 같은 연도가 두 번 이상 나타나지 않는다.

각 테스트 케이스의 23번째 줄에는 4-4-2와 같이 원하는 포메이션이 주어진다. 포메이션은 항상 세 개의 숫자로만 이루어지며, 어느 것도 0이 아니고, 세 숫자의 합은 항상 10이다.

입력의 끝은 0 하나만 있는 줄로 표시된다.

출력

각 테스트 케이스마다 선발된 11명의 선수를 출력한다. 각 줄에는 선수의 등번호, 이름, 포지션을 하나의 공백으로 구분하여 출력한다. 선수는 포지션 순서(골키퍼, 수비수, 미드필더, 공격수)로 나열하고, 같은 포지션 안에서는 등번호가 작은 순서로 나열한다. 단 한 가지 예외로, 주장은 항상 맨 앞줄에 먼저 출력한다.

원하는 포메이션대로 팀을 구성할 수 없으면(어떤 포지션의 선수가 모자라면) 대신 IMPOSSIBLE TO ARRANGE만 있는 한 줄을 출력한다.

연속한 두 테스트 케이스의 출력 사이에는 빈 줄을 하나 넣는다.

예제1

  1. 예제 1

    입력
    9 PlayerA M 2000-2001 2003-2006
    2 PlayerB M 2004-2006
    10 PlayerC D 2001-2005
    1 PlayerD D 2000-2001 2002-2004
    11 PlayerE S 2003-2006
    8 PlayerF M 2005-2006
    22 PlayerG S 2005-2006
    25 PlayerH G 2000-2001 2002-2003 2005-2006
    6 PlayerI D 2003-2006
    26 PlayerJ D 2003-2004 2000-2001
    18 PlayerK M 2003-2004
    19 PlayerL M 2000-2001 2003-2006
    7 PlayerM S 2003-2006 1999-2001
    21 PlayerN S 2003-2006
    13 PlayerO S 2005-2006
    15 PlayerP G 2001-2006
    14 PlayerQ D 2003-2004
    5 PlayerR S 2000-2005
    20 PlayerS G 2000-2002 2003-2003
    12 PlayerT M 2004-2005
    3 PlayerU D 2000-2005
    4 PlayerV M 2001-2004
    4-4-2
    0
    
    예상 출력
    7 PlayerM S
    15 PlayerP G
    1 PlayerD D
    3 PlayerU D
    6 PlayerI D
    10 PlayerC D
    2 PlayerB M
    4 PlayerV M
    8 PlayerF M
    9 PlayerA M
    5 PlayerR S