LTBL

면접 대비

시간 제한2초메모리 제한512 MB

요약
두 팀의 경기 결과를 읽어 승점, 승, 무, 패, 득점, 실점을 누적한 뒤 여섯 가지 기준으로 정렬해 리그 순위표를 출력한다.
난이도

보통10점 중 4점

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

문제

아프가니스탄 축구 리그는 지난 몇 년 동안 규모가 커졌다. 리그에서 팀 순위를 매기는 일은 매우 중요하며, 사람들은 리그의 현재 상황을 알고 싶어 한다. 리그 운영진은 웹사이트를 만들어 경기 결과를 공개하려고 한다. 경기 결과를 바탕으로 순위표 데이터를 생성하는 프로그램이 필요하다. 이 문제를 해결하는 프로그램을 작성하라.

참고:

  • 한 팀이 상대 팀보다 많은 골을 넣으면 승리한다
  • 두 팀이 같은 수의 골을 넣으면 무승부이다
  • 승리하면 3점, 무승부하면 1점, 패배하면 0점을 받는다
  • 순위표는 승점(높은 순), 승리 수(높은 순), 무승부 수(높은 순), 패배 수(낮은 순), 득점 수(높은 순), 실점 수(낮은 순) 순으로 정렬한다
  • 두 팀은 여러 번 경기할 수 있다.
  • 어떤 팀은 다른 팀보다 많은 경기를 치를 수 있다. 예를 들어 왼쪽 그림에서는 모든 팀이 4경기를 치렀고, 오른쪽 그림에서는 같은 수의 팀이 각기 다른 수의 경기를 치렀다.

입력

첫 줄에는 테스트 케이스의 수 (T)가 주어진다: 0 < T < 1000

다음 줄에는 경기 수 (M)가 주어진다: 0 < M <= 256

그다음 M개의 줄에는 두 팀의 경기 결과가 다음 형식으로 주어진다:

  • team1 [team1_goals_count - team2_goals_count] team2, 0 < len(team[1 and 2]) < 100, 0 <= team[1 and 2]_goals_count < 20
  • 예: Shahin [2 - 2] Hariwa

출력

각 테스트 케이스의 리그 순위표를 다음 형식으로 출력한다:

  • team-name,points,wins,draw,loss,goals-scored,goals-received, 예: Shahin,12,3,0,0,10,2

각 테스트 케이스의 출력은 빈 줄로 구분한다 (마지막 테스트 케이스 결과 뒤에는 빈 줄을 넣지 않는다).

힌트

예제1

  1. 예제 1

    입력
    1
    6
    team1 [2 - 0] team3
    team1 [1 - 1] team2
    team2 [4 - 7] team3
    team2 [0 - 0] team1
    team3 [5 - 3] team1
    team3 [6 - 1] team2
    
    예상 출력
    team1,5,1,2,1,6,6
    team2,2,0,2,2,6,14
    team3,9,3,0,1,18,10