叶姐要想哥赠送一串比特手链,这个手链由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
T<=5;
长度<=10^6;