AT_arc216_a.[ARC216A] Reversi 3

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

0 と 1 からなる長さ $ N $ の文字列 $ A,B $ が与えられます. $ A $ の $ i $ 文字目を $ A_i $ とします.

あなたは以下の操作を $ 0 $ 回以上好きな回数行うことができます.

  • $ A_{i-1}=A_{i+1} $ を満たす整数 $ i\ (2\leq i\leq N-1) $ を選び, $ A_i $ を反転する(1 ならば 0 に,0 ならば 1 にする).

操作を繰り返すことで $ A $ を $ B $ に一致させることができるか判定し,可能ならば一致させるために必要な操作回数の最小値を求めてください.

$ T $ 個のテストケースが与えられるので,それぞれについて答えを求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

$ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $

各テストケースは以下の形式で与えられる.

$ N $ $ A $ $ B $

输出格式

$ \mathrm{case}_1,\mathrm{case}_2,\ldots,\mathrm{case}_T $ に対する答えを以下の形式で出力せよ.

$ A $ を $ B $ に一致させることができない場合,-1 と出力せよ.

一致させることができる場合,必要な操作回数の最小値を出力せよ.

输入输出样例

  • 输入#1

    4
    4
    0001
    0111
    6
    101101
    011100
    5
    10101
    10101
    10
    0101000101
    0011100111

    输出#1

    2
    -1
    0
    6

说明/提示

Sample Explanation 1

$ 1 $ つ目のテストケースについて,以下のように $ 2 $ 回の操作を行うことで $ A $ を $ B $ に一致させることができます.

  1. $ i = 2 $ を選ぶ. $ A $ は 0101 となる.
  2. $ i = 3 $ を選ぶ. $ A $ は 0111 となる.

$ 2 $ つ目のテストケースについて,どのように操作しても $ A $ を $ B $ に一致させることはできません.

Constraints

  • $ 1\leq T\leq 2\times 10^5 $
  • $ 3\leq N\leq 10^6 $
  • $ A,B $ は 0 と 1 からなる長さ $ N $ の文字列
  • $ T,N $ は整数
  • 全てのテストケースに対する $ N $ の総和は $ 10^6 $ 以下

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

首页