CF->CodeForces 137A
来源:互联网 发布:js 数组去掉最后一个 编辑:程序博客网 时间:2024/05/02 01:42
Description
Polycarpus has postcards and photos hung in a row on the wall. He decided to put them away to the closet and hang on the wall a famous painter's picture. Polycarpus does it like that: he goes from the left to the right and removes the objects consecutively. As Polycarpus doesn't want any mix-ups to happen, he will not carry in his hands objects of two different types. In other words, Polycarpus can't carry both postcards and photos simultaneously. Sometimes he goes to the closet and puts the objects there, thus leaving his hands free. Polycarpus must put all the postcards and photos to the closet. He cannot skip objects. What minimum number of times he should visit the closet if he cannot carry more than 5 items?
Input
The only line of the input data contains a non-empty string consisting of letters "С" and "P" whose length does not exceed 100 characters. If the i-th character in the string is the letter "С", that means that the i-th object (the numbering goes from the left to the right) on Polycarpus' wall is a postcard. And if the i-th character is the letter "P", than the i-th object on the wall is a photo.
Output
Print the only number — the minimum number of times Polycarpus has to visit the closet.
Sample Input
CPCPCPC
7
CCCCCCPPPPPP
4
CCCCCCPPCPPPPPPPPPP
6
CCCCCCCCCC
2
Hint
In the first sample Polycarpus needs to take one item to the closet 7 times.
In the second sample Polycarpus can first take 3 postcards to the closet; then 3 more. He can take the 6 photos that are left in the similar way, going to the closet twice.
In the third sample Polycarpus can visit the closet twice, both times carrying 3 postcards. Then he can take there 2 photos at once, then one postcard and finally, he can carry the last 10 photos if he visits the closet twice.
In the fourth sample Polycarpus can visit the closet twice and take there all 10 postcards (5 items during each go).
#include <iostream>#include <string>using namespace std;int main(){ string str; cin >> str; int num = 1, count = 1; for (int i = 1; i < str.length(); i++) { if (str[i] != str[i - 1]) { num++; count = 1; } else { count++; if (count > 5) { num++; count = 1; } } } cout << num << endl; return 0;}
- CF->CodeForces 137A
- CF->CodeForces 256A
- 【CF】CodeForces 348A Mafia
- CF->CodeForces 137B
- CF->CodeForces 137C
- 【CF】CodeForces 301A Yaroslav and Sequence
- cf CodeForces
- 【CF】Codeforces Round #124 (Div. 2) 197A Plate Game
- cf Educational Codeforces Round 6 C Pearls in a Row
- codeforces-1A-Theatre Square( 测试一下cf平台,囧 )
- CF Educational Codeforces Round 15(A~D)
- CodeForces 710A King Moves(第一次打CF)
- CF-Codeforces Round #392 (Div. 2)-A-Holiday Of Equality
- CF-Codeforces Round #410 (Div. 2)-A~C
- CF-Codeforces Round #420 (Div. 2) A ~ E
- CF Codeforces Round #257 (Div. 1) A (449A) Jzzhu and Chocolate
- cf#3A Shortest path of the kinghttp://codeforces.com/contest/3/problem/A
- codeforces 练习 ---- CF 24
- DOS批处理中%cd%和%~dp0的区别
- hdu 3721 Building Roads 树的直径
- Oracle 存储过程 procedure 失效 分析
- crackme itoa atoi 等函数汇编
- word2003中自动编号的使用和取消
- CF->CodeForces 137A
- Qt核心剖析:moc
- Global.asax 文件是什么
- 关于一道简单的智力题
- CF->CodeForces 137B
- C++快速学习之旅——C++和java的编译区别
- hdu 4055 2011 Asia Dalian Regional Contest
- CF->CodeForces 137C
- cocos2dx搭建android环境记录