题目链接:https://vijos.org/p/1902
这题用case更好,注意其中getchar()的用法
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
using namespace std;
const int maxn=10;
int num[maxn];
int main()
{
char ch;
int t;
scanf("%d",&t);
while((ch=getchar())==' ');
for(int cas=1;cas<=t;cas++)
{
memset(num,0,sizeof(num));
for(;(ch=getchar())!=EOF;)
{
if(ch=='\n') break;
switch(ch)
{
case 'g': ++num[0]; break;
case 'o': ++num[1]; break;
case 'd': ++num[2]; break;
case ' ': ++num[3]; break;
case 'm': ++num[4]; break;
case 'r': ++num[5]; break;
case 'n': ++num[6]; break;
case 'i': ++num[7]; break;
default: break;
}
}
num[0]/=2;
num[1]/=3;
num[6]/=2;
int ans=1001;
for(int i=0;i<8;i++)
if(ans>num[i])
ans=num[i];
printf("Case #%d: ",cas);
printf("%d\n",ans);
}
return 0;
}