比特手链

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

叶姐要想哥赠送一串比特手链,这个手链由0和1组成。想哥买了手链B,无意间得知叶姐想要同样长度的手链A。想哥囊中羞涩,只能手工调整手链。他希望最少通过以下操作进行最少步骤把B变成A。注意:A != B

对于一个串S:
操作1——选择下标i,j,i != j:
	·result = S[i] & S[j]
	·S[i] = result & S[i]
	·S[j] = result & S[j]


操作2——选择下标i,j,i != j:
	·result = S[i] | S[j]
	·S[i] = result | S[i]
	·S[j] = result | S[j]


操作3——选择下标i,j,i != j:
	·result = S[i] ^ S[j]
	·S[i] = result ^ S[i]
	·S[j] = result ^ S[j]

问想哥最少多少步能达成心愿。如果想哥无法达成心愿,输出-1。

输入

第一个数为数据组数T

接下来2T行,第2i - 1行为手链B,第2i行为手链A

输出

对于每组数据,输出一行,最少的步骤数。特别地,如果无法达成,输出-1。

输入样例

2
101
010
1111
1010

输出样例

2
-1

Hint

T<=5;
长度<=10^6;
 

相关推荐