QOJ.ac

QOJ

时间限制: 1.0 s 内存限制: 512 MB 总分: 100 可 Hack ✓

#9268. 篮球正负值

统计

在现代职业体育中,球队经理根据统计数据而非个人印象做出比赛决策是很常见的。对于那些每场比赛都有大量重复动作和球员位置变动的运动来说,情况更是如此,而且每支球队每场比赛通常会得分数十次。篮球就是这样一项运动,本题旨在探讨球员个人的“正负值”统计。

每支球队在比赛中拥有十名球员。在比赛的任何时刻,每支球队恰好有五名球员在场上,五名球员在替补席。就本题而言,我们认为换人是不受限制的,并且可以在任何时刻进行。此外,对每位球员的换人次数没有限制。

比赛开始时,每位球员的个人得分为 0。每当某支球队得到 $x$ 分($x$ 可选值为 1, 2 或 3)时,该队当前在场上的每位球员的个人得分增加 $x$。对于对方球队,当前在场上的每位球员的个人得分减少 $x$。个人得分可以为负数。目前在替补席上的双方球员得分均不发生变化。

你将获得一份比赛记录,其中包含比赛开始时在场上的球员信息、换人信息以及得分事件。

你的任务是计算所有至少上场过一次的球员的个人正负值统计得分。

输入格式

输入的第一行包含第一支球队的名称。接下来五行包含比赛开始时为第一支球队上场的球员姓名。

随后六行包含第二支球队的名称以及比赛开始时为第二支球队上场的五名球员的姓名。

接下来是比赛记录的描述。该描述的第一行包含一个整数 $q$ ($1 \le q \le 1000$),表示需要考虑的事件数量。

随后是按时间顺序排列的 $q$ 个事件。

每个事件属于以下两种类型之一:

  • 第一类事件格式为 “Team x scored n”,其中 x 是两个队名之一,$n$ 是 1 到 3 之间的整数。
  • 第二类事件格式为 “Team x replaced y with z”,其中 x 是两个队名之一,y 是来自 x 队的球员姓名(保证此时在场上),z 是来自 x 队的球员姓名(保证此时在替补席上)。

所有姓名均为非空字符串,长度不超过 80 个字符。允许使用大小写英文字母。队名各不相同,同一支球队内没有两名球员姓名相同。

输出格式

对于每位至少上场过一次的球员,请在单独的一行中打印其姓名、所属球队以及个人正负值得分。

请按照球员在输入中首次出现的顺序排列。首先打印球员姓名,然后用括号 “()” 括起球员所属球队的名称(参见样例输出),最后打印得分。正分应带有 “+” 号,负分应带有 “-” 号。零分不带任何符号。

样例

输入 1

Lakers
James
Davis
Howard
Green
ColdwellPope
Clippers
Leonard
George
Zubac
Beverley
Morris
10
Team Lakers scored 2
Team Clippers replaced George with Williams
Team Clippers scored 3
Team Clippers scored 1
Team Lakers replaced Howard with Caruso
Team Lakers replaced Green with Morris
Team Lakers scored 2
Team Clippers replaced Zubac with George
Team Lakers scored 2
Team Lakers scored 3

输出 1

James (Lakers) +5
Davis (Lakers) +5
Howard (Lakers) -2
Green (Lakers) -2
ColdwellPope (Lakers) +5
Leonard (Clippers) -5
George (Clippers) -7
Zubac (Clippers) 0
Beverley (Clippers) -5
Morris (Clippers) -5
Williams (Clippers) -3
Caruso (Lakers) +7
Morris (Lakers) +7

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.