QOJ.ac

QOJ

Limite de temps : 20 s Limite de mémoire : 1024 MB Points totaux : 22

#12428. 过度兴奋的粉丝

Statistiques

今天就是这一天——你终于可以和猫咪 Peppurr 合影了!

刚刚宣布 Peppurr 将在你的城市巡游。这座城市有无数条无限长的南北向街道和无数条无限长的东西向街道。交叉路口是指南北向街道和东西向街道相交的任何点。从任何给定的交叉路口出发,向北、东、南、西四个方向的最近交叉路口距离恰好为一个街区。

你知道 Peppurr 沿着这些街道巡游的确切路径。你的目标是在 Peppurr 到达某个交叉路口时,你也在同一个交叉路口,并且你希望尽可能快地做到这一点。这就是你与 Peppurr 合影的方式!

Peppurr 的巡游开始于一个交叉路口,该路口位于你当前所在位置的东侧 $X$ 个街区、北侧 $Y$ 个街区处。你和 Peppurr 走完一个完整的街区都需要恰好一分钟,并且必须在每一分钟结束时位于一个交叉路口;你们都不能只走半个街区。

Peppurr 沿着预定的路径移动。每一分钟,你可以选择原地不动,或者利用这一分钟向四个方向(北、东、南或西)中的任意一个走一个街区。你和 Peppurr 都只能沿着街道行走。

如果你和 Peppurr 在同一时间处于同一个交叉路口,你就可以拍照,即使是在巡游的最后一个交叉路口。然而,巡游结束后 Peppurr 将不再提供拍照机会,因此在巡游结束后哪怕晚一分钟到达巡游的终点,也意味着你无法拍到照片。

是否有可能与 Peppurr 合影?如果可以,你最快需要多久?

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含一行,包含两个整数 $X$ 和 $Y$,以及一个字符串 $M$。这表示 Peppurr 的巡游起点位于你东侧 $X$ 个街区、北侧 $Y$ 个街区处。字符串 $M$ 是 Peppurr 将要进行的移动序列。$M$ 中的第 $i$ 个字符是 $N, E, S$ 或 $W$ 之一,对应于 Peppurr 在巡游的第 $i$ 分钟内向北、东、南或西走一个街区的方向。

输出格式

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

数据范围

$1 \le T \le 100$。 内存限制:1GB。 $(X, Y) \neq (0, 0)$。(巡游开始时,你与 Peppurr 不在同一个交叉路口。)

测试集 1(可见判定)

$0 \le X \le 10$。 $0 \le Y \le 10$。 $1 \le \text{length of } M \le 8$。 $M$ 中的每个字符都是大写字母 $N$ 或 $S$。

测试集 2(可见判定)

$0 \le X \le 1000$。 $0 \le Y \le 1000$。 $1 \le \text{length of } M \le 1000$。 $M$ 中的每个字符都是大写字母 $N$ 或 $S$。

测试集 3(可见判定)

$0 \le X \le 1000$。 $0 \le Y \le 1000$。 $1 \le \text{length of } M \le 1000$。 $M$ 中的每个字符都是大写字母 $N, E, S$ 或 $W$。

样例

样例输入 1

5
4 4 SSSS
3 0 SNSS
2 10 NSNNSN
0 1 S
2 7 SSSSSSSS

样例输出 1

Case #1: 4
Case #2: IMPOSSIBLE
Case #3: IMPOSSIBLE
Case #4: 1
Case #5: 5

说明

在样例 1 中,你可以向东走四个街区,这样你就能在巡游的最后一个交叉路口与 Peppurr 合影。

在样例 2 中,巡游起点位于你东侧恰好三个街区处。无论你怎么走,都无法与 Peppurr 合影。

在样例 3 中,巡游路径太靠北,导致你在巡游结束前无法赶上拍照。

在样例 4 中,巡游一分钟后就会到达你所在的位置,所以你甚至不需要移动!尽情与 Peppurr 合影吧!请记住,你只能在交叉路口拍照,所以如果你在 Peppurr 向南移动时向北移动,这会导致你们在交叉路口之外相遇,你将无法在 0.5 分钟时拍到照片。

在样例 5 中,你可以先向北走两次,再向东走两次。然后,你可以原地不动,在下一分钟与 Peppurr 合影。虽然还有其他路径可以让你在 5 分钟内与 Peppurr 合影,但没有比这更快的了。

以下两个案例不会出现在测试集 1 或测试集 2 中,但可能出现在测试集 3 中:

2
3 2 SSSW
4 0 NESW

这两个案例的正确输出为:

Case #1: 4
Case #2: 4

注意在案例 1 中,你可以在距离原始起点南侧一个街区、东侧两个街区的位置与 Peppurr 合影。

在案例 2 中,Peppurr 走了一个小正方形。当 Peppurr 回到该正方形的起点时,你可以与它合影。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.