SP14980 UOFTBE - MVP
题目描述
这是世界上最大《星际争霸2》比赛的决赛!你是 MvP(最有价值选手)中的佼佼者,即将面对另一位 MvP 选手。这个系列赛包含 $G$ 场($1 \leq G \leq 20$)比赛,最终胜者将在所有比赛结束后决出。作为神族玩家,你有一个完美的策略来击败你的泰伦对手——每场比赛都进行炮台快攻。现在你只需精确执行操作,快速将探机移动到正确位置,胜利的奖杯就非你莫属了。
比赛地图是一张网格,有 $H$ 行($2 \leq H \leq 1000$),每行 $W$ 个单元格($2 \leq W \leq 1000$)。每个单元格可能是空地(用 "E" 表示)、水域("W")、单位("U")、两个矿石补丁之一("M")、探机("P"),或是炮台快攻地点("C")。探机每秒可以向水平或垂直相邻的单元格移动,目标是在尽可能短的时间内到达炮台快攻地点。探机可以从一个空地单元格移到另一个空地(包括其起始位置和目的地),但无法穿过水域或矿石补丁。
通常情况下,探机也无法穿过单位。然而,如果探机朝向矿石补丁前进,则可以穿过单位。具体来说,探机只能在以下情况下离开或进入一个含有单位的单元格:至少一个矿石补丁,探机进入的单元格比离开的单元格更接近该补丁。接近的定义是:从指定单元格出发,假设探机可以穿过所有单位,到达矿石补丁的最短时间。
对于每场比赛,你需要确认你的策略能否成功。如果可以,还要计算出执行炮台快攻所需的最短时间。这样做的目的是为比赛结束后准备适当的嘲讽。
输入格式
第一行:1个整数 $G$
接下来的每场比赛中:
第一行:2 个整数 $H$ 和 $W$
接下来的 $H$ 行:每行 $W$ 个字符,表示地图的第 $i$ 行,其中 $i = 1..H$
输出格式
对于每场比赛:
如果探机可以到达炮台快攻地点,输出:`pwned you in X seconds eZ, learn to play n00b`,其中 $X$ 是探机达到炮台快攻地点所需的最短时间;否则,输出:`terran so broken, apologize for playing this race`。
**本翻译由 AI 自动生成**