QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 256 MB Puntuación total: 100

#4752. 冰球

Estadísticas

本题所述规则与常规冰球规则不同。

一场冰球比赛持续 60 分钟,两支队伍的目标是尽可能多地进球。一支冰球队伍由五名场上球员和一名守门员组成。

罚时是冰球比赛的重要组成部分。场上球员可能会受到处罚:在这种情况下,违规球员将离开冰面一段时间,具体时长取决于违规情况。结果,该球员所属队伍在场上的球员人数会暂时减少。冰球比赛中有两种处罚:大罚(major)和小罚(minor)。大罚意味着球员离开冰面五分钟;小罚则是两分钟。当罚时结束时,球员回到冰面。

小罚可以提前结束。当一支队伍在场上的球员人数少于对方时,称该队处于少打多(short-handed)状态。如果一支队伍处于少打多状态且被对方进球,那么该队中一名受到小罚的球员将提前结束罚时回到冰面。如果该队有多名受到小罚的球员,只有最早受到处罚的那名球员回到冰面。如果队中没有受到小罚的球员,则无人提前回到冰面。

比赛期间的罚时意味着两队在场上的场上球员人数会有多种组合。我们用 $A \times B$ 表示比赛格式,意为第一支队伍当前有 $A$ 名场上球员,第二支队伍有 $B$ 名。例如,比赛开始时每队各有五名球员,该格式记为 $5 \times 5$。如果第一支队伍当前有两名球员受罚,第二支队伍有一名受罚,则格式记为 $3 \times 4$。

给定一份比赛记录,记录了所有罚时和进球的时间。请计算比赛期间出现过哪些格式,以及每种格式持续了多长时间。

输入格式

输入文件的第一行包含一个整数 $N$ —— 比赛中的事件数量 ($0 \le N \le 1000$)。

接下来的 $N$ 行描述比赛事件,每行一个。事件描述格式如下:

mm:ss.d team type

其中 mm:ss.d 为事件发生时间,精确到十分之一秒 ($0 \le \text{mm} \le 59, 0 \le \text{ss} \le 59, 0 \le d \le 9$),team 为队伍编号(1 或 2),type 为事件类型: goal — 该队进球; minor — 该队球员受到小罚; * major — 该队球员受到大罚。

保证 goal 类型的事件其秒的小数部分不为零,即 $d \neq 0$;minormajor 类型的事件其秒的小数部分始终为零,即 $d = 0$。

事件按时间顺序排列,即按事件时间非递减的顺序给出。保证在任何时刻,每支队伍的球员人数都不超过 5 人。

输出格式

对于比赛中出现过的每种非零时长的格式,在单独的一行中打印格式名称以及两队处于该格式下的总时长,中间用空格分隔。时间格式必须与输入数据中的格式完全一致。

行可以按任意顺序打印。

样例

样例输入 1

10
06:41.0 1 minor
07:20.4 2 goal
22:22.0 2 minor
22:32.0 1 minor
23:00.1 1 goal
23:12.0 2 minor
23:59.9 1 goal
41:02.0 1 major
41:04.5 2 goal
59:00.0 1 minor

样例输出 1

4x3 00:47.9
4x4 01:12.1
4x5 06:39.4
5x4 00:50.0
5x5 50:30.6

说明

样例中的比赛包含以下时间间隔:

  • $[00:00.0; 06:41.0)$ — 直到第一次处罚前,比赛以初始格式 $5 \times 5$ 进行;
  • $[06:41.0; 07:20.4)$ — 处罚后,两队以 $4 \times 5$ 格式进行比赛,直到第一支队伍在少打多时被进球,受小罚的球员回到冰面;
  • $[07:20.4; 22:22.0)$ — 两队以满员 $5 \times 5$ 格式进行比赛,直到发生处罚;
  • $[22:22.0; 22:32.0)$ — 直到下一次处罚前,两队以 $5 \times 4$ 格式进行比赛;
  • $[22:32.0; 23:00.1)$ — 直到进球前,两队以 $4 \times 4$ 格式进行比赛,但进球后没有球员回到冰面,因为进球时双方人数相等;
  • $[23:00.1; 23:12.0)$ — 两队继续以 $4 \times 4$ 格式进行比赛,直到下一次处罚;
  • $[23:12.0; 23:59.9)$ — 此后,两队以 $4 \times 3$ 格式进行比赛,直到进球,此时在 $22:22.0$ 受罚的第二支队伍球员回到冰面;
  • $[23:59.9; 24:32.0)$ — 两队以 $4 \times 4$ 格式进行比赛,直到第一支队伍球员的罚时结束;
  • $[24:32.0; 25:12.0)$ — 两队以 $5 \times 4$ 格式进行比赛,直到第二支队伍球员的罚时结束;
  • $[25:12.0; 41:02.0)$ — 两队以满员 $5 \times 5$ 格式进行比赛,直到发生大罚;
  • $[41:02.0; 41:04.5)$ — 进球前,两队以 $4 \times 5$ 格式进行比赛,但由于被进球方的球员受到的是大罚,该球员不会离开罚球箱;
  • $[41:04.5; 46:02.0)$ — 两队继续以 $4 \times 5$ 格式进行比赛,直到第一名球员的罚时结束;
  • $[46:02.0; 59:00.0)$ — 处罚前,两队以满员 $5 \times 5$ 格式进行比赛;
  • $[59:00.0; 60:00.0)$ — 两队以 $4 \times 5$ 格式结束比赛。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.