【HPU】[1730]字符串

这里写图片描述

记录每个字母出现的次数然后计算就好了
一个有点弯的地方是首尾的两个g允许重叠
所以需要单独判断

#include<stdio.h>
#include<string.h>
char s[100200];
int main() {
    while(scanf("%s",s)!=EOF) {
        int l=strlen(s);
        int a[7]= {0,0,0,0,0,0,0};
        for(int j=0; j<l; j++) {
            if(s[j]=='g')
                a[0]++;
            else if(s[j]=='o')
                a[1]++;
            else if(s[j]=='d')
                a[2]++;
            else if(s[j]=='m')
                a[3]++;
            else if(s[j]=='r')
                a[4]++;
            else if(s[j]=='n')
                a[5]++;
            else if(s[j]=='i')
                a[6]++;
        }
        a[0]=a[0]-1;
        a[1]=a[1]/3;
        a[5]=a[5]/2;
        int min=999999;
        for(int j=0; j<7; j++)
            if(min>a[j])
                min=a[j];
        printf("%d\n",min);
    }
    return 0;
}

题目地址:【HPU】[1730]字符串

posted @ 2016-03-24 19:49  BoilTask  阅读(11)  评论(0编辑  收藏  举报