#LQ1417. 翻转
翻转
问题描述
小蓝用黑白棋的 个棋子排成了一行,他在脑海里想象出了一个长度为 的 01
串 ,他发现如果把黑棋当做 1
,白棋当做 0
,这一行棋子也是一个长度为 的 01
串 。
小蓝决定,如果在 中发现一个棋子和它两边的棋子都不一样,就可以将其翻转变成另一个颜色。也就是说,如果 中存在子串 101
或者 010
,就可以选择将其分别变为 111
和 000
,这样的操作可以无限重复。
小蓝想知道最少翻转多少次可以把 变成和 一模一样。
输入格式
输入包含多组数据。
输入的第一行包含一个正整数 表示数据组数。
后面 行每行包含一个 01
串,每两行为一组数据,第 行为第 组数据的 ,第 行为第 组数据的 , 和 长度均为 。
输出格式
对于每组数据,输出一行包含一个整数,表示答案,如果答案不存在请输出 -1
。
样例
2
1000111
1010101
01000
11000
2
-1
评测用例规模与约定
对于 的评测用例,;
对于所有评测用例,保证 ,。