CF1970F2.Playing Quidditch (Medium)
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
今天下午,你决定出门感受春天的气息。当你走到魁地奇球场附近时,突然听到有人大喊。果然,又是在争谁赢了比赛!为了避免这一情况再次发生,你决定参与到比赛的判罚当中。
你留在体育场观看比赛,并记录得分。比赛结束时,你将宣布获胜者。
今天参赛的两支队伍是:红色的格兰芬多(R)和蓝色的拉文克劳(B)。每队有 P 名球员(1≤P≤10)。
场地是一个 N 行 M 列的矩形(3≤N,M≤99,N 和 M 均为奇数)。所有位置都是整数值,并且允许多个实体同时位于同一位置。比赛开始时,场地上有两队的球门(每队有一个到五个球门)、球员以及一个鬼飞球。在这一版本的问题中,可能还会出现一个游走球。而在更难的版本中,还会有另一种球。
比赛由 T 个步骤组成(0≤T≤10000)。每一步中,场上的一个实体(球员或者球)都会执行一个动作。所有实体都可以移动。球员还可以接球或者投掷手中的鬼飞球。要接球,球员必须与球处于同一格子。当球员持有鬼飞球时,鬼飞球不会进行任何动作,只是随球员一起移动。如果球员决定投出鬼飞球,它将留在球员当前的位置。如果球员和游走球同时处于同一格子(无论是球员移动还是游走球移动导致的结果),该球员将被淘汰。如果球员被淘汰时正持球,鬼飞球将留在原地,与淘汰球员和游走球同处一格。可以保证不会在球员位于球门时发生这种情况。
想要得分,球员必须将鬼飞球放在对方的球门。当球员得分时,该球员的队伍获得一分,鬼飞球将立即移动至场地中央(从1开始计数的第 (N+1)/2 行、第 (M+1)/2 列)。中央没有球门。如果球员把球放进自家球门,那对方队伍将获得一分。
输入格式
第一行是两个整数表示场地大小:N 和 M。
接下来是场地的描述:共 N 行,每行有 M 个字符对,以空格分隔。每个字符对表示场地上的一个位置,可以是以下形式之一:
..表示空格R0, ...,R9,B0, ...,B9表示球员。第一个字符是球员所在的队伍,第二个字符是球员的编号。每个字符对都是唯一的,但不保证所有可能的字符对都会出现在网格中。RG或BG表示球门。蓝队尝试将球踢进红队球门(RG),而红队则尝试将球踢进蓝队球门(BG)。.Q表示鬼飞球,这是球员用来得分的球。.B表示游走球。
接下来的一行包含一个整数 T,表示构成比赛的动作数量。随后有 T 行,每行描述一个动作。行中有多个信息,用空格分隔。首先是一对字符,表示执行动作的实体。接着是动作的描述:
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测评打分。不知道怎么写?