CF1215C.Swap Letters
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Monocarp has got two strings s and t having equal length. Both strings consist of lowercase Latin letters "a" and "b".
Monocarp wants to make these two strings s and t equal to each other. He can do the following operation any number of times: choose an index pos1 in the string s , choose an index pos2 in the string t , and swap spos1 with tpos2 .
You have to determine the minimum number of operations Monocarp has to perform to make s and t equal, and print any optimal sequence of operations — or say that it is impossible to make these strings equal.
输入格式
The first line contains one integer n (1≤n≤2⋅105) — the length of s and t .
The second line contains one string s consisting of n characters "a" and "b".
The third line contains one string t consisting of n characters "a" and "b".
输出格式
If it is impossible to make these strings equal, print −1 .
Otherwise, in the first line print k — the minimum number of operations required to make the strings equal. In each of the next k lines print two integers — the index in the string s and the index in the string t that should be used in the corresponding swap operation.
输入输出样例
输入#1
4 abab aabb
输出#1
2 3 3 3 2
输入#2
1 a b
输出#2
-1
输入#3
8 babbaabb abababaa
输出#3
3 2 6 1 3 7 8
说明/提示
In the first example two operations are enough. For example, you can swap the third letter in s with the third letter in t . Then $s = $ "abbb", $t = $ "aaab". Then swap the third letter in s and the second letter in t . Then both s and t are equal to "abab".
In the second example it's impossible to make two strings equal.