CF1970F1 Playing Quidditch (Easy)

题目描述

今天下午,你打算出去散步,享受春天的第一缕阳光。在靠近魁地奇球场时,你听到了争吵声。原来是比赛比分又引起了争议,两队都坚信自己赢得了比赛!为了避免这种事情再次发生,你决定参与到比赛的裁判工作中。 现在,你将在体育场内观看比赛并计算得分。比赛结束后,你将宣布胜者。 今天参赛的有两支队伍:红色的格兰芬多队(R)和蓝色的拉文克劳队(B)。每支队伍由 $P$ 名球员组成($1 \leq P \leq 10$)。 比赛的场地是一个由 $N$ 行 $M$ 列组成的矩形($3 \leq N, M \leq 99$,且 $N$ 和 $M$ 是奇数)。场上所有位置均为整数,多名球员或多个物体可以占据同一个位置。比赛开始时,场地上有双方队伍的目标(每队可拥有1至5个目标),球员,以及一个鬼飞球。其他种类的球将在更复杂的问题中涉及。 比赛分为 $T$ 步($0 \leq T \leq 10000$)。每一步中,场上的一个实体(球员或球)将执行一个动作。所有的实体都能移动。球员还可以接球或投掷他们携带的鬼飞球。要接球,球员需要和球在同一个位置。当球员携带鬼飞球时,球只会跟随他的移动,而不会执行其他动作。如果球员决定投掷鬼飞球,它就留在当前的位置。 得分的条件是,球员必须将鬼飞球放入对方队伍的目标中。成功时,该球员所在的队伍就会得一分,而鬼飞球会立刻返回到场地的正中央(即第 $(M+1)/2$ 列和第 $(N+1)/2$ 行的位置,从 1 开始计数)。场中心没有目标。如果球员不小心将球放进了自己的目标中,那么对方队伍会得一分。

输入格式

第一行给出两个整数 $N$ 和 $M$。 接下来是场地布局:共 $N$ 行,每行包含 $M$ 对字符,以空格分隔。每个字符对表示场上的一个位置,可能是以下情况之一: - .. 代表一个空白位置 - R0, ..., R9, B0, ..., B9 代表一位球员。第一个字符表示队伍,第二个字符是该球员在队伍中的编号。每个字符对是唯一的,但不保证所有字符对都会出现在网格中。 - RG 或 BG 代表一个目标。蓝队需要将球投入红队的目标(RG),而红队需要将球投进蓝队的目标(BG)。 - .Q 代表鬼飞球,这是供球员用来得分的球。 接下来的一行是整数 $T$,表示比赛的步数。接下来的 $T$ 行,每行描述一个动作。每行包含几个用空格分隔的信息。第一个是执行动作的实体的字符对,接着是动作描述: - U, D, L, R 分别表示向上、向下、向左、向右移动。每次只能移动一个格子。 - C 表示球员接球(只有球员可以接球)。随后是一个空格,接着是一对字符,表示被接住的球。因为在将来的版本中,可能会在同一个格子中有多个球。 - T 表示球员投掷他们携带的鬼飞球。 所有的动作都是有效的:球员不离开场地,不在不同位置接球,不在未携带鬼飞球时投掷它,等等。

输出格式

你需要描述比赛中的重要事件,每个事件占一行。具体来说: - 每次得分后,你必须打印 t RED GOAL 或 t BLUE GOAL,其中 t 是行动在列表中的位置(从 0 开始)。如果得分是在球员自己的目标中(红队员向红目标得分或蓝队员向蓝目标得分),则打印得分的是另一队伍。 事��需按 t 的升序输出。 比赛结束后,你必须输出最终比分:`FINAL SCORE: r b`,其中 r 是红队的得分,b 是蓝队的得分。

说明/提示

在第一个示例中,一名蓝队球员走到网格中心收球,然后带球前往红色队的目标并成功得分!鬼飞球回到场地中心,随后一个红队球员也拿球成功得分。 在第二个示例中,红队球员拿到鬼飞球,移动并投掷,随后由蓝队球员接过,带球前往红队目标并得分。 在第三个例子中,红队球员将球投入自己的目标,因此蓝队得分。 **本翻译由 AI 自动生成**