10442. Дрон
Дрон находится на координатной
плоскости XY и начинает свое движение из точки (0, 0), каждую секунду
передвигаясь на одну единицу вдоль оси X или Y. Вдоль
координатных осей можно передвигаться в обоих направлениях. После исполнения
команд передвижения, в конце пути дрон взрывается. Определите координаты взрыва
дрона.
Вдоль оси X движение
вперед обозначается знаком “>”, а движение назад знаком “<”.
Вдоль оси Y движение
вперед обозначается знаком “^”, а движение назад знаком “v”.
Вход. В первой строке дается одно целое
число t (1 ≤ t ≤ 100) – количество тестов.
В каждой из последующих t строк задается последовательность s (1 ≤
|s| ≤ 1000) символов, обозначающих передвижение дрона. Через |s|
здесь обозначена длина строки s.
Выход. Для каждого теста выведите в
отдельной строке два целых числа – координаты X и Y взрыва
дрона.
Пример
входа |
Пример
выхода |
2 >>^ >>^^v< |
2 1 1 1 |
моделирование
Инициализируем
начальное положение дрона (x, y) = (0, 0). Читаем входную последовательность s, описывающую передвижение
дрона. Моделируем движение дрона и выводим координаты конца пути – координаты
взрыва дрона.
Реализация алгоритма
Читаем количество тестов tests.
cin >> tests;
while (tests--)
{
Читаем
последовательность s передвижения дрона.
cin >> s;
Пусть
изначально дрон находится в точке с координатами (0, 0).
x = y = 0;
Моделируем
движение дрона. Для каждого символа s[i] изменяем координаты дрона.
for (i = 0; i < s.size();
i++)
{
if (s[i] == '>') x++;
if (s[i] == '<') x--;
if (s[i] == '^') y++;
if (s[i] == 'v') y--;
}
Выводим
координаты взрыва дрона.
cout << x << " " << y << endl;
}