CF1970F2.Playing Quidditch (Medium)

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

今天下午,你决定出门感受春天的气息。当你走到魁地奇球场附近时,突然听到有人大喊。果然,又是在争谁赢了比赛!为了避免这一情况再次发生,你决定参与到比赛的判罚当中。

你留在体育场观看比赛,并记录得分。比赛结束时,你将宣布获胜者。

今天参赛的两支队伍是:红色的格兰芬多(R)和蓝色的拉文克劳(B)。每队有 PP 名球员(1≤P≤101 \leq P \leq 10)。

场地是一个 NN 行 MM 列的矩形(3≤N,M≤993 \leq N, M \leq 99,NN 和 MM 均为奇数)。所有位置都是整数值,并且允许多个实体同时位于同一位置。比赛开始时,场地上有两队的球门(每队有一个到五个球门)、球员以及一个鬼飞球。在这一版本的问题中,可能还会出现一个游走球。而在更难的版本中,还会有另一种球。

比赛由 TT 个步骤组成(0≤T≤100000 \leq T \leq 10000)。每一步中,场上的一个实体(球员或者球)都会执行一个动作。所有实体都可以移动。球员还可以接球或者投掷手中的鬼飞球。要接球,球员必须与球处于同一格子。当球员持有鬼飞球时,鬼飞球不会进行任何动作,只是随球员一起移动。如果球员决定投出鬼飞球,它将留在球员当前的位置。如果球员和游走球同时处于同一格子(无论是球员移动还是游走球移动导致的结果),该球员将被淘汰。如果球员被淘汰时正持球,鬼飞球将留在原地,与淘汰球员和游走球同处一格。可以保证不会在球员位于球门时发生这种情况。

想要得分,球员必须将鬼飞球放在对方的球门。当球员得分时,该球员的队伍获得一分,鬼飞球将立即移动至场地中央(从1开始计数的第 (N+1)/2(N+1)/2 行、第 (M+1)/2(M+1)/2 列)。中央没有球门。如果球员把球放进自家球门,那对方队伍将获得一分。

输入格式

第一行是两个整数表示场地大小:NN 和 MM。

接下来是场地的描述:共 NN 行,每行有 MM 个字符对,以空格分隔。每个字符对表示场地上的一个位置,可以是以下形式之一:

  • .. 表示空格
  • R0, ..., R9, B0, ..., B9 表示球员。第一个字符是球员所在的队伍,第二个字符是球员的编号。每个字符对都是唯一的,但不保证所有可能的字符对都会出现在网格中。
  • RG 或 BG 表示球门。蓝队尝试将球踢进红队球门(RG),而红队则尝试将球踢进蓝队球门(BG)。
  • .Q 表示鬼飞球,这是球员用来得分的球。
  • .B 表示游走球。

接下来的一行包含一个整数 TT,表示构成比赛的动作数量。随后有 TT 行,每行描述一个动作。行中有多个信息,用空格分隔。首先是一对字符,表示执行动作的实体。接着是动作的描述:

  • U, D, L, R 表示实体在网格上的移动方向。可以分别向上(U)、向下(D)、向左(L)或向右(R)移动。每次只移动一个格子。
  • C 表示球员接住了球(只有球员可以接球)。随后是一个空格和一个字符对,表示被接住的球。需要此信息,因为可能多个球在同一格子中。
  • T 表示球员投出了携带的鬼飞球。

所有动作都是有效的:即球员始终在场地范围内,球员不会在非同格子时接球,不会在未携球时投球,等等。

��出格式

你需要输出比赛中的主要事件,每行一个。具体事件包括:

  • 每次一支队伍得分时,你需要输出 t RED GOAL 或 t BLUE GOAL,取决于哪支队伍得分,其中 t 是当前动作位置(从0开始计数)。如果球员进错门(红队球员进红队球门,或蓝队球员进蓝队球门),则输出获分的另一队伍。
  • 每次有球员被淘汰时,输出 t p ELIMINATED,其中 t 是当前时间 p 是被淘汰的球员。球员的格式与输入相同。

事件按 t 的升序输出。如果多名球员同时被淘汰,按字母顺序输出:B0, ..., B9, R0, ... R9。

比赛结束时,输出最终比分为:FINAL SCORE: r b,其中 r 和 b 分别是红队和蓝队的得分。

输入输出样例

  • 输入#1

    3 5
    .. .. R0 .. ..
    RG .. .Q .. BG
    .. .. B0 .. ..
    12
    R0 D
    R0 C .Q
    R0 R
    R0 T
    R0 D
    B0 R
    B0 U
    B0 C .Q
    B0 L
    B0 L
    B0 L
    B0 T

    输出#1

    11 BLUE GOAL
    FINAL SCORE: 0 1
  • 输入#2

    3 5
    .. .. R0 .. ..
    RG .. .Q .. BG
    .. .. B0 .. ..
    5
    R0 D
    R0 C .Q
    R0 L
    R0 L
    R0 T

    输出#2

    4 BLUE GOAL
    FINAL SCORE: 0 1
  • 输入#3

    5 5
    .. .. .. .. ..
    .. .. .. .. ..
    RG R0 .Q B0 BG
    .. .. .. .. ..
    .. .. .B .. ..
    5
    .B L
    .B U
    .B U
    B0 L
    B0 L

    输出#3

    2 R0 ELIMINATED
    4 B0 ELIMINATED
    FINAL SCORE: 0 0

说明/提示

在第一个例子中,红队球员拿起鬼飞球,移动并投出。蓝队球员接住球,向红队球门进攻并取得分数。

在第二个例子中,红队球员拿球并不小心把它投入自家球门,结果蓝队得分。

在第三个例子中,游走球移动到 R0 的位置,导致 R0 被淘汰。随后,B0 也移到游走球的位置,结果 B0 也被淘汰。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页