题意
再次比赛时间! 看到气球漂浮在周围真是令人兴奋。 但要告诉您一个秘密,法官最喜欢的时间是猜测最流行的问题。 比赛结束后,他们将对每种颜色的气球进行计数并找到结果。
今年,他们决定把这份可爱的工作留给您。
输入
输入包含多个测试用例。 每个测试用例均以数字N(0 <N <1000)开头-分发的气球总数。 接下来的N行各包含一种颜色。 气球的颜色是由最多15个小写字母组成的字符串。
N = 0的测试用例将终止输入,并且该测试用例将不被处理。
输出
对于每种情况,请在一行上打印气球颜色,以解决最常见的问题。 可以保证每个测试用例都有唯一的解决方案。
样例
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
Sample Output
red
pink
思路
水题,采用map,读取到一个单词就将这个单词所记录的数值增加,最后用迭代器进行遍历,找出出现次数最多的单词,输出。
AC代码
#include<iostream>
#include<algorithm>
#include<string.h>
#include<map>
using namespace std;
map<char[30], int>m;
map<char[30], int>::iterator th;
int main() {
int n;
char s[30];
while (cin >> n && n) {
m.clear();
for (int i = 0; i < n; i++) {
cin >> s;
m[s]++;
}
int max = -1;
for (th = m.begin(); th != m.end(); th++) {
if (th->second > max) {
max = th->second;
strcpy(s,th->first);
}
}
cout << s << endl;
}
return 0;
}