#732. 汉明距离

汉明距离

题目描述

两个等长字符串之间的"汉明距离"定义为:对应位置上不同字符的个数。

给定一个长度为 n 的二进制字符串(只包含 '0' 和 '1'),再给定一个目标二进制字符串。你可以对原字符串执行以下操作:选择某一位,把 '0' 变成 '1',或把 '1' 变成 '0'。

问最少操作几次,才能使原字符串变为目标字符串?并输出所有需要翻转的位置编号(从 1 开始编号,按升序输出)。

输入格式

第一行一个整数 n。 第二行一个长度为 n 的二进制字符串,表示原字符串。 第三行一个长度为 n 的二进制字符串,表示目标字符串。

输出格式

第一行一个整数,表示最少操作次数。 第二行若干个整数(空格分隔),表示需要翻转的位置编号(从 1 开始)。如果操作次数为 0,第二行输出空行。

8
01101001
01010110
6
3 4 5 6 7 8
4
1010
1010
0

数据范围与提示

1n100001 ≤ n ≤ 10000。