#AI2401. Rings(中级)

Rings(中级)

Description

ACSL Rings 是一个 3 人游戏,目标是通过将球投进 5 个圆环中的至少一个来得分。计分规则如下:

  • 穿过蓝色 (Aqua) 或红色 (Red) 圆环 —— 得 1 分
  • 穿过橘色 (Orange) 或绿色 (Green) 圆环 —— 得 3 分
  • 穿过黑色 (Black) 圆环 —— 得 6 分
  • 穿过两个圆环的重叠区域 —— 得分为两个圆环的得分之和再加 1

我们用单个字母来表示上述每种颜色的圆环:蓝色 (A)、红色 (R)、橘色 (O)、绿色 (G)、黑色 (B)。两个圆环的重叠区域用两个字母表示,字母顺序如下:

  • 蓝色和橘色圆环重叠区域 (AO)
  • 橘色和黑色圆环重叠区域 (OB)
  • 黑色和绿色圆环重叠区域 (BG)
  • 绿色和红色圆环重叠区域 (GR)

给定 3 个字符串分别表示每位玩家投球穿过至少一个圆环的所有结果。每次投球穿过的圆环之间用一个空格隔开。

Input Format

输入将包含 3 个字符串,分别代表 3 位玩家的投球结果。每个字符串不超过 100 个字符。

Output Format

将 3 位玩家的得分按照降序输出为一个字符串,且每位玩家的得分之间用一个空格隔开。如果任意玩家之间出现相同得分,则相同得分在输出时不论先后顺序。

Explanation

示例 1: 输入:

GR A B
OB BG AO O
R G

解析:

  • 玩家 1 投球穿过绿色和红色圆环的重叠区域 (GR)、蓝色圆环 (A)、黑色圆环 (B)。
    • GR = 3 (Green) + 1 (Red) + 1 (Bonus) = 5
    • A = 1
    • B = 6
    • 总分 = 5 + 1 + 6 = 12
  • 玩家 2 的得分为 (3+6+1) + (6+3+1) + (1+3+1) + 3 = 28。
    • OB (Orange+Black+1) = 3+6+1=10
    • BG (Black+Green+1) = 6+3+1=10
    • AO (Aqua+Orange+1) = 1+3+1=5
    • O (Orange) = 3
    • 总分 = 10 + 10 + 5 + 3 = 28
  • 玩家 3 的得分为 1 + 3 = 4。
    • R = 1
    • G = 3
    • 总分 = 4

输出字符串 28 12 4,即得分按降序排列。

GR A B
OB BG AO O
R G
28 12 4
A R O G B
A A B B
R O B
14 14 10
AO OB B G A B BG GR
R R G G AO AO BG BG B
AO GR A B R G O BG OB
46 44 44
A A A B B R O O O O
BG BG GR GR O O O A B
BG BG GR GR O O O B B G
54 46 28
A B B O O G AO OB GR BG
GR GR BG BG OB AO AO
B B B G G G A A A GR AO
52 50 40
GR BG OB AO A G B
A O B AO GR GR BG O GR AO
O O B G A A GR OB AO BG
48 47 40