Олимпиадный тренинг

Задача . A. Космическая навигация


Однажды вам приснилось, будто вы отправились на планету 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\), но вы не можете менять их порядок.

Можете ли вы удалить несколько (возможно, ни одной) команд из \(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\).

Выходные данные

Для каждого набора входных данных выведите «YES», если вы можете удалить несколько (возможно, ни одной) команд \(s\) так, что вы достигнете Planetforces. В противном случае выведите «NO». Вы можете выводить какую букву в любом регистре.

Примечание

В первом наборе входных данных вам не нужно никак изменять \(s\), так как заданная \(s\) доставит вас на Planetforces.

Во втором наборе вы можете удалить команды \(s_2\), \(s_3\), \(s_4\), \(s_6\), \(s_7\) и \(s_8\), и \(s\) станет равна «UR».

В третьем наборе вы должны удалить команду \(s_9\), в противном случае вы не закончите полет в позиции планеты Planetforces.


Примеры
Входные данныеВыходные данные
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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя