atcoder#ARC151A. [ARC151A] Equal Hamming Distances

[ARC151A] Equal Hamming Distances

题目描述

以下では、01 のみからなる文字列を 01 01 列と呼びます。

2 2 つの長さ N N 01 01 S, T S,\ T が与えられます。 下記の条件を満たす長さ N N 01 01 U U のうち辞書順最小のものを出力してください。

  • S S U U のハミング距離は、T T U U のハミング距離に等しい。

ただし、そのような長さ N N 01 01 U U が存在しない場合は、代わりに 1 -1 を出力してください。

ハミング距離とは?01 01 X = X1X2 XN X\ =\ X_1X_2\ldots\ X_N 01 01 Y = Y1Y2 YN Y\ =\ Y_1Y_2\ldots\ Y_N ハミング距離は、Xi  Yi X_i\ \neq\ Y_i を満たす整数 1  i  N 1\ \leq\ i\ \leq\ N の個数です。

辞書順とは?01 01 X = X1X2 XN X\ =\ X_1X_2\ldots\ X_N 01 01 Y = Y1Y2 YN Y\ =\ Y_1Y_2\ldots\ Y_N より辞書順で小さいとは、下記の 2 2 つの条件をともに満たす整数 1  i  N 1\ \leq\ i\ \leq\ N が存在することを言います。

  • X1X2 Xi1 = Y1Y2 Yi1 X_1X_2\ldots\ X_{i-1}\ =\ Y_1Y_2\ldots\ Y_{i-1}
  • Xi = X_i\ = 0 かつ Yi = Y_i\ = 1

输入格式

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

N N S S T T

输出格式

問題文中の条件を満たす長さ N N 01 01 U U のうち辞書順最小のものを出力せよ。 ただし、そのような 01 01 U U が存在しない場合は、代わりに 1 -1 を出力せよ。

题目大意

题目描述

给定两个长度均为NN0101序列SSTT。求某一个字典序最小的0101序列UU,长度也为NN,使SSUU的汉明距离等于TTUU的汉明距离。

若有解,输出字典序最小的解;若无解,输出1-1

汉明距离:两个长度相同的0101序列的汉明距离定义为对应不相等的位置数量。

输入格式

共三行:

第一行一个整数NN

第二行一个长度为NN0101序列SS

第二行一个长度为NN0101序列TT

输出格式

若有解,输出字典序最小的解;若无解,输出1-1

样例1解释

U=00001U=00001时,SSUU的汉明距离、TTUU的汉明距离都是22

样例2解释

没有符合条件的0101序列。

数据范围与提示

1N2×1051≤N≤2×10^5

NN是整数。

SSTT是长度均为NN0101个序列。

5
00100
10011
00001
1
0
1
-1

提示

制約

  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • N N は整数
  • S, T S,\ T は長さ N N 01 01

Sample Explanation 1

U = U\ = 00001とおくと、S S U U のハミング距離と、T T U U のハミング距離はどちらも 2 2 です。 また、これが問題文中の条件を満たす長さ N N 01 01 U U のうち辞書順最小です。

Sample Explanation 2

問題文中の条件を満たす長さ N N 01 01 U U が存在しないため、1 -1 を出力します。