• CodeForces 137A


    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

    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

    Input
    CPCPCPC
    Output
    7
    Input
    CCCCCCPPPPPP
    Output
    4
    Input
    CCCCCCPPCPPPPPPPPPP
    Output
    6
    Input
    CCCCCCCCCC
    Output
    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).

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int main()
     5 {
     6     char CP[100];
     7     int num = 0,allnum = 0,i;
     8     scanf("%s",CP);
     9     for(i = 0;i < strlen(CP);i++)//被提醒strlen什么的不要放在里面会加大时间复杂度
    10     {
    11         if(num <= 5 && CP[i] == CP[i+1])
    12             num++;
    13          if(num == 5 || CP[i] != CP[i+1]) 
    14         {
    15             allnum++;
    16             num = 0;
    17         }
    18     }
    19     printf("%d",allnum);
    20     return 0;
    21 }
     
  • 相关阅读:
    linux 安装 jdk,Redis 安装
    cron 和 crontab -e 命令不同,crontab -e 没有秒的概念
    为什么要用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
    mybatis 动态sql 查询 一个参数,不要用 test = ‘id’
    乐观锁 version 悲观锁 行表锁
    Developer Test-Java
    JQuery将DIV的滚动条滚动到指定的位置
    前端学习网站
    jQuery方法大全
    JavaScript基础常用函数和语法集合大全
  • 原文地址:https://www.cnblogs.com/lwy-kitty/p/3194198.html
Copyright © 2020-2023  润新知