时间过得好快啊,SHU计算机学院又有新的一批小朋友们进来了。2016级的同学想必也是非常喜欢计算机学院的,于是院长想测试一下大家对计算机的喜爱程度(院长大人别查我水表)。
院长给大家一行由大写字母(A-Z)和小写字母(a-z)组成的字符串,允许同学们在这个字符串里面任意挑选若干个字符,问最多可以组成多少个I LOVE CES(不区分大小写,没有空格,即只要有这8个字符就可以组成一个)。
多组输入,每组一行,输入一个字符串。
字符串长度<=100000
。
每组输出一行答案,如题意。
IlovecesiLOVECES
2
既然是没有顺序,那么就算数一数有几个ilovecs,主要e应该有两个才能组成
1 #include<math.h> 2 #include<string.h> 3 #include<stack> 4 #include<set> 5 #include<queue> 6 #include<vector> 7 #include<map> 8 #include<iostream> 9 #include<algorithm> 10 #define MAXN 1010000 11 #define LL long long 12 #define ll __int64 13 #define INF 0xfffffff 14 #define mem(x) memset(x,0,sizeof(x)) 15 #define PI acos(-1) 16 #define eps 1e-8 17 using namespace std; 18 int a[1000]; 19 int main(){ 20 string s; 21 while(cin>>s){ 22 int ansi=0; 23 int ansl=0; 24 int anso=0; 25 int ansv=0; 26 int anse=0; 27 int ansc=0; 28 int anss=0; 29 for(int i=0;i<s.length();i++){ 30 if(s[i]==‘i‘||s[i]==‘I‘){ 31 ansi++; 32 } 33 if(s[i]==‘l‘||s[i]==‘L‘){ 34 ansl++; 35 } 36 if(s[i]==‘o‘||s[i]==‘O‘){ 37 anso++; 38 } 39 if(s[i]==‘v‘||s[i]==‘V‘){ 40 ansv++; 41 } 42 if(s[i]==‘e‘||s[i]==‘E‘){ 43 anse++; 44 } 45 if(s[i]==‘c‘||s[i]==‘C‘){ 46 ansc++; 47 } 48 if(s[i]==‘s‘||s[i]==‘S‘){ 49 anss++; 50 } 51 } 52 int ans=0; 53 // cout<<ansi<<" "<<ansl<<" "<<anso<<" "<<ansv<<" "<<anse<<" "<<ansc<<" "<<anss<<endl; 54 while(ansi>=0&&ansc>=0&&anso>=0&&ansv>=0&&anse>=0&&ansl>=0&&anss>=0){ 55 //ans++; 56 ansi--; 57 ansc--; 58 anso--; 59 ansv--; 60 anse-=2; 61 ansl--; 62 anss--; 63 if(ansi>=0&&ansc>=0&&anso>=0&&ansv>=0&&anse>=0&&ansl>=0&&anss>=0){ 64 ans++; 65 } 66 //cout<<ansi<<" "<<ansl<<" "<<" "<<anso<<" "<<ansv<<" "<<anse<<" "<<ansc<<" "<<anss<<endl; 67 } 68 cout<<ans<<endl; 69 } 70 return 0; 71 }
“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 C
原文:http://www.cnblogs.com/yinghualuowu/p/7163678.html