Codeforces Round #306 (Div. 2) 550A Two Substrings
2015-06-14 23:39
190 查看
链接:http://codeforces.com/contest/550/problem/A
这是我第一次玩cf这种比赛,前面做了几场练习,觉得div2的前面几个还是比较水的。
所以看到这道题我果断觉得是拼手速的题啊,结果瞬间就一发WA,连pretest都没通过,
然后开始想,发现没那么简单的样子,很多坑的样子,当我写了2个循环把AB BA 都扫一遍时,
认为考虑周全后,觉得能过了,就交,过了pretest,当时看room里面 大多数还没过A呢,觉得很高兴。
然后学长说这题能叉很多人,我不懂什么是叉,后来才知道原来这就是所谓的hack。学长给我数据叫我去hack
别人,说这数据绝对能hack很多人,还截图给我 他们room好多都被他hack了。我点开许多人的代码,各种语言都有的,
看来看去感觉都能过啊,就没去hack了,因为才做了一题,还要做下面的题目。结果当我过了第二题时,突然弹出我被hack的消息。。。
我还想去resubmmit呢,不懂规则也是悲剧啊。把C题不考虑的写了写,交过了pretest,觉得圆满了,谁知道原来这只是部分数据了。
打完第一次cf,懂了很多规则,的确很刺激,好玩,下面就讲A题了。
我搞来搞去,觉得分情况是最保险的了,因为情况数比较少。
扫一遍 得到AB 和 BA的个数a,b
1:如果a,b有一个为0 那么NO
2:如果a ,b都为1 ,那么在原串中找是否存在子串ABA 或者BAB 存在 NO,否则 YES
3:如果a,b中有一个为1,另一个为2,找是否存在子串ABAB,或者BABA 存在NO 否则YES
4如果 a,b >=2 那么不会存在覆盖的问题,YES
代码如下
1 #include<stdio.h> 2 #include<iostream> 3 #include<cstring> 4 #include<stack> 5 #include<queue> 6 #include<ctype.h> 7 #include<math.h> 8 #include<algorithm> 9 #include<string.h> 10 #include<set> 11 using namespace std; 12 const int maxn = 1e5+5; 13 char s[maxn]; 14 int main() 15 { int a = 0,b = 0; 16 cin>>s; 17 int len = strlen(s); 18 for(int i = 0;i<len;i++) 19 { 20 if(s[i]=='A'&&s[i+1]=='B') a++; 21 if(s[i]=='B'&&s[i+1]=='A') b++; 22 } 23 if(!a||!b) puts("NO"); 24 else 25 { 26 if(a==1&&b==1) 27 { 28 if(strstr(s,"ABA")||strstr(s,"BAB")) puts("NO"); 29 else puts("YES"); 30 } 31 else if(a==2&&b==1&&strstr(s,"ABAB")) puts("NO"); 32 else if(b==2&&a==1&&strstr(s,"BABA")) puts("NO"); 33 else puts("YES"); 34 } 35 36 return 0; 37 }
相关文章推荐
- uva 10125和集 sumset(set)
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第一课:游戏原理与机制
- [转载]对iOS开发中内存管理的一点总结与理解
- SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系(补)
- UVA 11300 分金币
- 派生类的访问控制-“三看”原则-派生类类成员访问级别设置的原则
- 派生类的访问控制-“三看”原则-派生类类成员访问级别设置的原则
- Hadoop的一个变长long编码剖析
- 解放双手——Android自动化测试
- OpenCL学习笔记(三):OpenCL安装,编程简介与helloworld
- iOS开发系列--UITableView全面解析
- OpenCL学习笔记(三):OpenCL安装,编程简介与helloworld
- github使用
- 2015061410 - 推荐知乎周刊
- OpenCL学习笔记(三):OpenCL安装,编程简介与helloworld
- 《最后期限》阅读笔记(一)
- mv,Directory not empty不能目录覆盖
- Sidekiq错误处理
- mv,Directory not empty不能目录覆盖
- POJ 3281 Dining 最大流 Dinic算法