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