题目传送门
这道题可以用贪心来做
先遍历一遍,然后划分,定义一个字符串来记录选择的子串,如果当前选择的子串和上一个选择的子串不同,然后清空当前的字符串,计数器累加,最后输出计数器。
代码亲测有效
#include <bits/stdc++.h> using namespace std; string st,s1="",s2=""; int ans,i; int main(){ cin>>st; int len=st.length(); while(i<len){ s1=s1+st[i]; if(s1!=s2){ //前后子串不一样 s2=s1,s1=""; //注意要清空 ans++; //计数器累加 } i++; } cout<<ans<<endl; return 0; }