유로컵 2000

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

요약
일부 경기 결과가 주어진 축구 조별리그에서 남은 경기 최대 10개의 모든 결과를 고려해 각 팀이 받을 수 있는 최고 순위와 최저 순위를 구한다.
난이도

보통10점 중 7점

유형
완전 탐색, 구현, 시뮬레이션, 조합론
정답자
아직 제출이 없습니다

문제

유럽 축구 선수권 대회의 예선은 더블 라운드 로빈 방식으로 진행됩니다. 즉, 같은 조에 속한 모든 팀은 서로 두 번씩 경기를 치릅니다. 어느 한 조에는 독일이 터키, 핀란드, 몰도바, 북아일랜드와 함께 속해 있습니다. 이 조에서는 이미 14경기가 치러졌고, 아직 6경기가 남아 있습니다.

현재 순위표만 보면 북아일랜드는 이미 탈락한 것처럼 보일 수 있습니다. 하지만 그렇지 않습니다! 북아일랜드가 남은 세 경기를 모두 이기고, 독일이 터키와 비긴 뒤 핀란드에 지고, 몰도바가 터키를 이긴다고 가정해 봅시다. 그러면 북아일랜드가 1위가 됩니다!

승점 계산 방식은 다음과 같습니다. 각 경기에서 승리하면 3점, 무승부는 1점, 패배는 0점을 얻습니다. 모든 경기가 끝나면 팀들은 승점을 기준으로 순위를 매깁니다. 승점이 같을 경우에는 골 득실차(득점에서 실점을 뺀 값), 그다음 총 득점, 마지막으로 무작위 추첨 순으로 순위를 정합니다.

남은 경기들이 나올 수 있는 모든 경우를 고려하여, 대회가 모두 끝났을 때 각 팀이 조에서 받을 수 있는 가장 높은 순위와 가장 낮은 순위를 구하세요.

입력

입력은 하나 이상의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 형식은 다음과 같습니다.

  • 첫 번째 줄에는 조에 속한 팀의 수를 나타내는 정수 nn (1≤n≤20)(1 \le n \le 20)이 주어집니다.
  • 다음 nn개의 줄에는 팀 이름이 한 줄에 하나씩 주어집니다. 각 이름은 길이가 30자 미만이며 공백을 포함하지 않습니다.
  • 다음 줄에는 이미 치러진 경기의 수를 나타내는 정수 gg가 주어집니다.
  • 이어지는 gg개의 줄에는 각각 치러진 경기 하나가 team1 team2 goals1 goals2 형식으로 주어집니다. 이는 해당 경기에서 team1이 goals1골, team2가 goals2골을 넣었음을 뜻합니다.

남은 경기는 최대 10경기이며, 모든 팀은 적어도 한 경기의 남은 경기를 가진다고 가정해도 됩니다(이 조건이 문제를 조금 단순하게 만들어 줍니다).

입력의 끝은 nn 자리에 0만 있는 줄로 표시됩니다.

출력

각 테스트 케이스마다 먼저 Group #x 줄을 출력합니다. 여기서 xx는 테스트 케이스의 번호이며 1부터 시작합니다.

그다음에는 입력에 주어진 순서대로 각 팀에 대해 한 줄씩 출력합니다. 각 줄에는 팀 이름, 공백 한 칸, 그 팀의 가능한 가장 높은 순위, 빼기 기호 -, 그 팀의 가능한 가장 낮은 순위를 차례로 출력합니다.

서로 다른 테스트 케이스 사이에는 빈 줄을 하나 출력합니다.

예제3

  1. 예제 1

    입력
    2
    A
    B
    1
    A B 1 0
    5
    Ger
    Tur
    Fin
    Nor
    Mol
    14
    Fin Mol 3 2
    Tur Nor 3 0
    Tur Ger 1 0
    Nor Fin 1 0
    Mol Ger 1 3
    Tur Fin 1 3
    Nor Mol 2 2
    Nor Ger 0 3
    Tur Mol 2 0
    Ger Fin 2 0
    Mol Fin 0 0
    Ger Mol 6 1
    Fin Tur 2 4
    Mol Nor 0 0
    0
    
    예상 출력
    Group #1
    A 1-2
    B 1-2
    
    Group #2
    Ger 1-3
    Tur 1-3
    Fin 1-4
    Nor 1-5
    Mol 4-5
    
  2. 예제 2

    입력
    2
    T1
    T2
    0
    0
    
    예상 출력
    Group #1
    T1 1-2
    T2 1-2
    
  3. 예제 3

    입력
    3
    T1
    T2
    T3
    3
    T2 T1 3 0
    T2 T3 1 0
    T1 T2 3 5
    0
    
    예상 출력
    Group #1
    T1 2-3
    T2 1-2
    T3 1-3