P9626 [ICPC 2020 Nanjing R] Evil Coordinate

题目描述

一个机器人站在一个无限的二维平面上。它被编程为一个长度为 $n$ 的字符串 $s_1s_2\cdots s_n$,其中 $s_i \in \{\text{`U'}, \text{`D'}, \text{`L'}, \text{`R'}\}$,机器人将从 $(0, 0)$ 开始移动,并按照字符串中的字符指令进行移动。 更正式地说,设 $(x, y)$ 为机器人的当前位置。机器人从 $(0, 0)$ 开始,重复以下过程 $n$ 次。在第 $i$ 次时: - 如果 $s_i = \text{U}$,机器人从 $(x, y)$ 移动到 $(x, y+1)$; - 如果 $s_i = \text{D}$,机器人从 $(x, y)$ 移动到 $(x, y-1)$; - 如果 $s_i = \text{L}$,机器人从 $(x, y)$ 移动到 $(x-1, y)$; - 如果 $s_i = \text{R}$,机器人从 $(x, y)$ 移动到 $(x+1, y)$。 然而,在坐标 $(m_x, m_y)$ 下埋有一个地雷。如果机器人在移动过程中踩到 $(m_x, m_y)$,它将被炸成碎片。可怜的机器人! 你的任务是重新排列字符串中的字符,使得机器人不会踩到 $(m_x, m_y)$。

输入格式

有多个测试用例。输入的第一行包含一个整数 $T$,表示测试用例的数量。对于每个测试用例: 第一行包含两个整数 $m_x$ 和 $m_y$ ($-10^9 \le m_x, m_y \le 10^9$),表示地雷的坐标。 第二行包含一个字符串 $s_1s_2\cdots s_n$,长度为 $n$ ($1 \le n \le 10^5$, $s_i \in \{\text{`U'}, \text{`D'}, \text{`L'}, \text{`R'}\}$),表示编程到机器人中的字符串。 保证所有测试用例的 $n$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例输出一行。如果存在有效答案,打印重新排列后的字符串,否则打印 "Impossible"。如果有多个有效答案,可以打印其中任意一个。

说明/提示

题面翻译由 ChatGPT-4o 提供。