[关闭]
@PaulGuan 2016-10-18T15:50:20.000000Z 字数 375 阅读 632

C - Postcards and photos 题解

算法 题解


题目大意

一串由c和p组成的字符串,在字符相同的情况下,每5个记一次数,如果遇到不同的,就立即计数,再重新开始计是否达到5个。输出计录的数字。

分析

逐个进行判断,注意要仔细不要出错。

代码

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(void)
  5. {
  6. string n;
  7. cin>>n;
  8. int i,cnt=0,ans=0;
  9. char flag=n[0];
  10. for(i=0;i<n.size();i++)
  11. {
  12. if(flag==n[i])
  13. cnt++;
  14. else
  15. {
  16. while(cnt>0)
  17. {
  18. ans++;
  19. cnt-=5;
  20. }
  21. cnt=1;
  22. flag=n[i];
  23. }
  24. }
  25. while(cnt>0)
  26. {
  27. ans++;
  28. cnt-=5;
  29. }
  30. cout<<ans<<endl;
  31. return 0;
  32. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注