311192: CF1948C. Arrow Path

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

C. Arrow Pathtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

There is a grid, consisting of $2$ rows and $n$ columns. The rows are numbered from $1$ to $2$ from top to bottom. The columns are numbered from $1$ to $n$ from left to right. Each cell of the grid contains an arrow pointing either to the left or to the right. No arrow points outside the grid.

There is a robot that starts in a cell $(1, 1)$. Every second, the following two actions happen one after another:

  1. Firstly, the robot moves left, right, down or up (it can't try to go outside the grid, and can't skip a move);
  2. then it moves along the arrow that is placed in the current cell (the cell it ends up after its move).

Your task is to determine whether the robot can reach the cell $(2, n)$.

Input

The first line contains a single integer $t$ ($1 \le t \le 10^4$) — the number of test cases.

The first line of each test case contains a single integer ($2 \le n \le 2 \cdot 10^5$).

The second line contains a string consisting of exactly $n$ characters < and/or > — the first row of the grid.

The third line contains a string consisting of exactly $n$ characters < and/or > — the second row of the grid.

Additional constraints on the input:

  • $n$ is even;
  • there are no arrows pointing outside the grid;
  • the sum of $n$ over all test cases doesn't exceed $2 \cdot 10^5$.
Output

For each test case, print YES if the robot can reach the cell $(2, n)$; otherwise, print NO.

You can print each letter in any case. For example, yes, Yes, YeS will all be recognized as positive answer.

ExampleInput
4
4
>><<
>>><
2
><
><
4
>>><
>><<
6
>><<><
><>>><
Output
YES
YES
NO
YES
Note

In the first example, one of the possible paths looks as follows: $(1, 1) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (2, 3) \rightarrow (2, 4)$.

In the second example, one of the possible paths looks as follows: $(1, 1) \rightarrow (2, 1) \rightarrow (2, 2)$.

In the third example, there is no way to reach the cell $(2, 4)$.

In the fourth example, one of the possible paths looks as follows: $(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (1, 2) \rightarrow (1, 3) \rightarrow (2, 3) \rightarrow (2, 4) \rightarrow (2, 5) \rightarrow (2, 6)$.

Output

题目大意:
有一个由2行n列组成的网格。行从上到下编号为1到2,列从左到右编号为1到n。网格的每个单元格都包含一个指向左或右的箭头。没有箭头指向网格外部。

有一个机器人从单元格(1, 1)开始。每秒钟,按顺序发生以下两个动作:

1. 首先,机器人向左、右、下或上移动(它不能尝试走出网格,也不能跳过移动);
2. 然后它沿着当前单元格(它移动后所在的单元格)中放置的箭头移动。

任务是确定机器人是否能到达单元格(2, n)。

输入输出数据格式:
输入:
- 第一行包含一个整数t(1≤t≤10^4)——测试用例的数量。
- 每个测试用例的第一行包含一个整数(2≤n≤2×10^5)。
- 第二行包含一个由n个<和/或>字符组成的字符串——网格的第一行。
- 第三行包含一个由n个<和/或>字符组成的字符串——网格的第二行。
- 输入的附加限制:
- n是偶数;
- 没有箭头指向网格外部;
- 所有测试用例的n之和不超过2×10^5。

输出:
- 对于每个测试用例,如果机器人可以到达单元格(2, n),则打印YES;否则,打印NO。
- 你可以以任何大小写打印每个字母。例如,yes、Yes、YeS都将被识别为肯定答案。题目大意: 有一个由2行n列组成的网格。行从上到下编号为1到2,列从左到右编号为1到n。网格的每个单元格都包含一个指向左或右的箭头。没有箭头指向网格外部。 有一个机器人从单元格(1, 1)开始。每秒钟,按顺序发生以下两个动作: 1. 首先,机器人向左、右、下或上移动(它不能尝试走出网格,也不能跳过移动); 2. 然后它沿着当前单元格(它移动后所在的单元格)中放置的箭头移动。 任务是确定机器人是否能到达单元格(2, n)。 输入输出数据格式: 输入: - 第一行包含一个整数t(1≤t≤10^4)——测试用例的数量。 - 每个测试用例的第一行包含一个整数(2≤n≤2×10^5)。 - 第二行包含一个由n个<和/或>字符组成的字符串——网格的第一行。 - 第三行包含一个由n个<和/或>字符组成的字符串——网格的第二行。 - 输入的附加限制: - n是偶数; - 没有箭头指向网格外部; - 所有测试用例的n之和不超过2×10^5。 输出: - 对于每个测试用例,如果机器人可以到达单元格(2, n),则打印YES;否则,打印NO。 - 你可以以任何大小写打印每个字母。例如,yes、Yes、YeS都将被识别为肯定答案。

加入题单

上一题 下一题 算法标签: