QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 1024 MB مجموع النقاط: 100

#15555. 地板面积

الإحصائيات

你很快就要卖掉你的房子,但首先,你需要弄清楚地板的面积。这听起来可能很简单,但你有一个闲置的储藏室,你弄丢了它的钥匙,而且你完全不知道这个储藏室有多大。储藏室里唯一的物品是一个扫地机器人。如果你启动扫地机器人并观察它最终停在哪里,也许你能弄清楚储藏室有多大?

储藏室由一个 $N \times M$ 的网格组成,其中 $N$ 和 $M$ 是未知的正整数。行从上到下依次编号为 $0$ 到 $N - 1$,列从左到右依次编号为 $0$ 到 $M - 1$。机器人有一组指令 $s$。这些指令由一个包含字符 <>^v 的字符串表示。当机器人启动时,它会读取 these 指令,并针对每条指令向相应的方向移动一步。如果机器人试图移动到网格之外,它会撞到墙壁,什么也不会发生。机器人从左上角开始,即第 $0$ 行第 $0$ 列。

给你字符串 $s$ 以及机器人执行完指令后最终所在的行和列。计算与该信息相符的 $N \cdot M$ 的最小可能值。

输入格式

第一行包含一个整数 $K$ ($1 \le K \le 3 \cdot 10^5$),表示字符串 $s$ 的长度。

第二行包含字符串 $s$。

第三行包含两个整数 $r$ 和 $c$ ($0 \le r, c < 3 \cdot 10^5$),其中 $r$ 是机器人最终所在的行, $c$ 是机器人最终所在的列。

输出格式

输出一个整数,即 $N \cdot M$ 的最小可能值。如果没有符合测试数据中信息的 $N$ 和 $M$ 的选择,则输出 $-1$。

子任务

你的解法将在多个子任务上进行测试。要获得某个子任务的分数,必须通过该子任务中的所有测试用例。

子任务 分值 数据范围
1 15 机器人只向下和向右移动。
2 30 $K \le 100$
3 20 $K \le 5000$
4 35 无附加限制。

样例

输入格式 1

14
>v<v>v>^^^>>v<
1 2

输出格式 1

8

说明

图 1:该图显示了样例 1 中最小的可能网格。机器人沿着黑色曲线移动。深色方块是机器人的最终位置。

输入格式 2

1
>
100000 100000

输出格式 2

-1

输入格式 3

4
>><<
0 0

输出格式 3

1

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.