배구 통계

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

배구 경기의 플레이 기록을 한 줄씩 읽어, 한 팀에 대한 통계 보고서를 출력하는 프로그램을 작성한다.

프로그램은 각 줄이 하나의 플레이를 나타내는 입력을 순서대로 읽는다. 플레이 종류는 표 1과 같다.

플레이설명
CCHECKIN새 경기의 시작을 나타낸다. 모든 경기는 정확히 한 줄의 CHECKIN으로 시작하며, 그 경기에 참가하는 한 팀의 모든 선수를 나열한다.
HHIT상대가 성공적으로 수비한 공격.
KKILL상대가 수비하지 못한 공격.
EERR네트에 걸리거나 코트를 벗어난 실책성 공격.
BBLOCK네트 앞에서 공격을 성공적으로 막은 수비.
DDIG네트 뒤에서 공격을 성공적으로 받아낸 수비.
RREPORT보고서를 출력하라는 명령. 출력한 뒤에는 지금까지 모은 모든 플레이 기록을 버리고, 남은 입력을 처음 상태에서 다시 처리한다.

표 1: 플레이

CHECKIN과 REPORT를 제외한 모든 플레이에는 정확히 하나의 두 자리 선수 번호가 붙는다. 선수 번호의 각 자리는 0에서 5 사이이므로, 심판이 양손의 손가락 0~5개로 표시할 수 있다.

각 보고서에서, 한 경기라도 참가한 모든 선수와 팀 전체에 대해 표 2의 통계를 계산한다.

항목공식설명예시
Hit %(sum(KILL) - sum(ERR)) / (sum(KILL) + sum(ERR) + sum(HIT))공격 성공률0.461
KPGsum(KILL) / #Games경기당 KILL 수5.613
BPGsum(BLOCK) / #Games경기당 BLOCK 수3.100
DPGsum(DIG) / #Games경기당 DIG 수2.050

표 2: 통계

유의 사항:

  • 어떤 선수가 "경기에 참가"한다는 것은, 그 경기의 CHECKIN 줄에 그 선수가 등장하는 경우를 뜻한다. 플레이 기록이 하나도 없더라도 그 선수는 보고서에 그대로 나타나며, 이때 모든 통계는 0.000이다.
  • 선수의 #Games는 그 선수가 참가한 경기 수(그 선수를 나열한 CHECKIN 줄의 개수)이다. 팀의 #Games는 해당 보고서 구간의 전체 경기 수이다. Hit %는 #Games에 의존하지 않는다.
  • 선수에게 HIT, KILL, ERR가 하나도 없으면 그 선수의 Hit %는 0.000이다.

입력

각 입력 줄에는 정확히 하나의 플레이가 들어 있다. 1열에는 표 1의 플레이 키 중 하나가 온다.

  • REPORT 줄에는 키 R만 있다.
  • CHECKIN 줄은 2열이 공백이고, 3~4열에 그 경기의 선수 수를 나타내는 두 자리 정수 NP(06 <= NP <= 15)가 온다. 그 뒤에는 NP개의 두 자리 선수 번호(앞자리 0 포함)가 각각 정확히 하나의 공백을 앞에 두고 이어진다. 한 경기의 어떤 플레이에도, 그 경기의 CHECKIN 줄에 없는 선수는 등장하지 않는다.
  • HIT, KILL, ERR, BLOCK, DIG 줄은 2열이 공백이고, 3~4열에 정확히 하나의 두 자리 선수 번호(필요하면 앞자리 0 포함)가 온다.

출력

REPORT를 읽을 때마다 보고서를 출력한다.

모든 보고서의 첫 두 줄은 정확히 다음과 같다(둘째 줄은 하이픈 41개이다).

Player  Hit Pct    KPG      BPG      DPG
-----------------------------------------

그다음, 한 경기라도 참가한 각 선수에 대해 선수 번호 오름차순으로 한 줄씩 다음 형식으로 출력한다.

55      s0.000   99.999   99.999   99.999

s는 Hit %의 부호로, Hit %가 0.000 이상이면 +, 그렇지 않으면 -이다. 네 값 모두 소수점 아래 정확히 세 자리로 출력한다.

선수 줄들 다음에는, 같은 형식으로 team이라는 라벨을 사용해 팀 통계 한 줄을 출력한다.

team    s0.000   99.999   99.999   99.999

칸 배치: 선수 번호(또는 라벨 team)는 8칸 폭에 왼쪽 정렬하고, 부호가 붙은 Hit %는 그다음 6칸을 차지하며, KPG, BPG, DPG는 각각 9칸 폭에 오른쪽 정렬한다. 어떤 통계의 절댓값도 99.999를 넘지 않는다.

연속한 두 보고서 사이에는 빈 줄을 정확히 하나 넣되, 마지막 보고서 뒤에는 빈 줄을 넣지 않는다.