问题 A : 过不了就别lol了
时间限制:1 秒
内存限制:256 兆
特殊判题: 否
提交:63
解决: 7
题目描述
最近实验室的同学总是利用休息的时间来玩LOL,而且一不小心就玩过头,就耽误了培训时间,这让超哥很头疼。玩LOL的同学都知道LOL的全英文名是League of Legends,那么问题来了,如果给你这个单词leagueofl,也就是league这个单词加of这个单词加字母l,然后给你一个全部由小写英文字母组成的字符串,希望这个串中含leagueofl这个单词尽量多。例如串是eagueofaaalltyleagueofl,那么我们可以整理成leagueoflleagueoflaaaty,那么这个串中最多含有两个这个单词。如果这个题都做不出来的话,就隐居山林吧,别再玩LOL了,O(∩_∩)O~~。
输入格式
包含多组数据,输入一串字符串全部有小写英文字母组成。(长度不超过100)
输出
这个串中所包含的最多leagueofl的个数。
样例输入
eagueofaaalltyleagueofl
样例输出
2
提示[+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
好吧,大水题;
//好吧,我承认,我没有按照字典序来做,但是算法讲究的是简单和效率,只要不多想,这也是个水题//
#include<iostream>
#include<cstdio>
#include <cstring>
using namespace std;
char a[101],b[15]={"leagueofl"};
//l 2 e 2//
int main()
{int l[10],i,n,haha;
while(scanf("%s",a)!=EOF)
{haha=101;
for(i=0;i<10;i++)
l[i]=0;
n=strlen(a);
for(i=0;i<n;i++)
if(a[i]=='l') l[1]+=1;
else if(a[i]=='e') l[2]+=1;
else if(a[i]=='a') l[3]+=1;
else if(a[i]=='g') l[4]+=1;
else if(a[i]=='u') l[5]+=1;
else if(a[i]=='o') l[6]+=1;
else if(a[i]=='f')l[7]+=1;
l[1]/=2;
l[2]/=2;
for(i=1;i<=7;i++)
if(haha>l[i]) haha=l[i];
cout<<haha<<endl;
}
return 0;
}
提示[-]