Dotcpp  >  编程题库  >  蓝桥杯2023年第十四届省赛真题-填充
题目 3159:

蓝桥杯2023年第十四届省赛真题-填充

时间限制: 5s 内存限制: 576MB 提交: 3616 解决: 1207

题目描述

有一个长度为 n 的 01 串,其中有一些位置标记为 ?,这些位置上可以任意填充 0 或者 1,请问如何填充这些位置使得这个 01 串中出现互不重叠的 00 和 11 子串最多,输出子串个数。

输入格式

输入一行包含一个字符串。

输出格式

输出一行包含一个整数表示答案。

样例输入

1110?0

样例输出

2

提示

如果在问号处填 0 ,则最多出现一个 00 和一个 11:111000 。

对于所有评测用例,1 ≤ n ≤ 1000000 。


标签