题库练习 Mark and Lightbulbs
← 上一题 下一题 →

A15200 | Mark and Lightbulbs

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Mark has just purchased a rack of $n$ lightbulbs. The state of the lightbulbs can be described with binary string $s = s_1s_2\dots s_n$ , where $s_i=\texttt{1}$ means that the $i$ -th lightbulb is turned on, while $s_i=\texttt{0}$ means that the $i$ -th lightbulb is turned off.

Unfortunately, the lightbulbs are broken, and the only operation he can perform to change the state of the lightbulbs is the following:

- Select an index $i$ from $2,3,\dots,n-1$ such that $s_{i-1}\ne s_{i+1}$ .
- Toggle $s_i$ . Namely, if $s_i$ is $\texttt{0}$ , set $s_i$ to $\texttt{1}$ or vice versa.

Mark wants the state of the lightbulbs to be another binary string $t$ . Help Mark determine the minimum number of operations to do so.

输入格式

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

The first line of each test case contains a single integer $n$ ( $3\leq n\leq 2\cdot 10^5$ ) — the number of lightbulbs.

The second line of each test case contains a binary string $s$ of length $n$ — the initial state of the lightbulbs.

The third line of each test case contains a binary string $t$ of length $n$ — the final state of the lightbulbs.

It is guaranteed that the sum of $n$ across all test cases does not exceed $2\cdot 10^5$ .

输出格式

For each test case, print a line containing the minimum number of operations Mark needs to perform to transform $s$ to $t$ . If there is no such sequence of operations, print $-1$ .

输入输出样例

输入 #1
4
4
0100
0010
4
1010
0100
5
01001
00011
6
000101
010011
输出 #1
2
-1
-1
5
C++ 编辑器
输入
输出