链接网站logo,兰州正规seo整站优化,建设通网,做网站前端需要懂得点击此处查看原题
*思路#xff1a;首先要求 00 11 尽可能的多#xff0c;所以尽可能多的多配对#xff0c;配对只在i , i 1之间发生#xff0c;所以只需要关注str[i] 和 str[i 1]即可#xff0c;如果str[i] str[i 1] #xff0c;那么一定配对#x…点击此处查看原题
*思路首先要求 00 11 尽可能的多所以尽可能多的多配对配对只在i , i 1之间发生所以只需要关注str[i] 和 str[i 1]即可如果str[i] str[i 1] 那么一定配对res , 否则说明只有 str[i] 0 str[i 1] 1 或者 str[i] 1 str[i 1] 0 两种情况对于这种情况直接跳过如果str[i] 或者 str[i 1]中的某一个是的话那么一定可以和下一个字符匹配所以res,如果是,那么随便是 11 和 00 都可以不必担心后面的数假如??00 2 , ?? 01 1 ,?? 11 2,??10 1 说明当前的 str[i] 和 str[i 1]无关的。所以只需分 str[i] str[i 1] 和 str[i] 或str[i 1] 中有一个为即可
#include iostream
#include algorithmusing namespace std;const int N 1e6 10;int main()
{string str;cin str;int res 0;for(int i 0 ; i str.size() - 1 ;i ){if(str[i] str[i 1]){res ;i ;}else if(str[i 1] ? || str[i] ?){res ;i ;}}cout res endl;return 0;
}