Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
代码查错
SQL转换
代码生成
Dotcpp
>
编程题库
>
蓝桥杯2023年第十四届省赛真题-翻转
题目 3160:
蓝桥杯2023年第十四届省赛真题-翻转
时间限制: 2s
内存限制: 320MB
提交: 5624 解决: 1493
题目描述
小蓝用黑白棋的 n 个棋子排成了一行,他在脑海里想象出了一个长度为 n 的 01 串 T,他发现如果把黑棋当做 1,白棋当做 0,这一行棋子也是一个长度为 n 的 01 串 S。
小蓝决定,如果在 S 中发现一个棋子和它两边的棋子都不一样,就可以将其翻转变成另一个颜色。也就是说,如果 S 中存在子串 101 或者 010,就可以选择将其分别变为 111 和 000,这样的操作可以无限重复。
小蓝想知道最少翻转多少次可以把 S 变成和 T 一模一样。
输入格式
输入包含多组数据。
输入的第一行包含一个正整数 D 表示数据组数。
后面 2D 行每行包含一个 01 串,每两行为一组数据,第 2i − 1 行为第 i 组
数据的 T
i
,第 2i 行为第 i 组数据的 S
i
,S
i
和 T
i
长度均为 n
i
。
输出格式
对于每组数据,输出一行包含一个整数,表示答案,如果答案不存在请输出 −1。
样例输入
复制
2 1000111 1010101 01000 11000
样例输出
复制
2 -1
提示
对于 20% 的评测用例,1 ≤∑
D
1
n
i
≤ 10 ;
对于所有评测用例,保证 1 ≤∑
D
1
n
i
≤ 10
6
,n
i
> 0 。
标签
显示知识点标签
蓝桥杯
C
C++
Java
Python
PHP
代码重置
开启O2优化
分享
收藏
提交
在线测试
上一题
下一题
通过率
统 计
解题报告
我要看题解
我来写题解
推荐题目
蓝桥杯2024年第十五届决赛真题-兔子集结
蓝桥杯2024年第十五届省赛真题-好数
蓝桥杯2024年第十五届省赛真题-R 格式
蓝桥杯2024年第十五届决赛真题-旋转九宫格
蓝桥杯2024年第十五届决赛真题-最长子段