#include<bits/stdc++.h>
using namespace std;
string s;
char ans[200007][7];
char anss[200007][7];
int main(){
cin>>s;
int n=s.size();
int sta=0;
int cnt=1;
int flag=0;
ans[cnt][0]=s[0];
//把字符串分割成一个字符,两个字符,一个字符,两个字符。。。
//因为前后字符数量不一样,所以肯定不相同。如果这个字符和上一个不一样,就分割成一个字符,一个字符,一个字符。。。
for(int i=1;i<n;++i){
if(s[sta]==s[i]&&flag==0){//当这个字符和前一个一样时
if(i+1<n){//如果后面还有字符,就把这两个字符放在一段
cnt++;
flag=1;
i++;
ans[cnt][0]=s[i-1];
ans[cnt][1]=s[i];
}
else if(i==1)//如果后面没有字符,就把这个字符和前一段合并,当前面没有字符时,就和上一个字符合并,此时就会少一段,例如s=aa
cnt--;
}
else if(s[sta]!=s[i]&&flag==0){
cnt++;
sta=i;
ans[cnt][0]=s[i];
}
else if(flag==1){
cnt++;
sta=i;
flag=0;
ans[cnt][0]=s[i];
}
}
cout<<cnt;
return 0;
}

最新文章

  1. PHP编码规范PSR-2
  2. iOS数据库学习(1)-安装Navicat
  3. mysql时间格式化,按时间段查询MYSQL语句
  4. java中.equals和==的区别?
  5. mysql-添加删除字段
  6. [Angular 2] Using the @Inject decorator
  7. Sql Server数据库设计高级查询
  8. nuget挂了吗?
  9. MatrixTree速成
  10. git分支与主干合并操作
  11. [源码]Python简易http服务器(内网渗透大文件传输含下载命令)
  12. php学习----运算符
  13. 【NOI2003——搜索+二分图匹配优化】
  14. python机器学习-sklearn挖掘乳腺癌细胞(一)
  15. linux+jenkins+jmeter+ant持续集成
  16. form表单数据进行json转换
  17. Linux下查看系统启动 、运行以及安装时间
  18. Debian8 系统修改语言设置成英文
  19. .NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练
  20. 2018-北航-面向对象第三次OO作业分析与小结

热门文章

  1. linux 磁盘100% 清理
  2. 理解Javascript的原型和原型链
  3. js 页面滚动到指定位置
  4. php 基础 二维数组以某个重复值累加
  5. CSS - div中的文字不换行,超出宽度就用省略号表示
  6. opencv:opencv概述
  7. java平衡二叉树AVL数
  8. mybatis 源码分析--日志分析
  9. 消息队列(五) ---RocketMQ-消息存储3
  10. android studio中project structure配置