CF1481A.Space Navigation

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Space Navigation

题目描述

你梦见自己正驾驶着私人飞船前往名为 Planetforces 的星球。不幸的是,飞船的驾驶系统出现了故障,现在你需要修复它才能到达 Planetforces。

太空可以用 XYXY 平面表示。你从点 (0,0)(0, 0) 出发,Planetforces 位于点 (px,py)(p_x, p_y)。

你的飞船驾驶系统会按照一串指令 ss 行动。系统会从左到右读取 ss。假设你当前在点 (x,y)(x, y),当前指令为 sis_i:

  • 如果 si=Us_i = \text{U},你会移动到 (x,y+1)(x, y + 1);
  • 如果 si=Ds_i = \text{D},你会移动到 (x,y−1)(x, y - 1);
  • 如果 si=Rs_i = \text{R},你会移动到 (x+1,y)(x + 1, y);
  • 如果 si=Ls_i = \text{L},你会移动到 (x−1,y)(x - 1, y)。

由于字符串 ss 可能已损坏,你最终可能无法到达 Planetforces。幸运的是,你可以从 ss 中删除一些指令(可以为零),但不能改变它们的顺序。

你能否通过删除若干指令(可能为零),使得系统执行完所有指令后,你正好到达 Planetforces?

输入格式

第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000),表示测试用例的数量。

每个测试用例包含两行。每个测试用例的第一行包含两个整数 pxp_x 和 pyp_y(−105≤px,py≤105-10^5 \le p_x, p_y \le 10^5,(px,py)≠(0,0)(p_x, p_y) \neq (0, 0)),表示 Planetforces 的坐标 (px,py)(p_x, p_y)。

第二行包含字符串 ss(1≤∣s∣≤1051 \le |s| \le 10^5,∣s∣|s| 表示字符串 ss 的长度),表示指令序列。

保证所有测试用例中 ∣s∣|s| 的总和不超过 10510^5。

输出格式

对于每个测试用例,如果你可以通过删除若干指令(可能为零)使得你能到达 Planetforces,输出 "YES";否则输出 "NO"。你可以用任意大小写输出答案。

说明/提示

在第一个样例中,你无需修改 ss,因为给定的 ss 能直接带你到达 Planetforces。

在第二个样例中,你可以删除 s2s_2、s3s_3、s4s_4、s6s_6、s7s_7 和 s8s_8,使 ss 变为 "UR"。

在第三个样例中,你必须删除 s9s_9,否则你无法停在 Planetforces 的位置。

由 ChatGPT 4.1 翻译

样例

6
10 5
RRRRRRRRRRUUUUU
1 1
UDDDRLLL
-3 -5
LDLDLDDDR
1 2
LLLLUU
3 -2
RDULRLLDR
-1 6
RUDURUUUUR
YES
YES
YES
NO
YES
NO

在线编程 IDE

建议全屏模式获得最佳体验