310893: CF1906B. Button Pressing

Memory Limit:1024 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

B. Button Pressingtime limit per test1 secondmemory limit per test1024 megabytesinputstandard inputoutputstandard output

You are given $N$ buttons (numbered from $1$ to $N$) and $N$ lamps (numbered from $1$ to $N$). Each lamp can either be on or off. Initially, lamp $i$ is on if $A_i = 1$, and off if $A_i = 0$.

Button $i$ is connected to lamp $i - 1$ (if $i > 1$) and lamp $i + 1$ (if $i < N$). In one move, you can press a button $i$ only if lamp $i$ is on. When a button is pressed, the state of the lamps connected to this button is toggled. Formally, the lamps will be on if it was off previously, and the lamps will be off if it was on previously. Note that lamp $i$ is not connected to button $i$, thus, the state of lamp $i$ does not change if button $i$ is pressed.

After zero or more moves, you want lamp $i$ to be on if $B_i = 1$, and off if $B_i = 0$. Determine if it is possible to achieve this task.

Input

This problem has multiple test cases. The first line consists of an integer $T$ ($1 \leq T \leq 1000$), which represents the number of test cases. Each test case consists of three lines.

The first line of each test case consists of an integer $N$ ($3 \le N \le 200\,000$). The sum of $N$ over all test cases does not exceed $200\,000$.

The second line of each test case consists of a string $A$ of length $N$. Each character of $A$ can either be 0 or 1. The $i$-th character represents the initial state of lamp $i$.

The third line of each test case consists of a string $A$ of length $N$. Each character of $B$ can either be 0 or 1. The $i$-th character represents the desired final state of lamp $i$.

Output

For each test case, output YES in a single line if the final state of all lamps can be reached after zero or more moves, or NO otherwise.

ExamplesInput
2
4
0101
0100
3
000
010
Output
YES
NO
Input
5
7
0101011
1111010
5
11111
00000
4
1101
1101
6
101010
100100
3
000
000
Output
NO
NO
YES
YES
YES
Note

Explanation for the sample input/output #1

For the first test case, by pressing the buttons $4, 2, 4, 3, 1, 2$ in sequence, the condition of the buttons changes as: $0101 \rightarrow 0111 \rightarrow 1101 \rightarrow 1111 \rightarrow 1010 \rightarrow 1110 \rightarrow 0100$.

For the second test case, you are unable to press any button, hence it is impossible to reach the final state.

Output

题目大意:
你面前有 N 个按钮(编号从 1 到 N)和 N 个灯泡(编号也是从 1 到 N)。每个灯泡可以处于开启或关闭状态。一开始,如果 Ai = 1,那么灯泡 i 是亮的,如果 Ai = 0,则是关的。

按钮 i 连接到灯泡 i-1(如果 i > 1)和灯泡 i+1(如果 i < N)。在一次操作中,你只能按一个按钮 i,当且仅当灯泡 i 是亮的。当按钮被按下时,与这个按钮相连的灯泡的状态会切换。具体来说,如果灯泡之前是关的,那么它会变亮;如果灯泡之前是亮的,那么它会变关。注意,灯泡 i 并不连接到按钮 i,所以即使按钮 i 被按下,灯泡 i 的状态也不会改变。

在零次或多次操作之后,你希望灯泡 i 能够在 Bi = 1 时亮起,在 Bi = 0 时关闭。确定是否能够完成这个任务。

输入输出数据格式:
输入:
- 第一行包含一个整数 T(1 ≤ T ≤ 1000),代表测试用例的数量。
- 每个测试用例包含三行:
- 第一行是一个整数 N(3 ≤ N ≤ 200,000)。所有测试用例的 N 之和不超过 200,000。
- 第二行是一个长度为 N 的字符串 A,由 0 和 1 组成,第 i 个字符代表灯泡 i 的初始状态。
- 第三行是一个长度为 N 的字符串 B,同样由 0 和 1 组成,第 i 个字符代表灯泡 i 的期望最终状态。

输出:
- 对于每个测试用例,如果所有灯泡的最终状态可以通过零次或多次操作达到,输出一行 YES,否则输出 NO。题目大意: 你面前有 N 个按钮(编号从 1 到 N)和 N 个灯泡(编号也是从 1 到 N)。每个灯泡可以处于开启或关闭状态。一开始,如果 Ai = 1,那么灯泡 i 是亮的,如果 Ai = 0,则是关的。 按钮 i 连接到灯泡 i-1(如果 i > 1)和灯泡 i+1(如果 i < N)。在一次操作中,你只能按一个按钮 i,当且仅当灯泡 i 是亮的。当按钮被按下时,与这个按钮相连的灯泡的状态会切换。具体来说,如果灯泡之前是关的,那么它会变亮;如果灯泡之前是亮的,那么它会变关。注意,灯泡 i 并不连接到按钮 i,所以即使按钮 i 被按下,灯泡 i 的状态也不会改变。 在零次或多次操作之后,你希望灯泡 i 能够在 Bi = 1 时亮起,在 Bi = 0 时关闭。确定是否能够完成这个任务。 输入输出数据格式: 输入: - 第一行包含一个整数 T(1 ≤ T ≤ 1000),代表测试用例的数量。 - 每个测试用例包含三行: - 第一行是一个整数 N(3 ≤ N ≤ 200,000)。所有测试用例的 N 之和不超过 200,000。 - 第二行是一个长度为 N 的字符串 A,由 0 和 1 组成,第 i 个字符代表灯泡 i 的初始状态。 - 第三行是一个长度为 N 的字符串 B,同样由 0 和 1 组成,第 i 个字符代表灯泡 i 的期望最终状态。 输出: - 对于每个测试用例,如果所有灯泡的最终状态可以通过零次或多次操作达到,输出一行 YES,否则输出 NO。

加入题单

上一题 下一题 算法标签: