给定一个只有小写字母构成的非空字符串,可以从字符串中任选字符并任意规定顺序,每个字符只能用一次。
最多可以构成多少个"goodmorning"子串(可以重叠)。
比如说:字符串aaavbbbddgggooooooddmmrrnnnnii,可以构成goodmorningoodmorning,共2个。
有多组测试数据,请处理到文件结束。
每组数据给定一个只有小写字母构成的非空字符串str。后台所有数据保证1 <= |str| <= 10^5。
每组数据输出一个整数,表示最多可以构成的"goodmorning"子串。
aaavbbbddgggooooooddmmrrnnnnii goodmorninn goodmorning
2 0 1
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int b[50];
char a[100005];
int main()
{while(~scanf("%s",a)){int len=strlen(a);memset(b,0,sizeof(b));for(int j=0;j<len;j++){if(a[j]=='g')b[0]++;if(a[j]=='o')b[1]++;if(a[j]=='d')b[2]++;if(a[j]=='m')b[3]++;if(a[j]=='r')b[4]++;if(a[j]=='n')b[5]++;if(a[j]=='i')b[6]++;}b[0]=b[0]-1;b[1]=b[1]/3;b[5]=b[5]/2;sort(b,b+7);printf("%dn",b[0]);}return 0;
}
本文发布于:2024-02-05 08:33:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170728162564939.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |