Super 12

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

요약
럭비 리그 경기 결과를 보너스 점수까지 계산해 라운드마다 정렬한 순위표를 형식에 맞춰 출력하는 문제입니다.
난이도

보통10점 중 5점

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

문제

럭비 리그에서는 각 라운드가 끝났을 때 모든 팀이 같은 수의 경기를 치렀으므로 그때의 순위표가 의미를 가진다.

각 경기에서 팀은 승리하면 4점, 무승부이면 2점, 패배하면 0점을 받는다. 한 경기에서 트라이를 4개 이상 기록한 팀은 보너스 1점을 추가로 받는다. 또한 8점 미만 차이로 패한 팀도 보너스 1점을 받는다.

라운드가 끝날 때마다 팀들을 다음 기준으로 정렬해 순위표를 출력한다.

  • 승점이 높은 팀이 앞선다.
  • 승점이 같으면 누적 득점에서 누적 실점을 뺀 점수 차가 큰 팀이 앞선다.
  • 그래도 같으면 누적 트라이 수가 많은 팀이 앞선다.
  • 그래도 같으면 팀 이름의 사전순이 빠른 팀이 앞선다.

위 규칙을 모두 적용한 뒤에도 완전히 같은 순위가 되는 경우는 주어지지 않는다.

입력

입력은 하나의 리그 결과로 이루어진다.

먼저 참가 팀 이름이 한 줄에 하나씩 주어진다. 팀 수는 20개를 넘지 않으며 항상 짝수이고, 각 이름은 최대 20자이다. 팀 목록은 # 한 줄로 끝난다.

이후 경기 결과가 한 줄에 하나씩 주어지며, 이 목록도 # 한 줄로 끝난다. 각 경기 결과는 홈 팀 이름, 원정 팀 이름, 홈 팀 점수, 원정 팀 점수, 홈 팀 트라이 수, 원정 팀 트라이 수가 차례로 주어진다.

라운드의 끝을 나타내는 별도 표시는 없다. 참가 팀이 N개이면 한 라운드는 N / 2경기로 이루어지며, 그 시점에 모든 팀이 정확히 한 경기씩 치른다.

출력

각 라운드가 끝날 때마다 리그 순위표를 출력한다.

순위표의 첫 줄은 Round와 공백, 그리고 1부터 시작하는 라운드 번호이다. 이어서 정렬 규칙에 따른 팀 순위를 한 줄에 하나씩 출력한다.

각 팀의 줄에는 팀 이름을 출력한 뒤, 22번째 열부터 다음 값을 오른쪽 정렬로 출력한다: 승점은 너비 2, 누적 득점은 너비 4, 누적 실점은 너비 4, 누적 트라이 수는 너비 3, 누적 허용 트라이 수는 너비 3이다.

라운드 순위표 사이에는 빈 줄을 하나 출력한다.

예제1

  1. 예제 1

    입력
    Highlanders
    Crusaders
    Warriors
    ThisIsTheLongestName
    #
    Highlanders Crusaders 25 24 3 2
    Warriors ThisIsTheLongestName 32 16 5 1
    ThisIsTheLongestName Highlanders 10 20 1 2
    Crusaders Warriors 17 16 3 3
    #
    
    예상 출력
    Round 1
    Warriors              5  32  16  5  1
    Highlanders           4  25  24  3  2
    Crusaders             1  24  25  2  3
    ThisIsTheLongestName  0  16  32  1  5
    
    Round 2
    Highlanders           8  45  34  5  3
    Warriors              6  48  33  8  4
    Crusaders             5  41  41  5  6
    ThisIsTheLongestName  0  26  52  2  7