CF1481A Space Navigation

题目描述

你梦见自己正驾驶着私人飞船前往名为 Planetforces 的星球。不幸的是,飞船的驾驶系统出现了故障,现在你需要修复它才能到达 Planetforces。 太空可以用 $XY$ 平面表示。你从点 $(0, 0)$ 出发,Planetforces 位于点 $(p_x, p_y)$。 你的飞船驾驶系统会按照一串指令 $s$ 行动。系统会从左到右读取 $s$。假设你当前在点 $(x, y)$,当前指令为 $s_i$: - 如果 $s_i = \text{U}$,你会移动到 $(x, y + 1)$; - 如果 $s_i = \text{D}$,你会移动到 $(x, y - 1)$; - 如果 $s_i = \text{R}$,你会移动到 $(x + 1, y)$; - 如果 $s_i = \text{L}$,你会移动到 $(x - 1, y)$。 由于字符串 $s$ 可能已损坏,你最终可能无法到达 Planetforces。幸运的是,你可以从 $s$ 中删除一些指令(可以为零),但不能改变它们的顺序。 你能否通过删除若干指令(可能为零),使得系统执行完所有指令后,你正好到达 Planetforces?

输入格式

第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。 每个测试用例包含两行。每个测试用例的第一行包含两个整数 $p_x$ 和 $p_y$($-10^5 \le p_x, p_y \le 10^5$,$(p_x, p_y) \neq (0, 0)$),表示 Planetforces 的坐标 $(p_x, p_y)$。 第二行包含字符串 $s$($1 \le |s| \le 10^5$,$|s|$ 表示字符串 $s$ 的长度),表示指令序列。 保证所有测试用例中 $|s|$ 的总和不超过 $10^5$。

输出格式

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

说明/提示

在第一个样例中,你无需修改 $s$,因为给定的 $s$ 能直接带你到达 Planetforces。 在第二个样例中,你可以删除 $s_2$、$s_3$、$s_4$、$s_6$、$s_7$ 和 $s_8$,使 $s$ 变为 "UR"。 在第三个样例中,你必须删除 $s_9$,否则你无法停在 Planetforces 的位置。 由 ChatGPT 4.1 翻译