6_9C 奇怪的开关II

6_9C 奇怪的开关II

Problem C. 奇怪的开关II

时间限制:2000ms

内存限制:256MB

Background

前文见悬赏令3C

自从小王同学成功地从那个房子里走了出来后,那房子就消失了。可是这天小王在路上走着,发现那个房子又出现了。小王感觉很神奇,一个房子能凭空消失又再次出现。有了上次的经验,小王再次走了进去,这次场景和之前差不多,但是纸条的内容变了。

Description

这次纸条的意思是房子一共有 \(n\) 个房间,每个房间都有一些灯泡,状态用 \(0\) 和 \(1\) 表示(\(0\)表示关闭,\(1\)表示打开)。现在每个灯泡都有一个奇怪的开关,按下这个开关,**如果对应的灯泡是亮的,那么除了对应的灯泡其他灯泡都会变成相反的状态;否则将不会发生任何事情**。每个房间所有灯泡的状态可以组成一个 \(01\) 串 \(s\) 。每个房间都有一个目标 \(01\) 串 \(t\) ,只有找到每个房间内将灯泡状态 \(s\) 变为目标状态 \(t\) 的最短操作次数,或者报告这不可能实现,小王才能再次从这个房子里出去。

Input

第一行一个整数 \(n\) ,代表 \(n\) 个房间。

每个房间的输入有三行。第一行一个整数 \(m\) ,\(m\) 表示灯泡总数;

第二行是一个 \(01\) 串,代表着房间初始灯泡状态。

第三行也是一个 \(01\) 串,代表着目标状态。

Output

每个房间输出一个整数,非负整数代表最小操作次数,\(-1\) 代表不可能变成目标状态。

Sample Input

2
9
100010111
101101100
3
000
101

Sample Output

3
-1

解释:第一个房间的操作方式为

100010\(\color{Red}1\)11 -> 011101\(\color{Red}1\)00

0\(\color{Red}1\)1101100 -> 1\(\color{Red}1\)0010011

\(\color{Red}1\)10010011 -> \(\color{Red}1\)01101100

Data range

对于50% 数据,\(1 \leq \sum m \leq 1000\);
对于 100% 数据,\(1 \leq \sum m \leq 10^5\),\(1 \leq n \leq 10^4\)。

信息

ID
1410
难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者