P13059 [GCJ 2020 #1C] Overexcited Fan

题目描述

今天将是你终于能和猫咪 Peppurr 合影的日子! Peppurr 即将在你的城市巡游。这座城市有无限多条南北走向和东西走向的无限长街道。任意两条垂直街道的交点称为**十字路口**。从任意一个十字路口出发,往四个方向(北、东、南、西)最近的十字路口都恰好相隔一个街区。 你已知 Peppurr 巡游的完整路径。你的目标是**在 Peppurr 到达某个巡游路线的十字路口的同时**,你也到达该路口,并且希望尽可能快地完成这件事。这就是你与 Peppurr 合影的方式! Peppurr 的巡游起点位于你当前位置以东 $\mathbf{X}$ 个街区、以北 $\mathbf{Y}$ 个街区的十字路口。你和 Peppurr 每走完一个完整街区都需要恰好一分钟,且每分钟结束时必须到达一个十字路口;你们都不能走部分街区。 Peppurr 沿着预定路径移动。每分钟,你可以选择**静止不动**,或者选择向四个方向之一(北、东、南、西)移动一个街区。你和 Peppurr 都只沿街道行走。 如果你和 Peppurr **同时到达同一个十字路口**,你就能成功合影(包括巡游的最后一个路口)。但 Peppurr 在巡游结束后不再接受合影,因此即使只晚一分钟到达巡游终点,也无法合影。 你有可能和 Peppurr 合影吗?如果可能,最快需要多少分钟?

输入格式

输入的第一行包含测试用例数量 $\mathbf{T}$。随后是 $\mathbf{T}$ 个测试用例,每个用例占一行,包含两个整数 $\mathbf{X}$、$\mathbf{Y}$ 和一个字符串 $\mathbf{M}$。表示 Peppurr 的巡游起点位于你当前位置以东 $\mathbf{X}$ 个街区、以北 $\mathbf{Y}$ 个街区的十字路口。字符串 $\mathbf{M}$ 是 Peppurr 的移动序列,其中第 $i$ 个字符为 $\mathbf{N}$(北)、$\mathbf{E}$(东)、$\mathbf{S}$(南)或 $\mathbf{W}$(西),对应巡游第 $i$ 分钟 Peppurr 移动的方向。

输出格式

对于每个测试用例,输出一行 `Case #x: y`,其中 $x$ 是测试用例编号(从 1 开始)。如果无法与 Peppurr 合影,$y$ 为 `IMPOSSIBLE`;否则 $y$ 为从巡游开始到成功合影所需的最少分钟数。

说明/提示

**样例解释** 在样例 #1 中,你可以向东走 4 个街区,在巡游的最后一个十字路口与 Peppurr 合影。 在样例 #2 中,巡游起点位于你以东 3 个街区。无论如何移动,你都无法与 Peppurr 合影。 在样例 #3 中,巡游路线距离你太远,无法在巡游结束前合影。 在样例 #4 中,Peppurr 会在 1 分钟后到达你的位置,因此你甚至不需要移动!注意只能在十字路口合影,如果你向北移动而 Peppurr 向南移动,虽然会在非路口处相遇,但无法在 0.5 分钟时合影。 在样例 #5 中,你可以先向北走 2 次,再向东走 2 次,然后静止不动,下一分钟即可合影。其他路径也可能在 5 分钟时合影,但无法更快。 以下两个样例不会出现在测试集 1 或 2 中,但可能出现在测试集 3: ``` 2 3 2 SSSW 4 0 NESW ``` 正确输出应为: ``` Case #1: 4 Case #2: 4 ``` 注意在样例 #1 中,你可以在起点以南 1 个街区、以东 2 个街区的十字路口与 Peppurr 合影。在样例 #2 中,Peppurr 沿小正方形移动,当其返回起点时即可合影。 **数据范围** - $1 \leqslant \mathbf{T} \leqslant 100$。 - $(\mathbf{X}, \mathbf{Y}) \neq (0, 0)$(巡游起点与你不在同一路口)。 **测试集 1(4 分,可见判定)** - $0 \leqslant \mathbf{X} \leqslant 10$。 - $0 \leqslant \mathbf{Y} \leqslant 10$。 - $1 \leqslant \mathbf{M} \text{ 的长度} \leqslant 8$。 - $\mathbf{M}$ 仅包含 $\mathbf{N}$ 或 $\mathbf{S}$。 **测试集 2(6 分,可见判定)** - $0 \leqslant \mathbf{X} \leqslant 1000$。 - $0 \leqslant \mathbf{Y} \leqslant 1000$。 - $1 \leqslant \mathbf{M} \text{ 的长度} \leqslant 1000$。 - $\mathbf{M}$ 仅包含 $\mathbf{N}$ 或 $\mathbf{S}$。 **测试集 3(12 分,可见判定)** - $0 \leqslant \mathbf{X} \leqslant 1000$。 - $0 \leqslant \mathbf{Y} \leqslant 1000$。 - $1 \leqslant \mathbf{M} \text{ 的长度} \leqslant 1000$。 - $\mathbf{M}$ 可包含 $\mathbf{N}$、$\mathbf{E}$、$\mathbf{S}$ 或 $\mathbf{W}$。 翻译由 DeepSeek V3 完成