第十四届蓝桥杯C++C组真题 填充 分类讨论

164 阅读1分钟

1.填充 - 蓝桥云课 (lanqiao.cn)

视频解析: 14届蓝桥杯C++C组 填充 模拟_哔哩哔哩_bilibili

视频解析:第十四届蓝桥杯C++C组真题 填充 知识点:分类讨论_哔哩哔哩_bilibili

#include<bits/stdc++.h>
using namespace std;
int cnt,count0,count1;
int main()
{
	string s;cin>>s;
	
	
	for(int i=0;i<s.size();i++)
	{
		if(s[i]=='1')
		{
		count1++;
			
			if(count1==2)
			{
				cnt++;
				count1=0;
			}
			count0=0;
		}
		else if(s[i]=='0')
		{
			count0++;
			if(count0==2)
			{
				cnt++;
				count0=0;
			}
			count1=0;
		}
		else
		{
			if(count1)
			{
				cnt++;
				count1=0;
			}
		
			else if(count0)
			{
				cnt++;
				count0=0;
			}
			
			else if(i!=s.size()-1)
			{
				if(s[i+1]=='1')
				{
					count1++;
				}
				else
				{
					count0++;
				}
			}
		}
	}
	cout<<cnt<<endl;
	return 0;
}