CF1615C.Menorah

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There are nn candles on a Hanukkah menorah, and some of its candles are initially lit. We can describe which candles are lit with a binary string ss, where the ii-th candle is lit if and only if si=1s_i=1.

Initially, the candle lights are described by a string aa. In an operation, you select a candle that is currently lit. By doing so, the candle you selected will remain lit, and every other candle will change (if it was lit, it will become unlit and if it was unlit, it will become lit).

You would like to make the candles look the same as string bb. Your task is to determine if it is possible, and if it is, find the minimum number of operations required.

烛台上有 nn 支蜡烛,其中部分蜡烛初始时处于点燃状态。我们可以用一个二进制字符串 ss 来描述哪些蜡烛被点燃:当且仅当 si=1s_i = 1 时,第 ii 支蜡烛被点燃。

初始时,蜡烛的点燃状态由字符串 aa 描述。在一次操作中,你需选择一支当前已被点燃的蜡烛;执行该操作后,你所选的这支蜡烛保持点燃状态,而其余所有蜡烛的状态均发生翻转(即:原本点燃的变为熄灭,原本熄灭的变为点燃)。

你的目标是使蜡烛的最终点燃状态与字符串 bb 所描述的状态完全一致。请判断该目标是否可达;若可达,请找出所需的最少操作次数。

输入格式

The first line contains an integer tt (1≤t≤1041\le t\le 10^4) — the number of test cases. Then tt cases follow.

The first line of each test case contains a single integer nn (1≤n≤1051\le n\le 10^5) — the number of candles.

The second line contains a string aa of length nn consisting of symbols 0 and 1 — the initial pattern of lights.

The third line contains a string bb of length nn consisting of symbols 0 and 1 — the desired pattern of lights.

It is guaranteed that the sum of nn does not exceed 10510^5.

第一行包含一个整数 tt(1≤t≤1041\le t\le 10^4)——测试用例的数量。随后是 tt 个测试用例。

每个测试用例的第一行包含一个整数 nn(1≤n≤1051\le n\le 10^5)——蜡烛的数量。

第二行包含一个长度为 nn 的字符串 aa,由字符 0 和 1 组成——灯光的初始模式。

第三行包含一个长度为 nn 的字符串 bb,由字符 0 和 1 组成——灯光的目标模式。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

For each test case, output the minimum number of operations required to transform aa to bb, or −1-1 if it's impossible.

对于每个测试用例,输出将 aa 变换为 bb 所需的最少操作次数;如果无法实现,则输出 −1-1。

输入输出样例

  • 输入#1

    5
    5
    11010
    11010
    2
    01
    11
    3
    000
    101
    9
    100010111
    101101100
    9
    001011011
    011010101

    输出#1

    0
    1
    -1
    3
    4

说明/提示

In the first test case, the two strings are already equal, so we don't have to perform any operations.

In the second test case, we can perform a single operation selecting the second candle to transform 0101 into 1111.

In the third test case, it's impossible to perform any operations because there are no lit candles to select.

In the fourth test case, we can perform the following operations to transform aa into bb:

  1. Select the 77-th candle: 100010111→011101100100010{\color{red}1}11\to 011101{\color{red} 1}00.
  2. Select the 22-nd candle: 011101100→1100100110{\color{red} 1}1101100\to 1{\color{red} 1}0010011.
  3. Select the 11-st candle: 110010011→101101100{\color{red}1}10010011\to {\color{red}1}01101100.

In the fifth test case, we can perform the following operations to transform aa into bb:

  1. Select the 66-th candle: 001011011→11010110000101{\color{red}1}011\to 11010{\color{red}1}100
  2. Select the 22-nd candle: 110101100→0110100111{\color{red}1}0101100\to 0{\color{red}1}1010011
  3. Select the 88-th candle: 011010011→1001011100110100{\color{red}1}1\to 1001011{\color{red}1}0
  4. Select the 77-th candle: 100101110→011010101100101{\color{red}1}10\to 011010{\color{red}1}01

在第一个测试用例中,两个字符串已经相等,因此无需执行任何操作。

在第二个测试用例中,我们可以执行一次操作,选择第二支蜡烛,将 0101 变为 1111。

在第三个测试用例中,无法执行任何操作,因为不存在已点燃的蜡烛可供选择。

在第四个测试用例中,我们可以通过以下操作将 aa 变为 bb:

  1. 选择第 77 支蜡烛:100010111→011101100100010{\color{red}1}11\to 011101{\color{red} 1}00。
  2. 选择第 22 支蜡烛:011101100→1100100110{\color{red} 1}1101100\to 1{\color{red} 1}0010011。
  3. 选择第 11 支蜡烛:110010011→101101100{\color{red}1}10010011\to {\color{red}1}01101100。

在第五个测试用例中,我们可以通过以下操作将 aa 变为 bb:

  1. 选择第 66 支蜡烛:001011011→11010110000101{\color{red}1}011\to 11010{\color{red}1}100。
  2. 选择第 22 支蜡烛:110101100→0110100111{\color{red}1}0101100\to 0{\color{red}1}1010011。
  3. 选择第 88 支蜡烛:011010011→1001011100110100{\color{red}1}1\to 1001011{\color{red}1}0。
  4. 选择第 77 支蜡烛:100101110→011010101100101{\color{red}1}10\to 011010{\color{red}1}01。

输入解题思路,AI测评打分。不知道怎么写?

首页