题目:
又到比赛时间了!看到气球飘来飘去是多么的兴奋啊。但是告诉你一个秘密,评委们最喜欢的时间是猜测最流行的问题。比赛结束后,他们会数出每种颜色的气球,并找出结果。
今年,他们决定把这份好工作留给你。
输入包含多个测试用例。每个测试用n(0<n<=1000)开始——分布的气球总数。下面的n行每个包含一个颜色。气球的颜色是由15个小写字母组成的。
n=0的测试用例终止输入,此测试用例不被处理。
针对每个情况,在一行中打印气球的颜色,以解决最常见的问题。保证每个测试用例都有一个唯一的解决方案。
样例输入:
5
green
red
blue
red
red
3
pink
orange
pink
0
样例输出
red
pink
思路:
我的思路比较简单,就是用c++ stl里面的map<string,int>(如果没有学过的建议去学下这个学掉皮毛就能做着题)然后就能过了。不说上代码
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
for(int i=0;;i++)
{
int n,j,k=0,t,max=0;
char c[1005][16];
map<string , int>a;
a.clear();
cin>>n;
if(n==0)
break;
else
{
for(j=1;j<=n;j++)
{
cin>>c[j];
a[c[j]]++;
}
for(j=1;j<=n;j++)
{
if(max<a[c[j]])
{
max=a[c[j]];k=j;
}
}
cout<<c[k]<<endl;
}
}
}
然后就过了: