当前位置: 代码迷 >> 综合 >> ZOJ2104-Let the Balloon Rise(Map,水题)
  详细解决方案

ZOJ2104-Let the Balloon Rise(Map,水题)

热度:75   发布时间:2024-02-13 10:16:54.0

文章目录

  • 题意
  • 输入
  • 输出
  • 样例
  • 思路
  • AC代码

题意

再次比赛时间! 看到气球漂浮在周围真是令人兴奋。 但要告诉您一个秘密,法官最喜欢的时间是猜测最流行的问题。 比赛结束后,他们将对每种颜色的气球进行计数并找到结果。

今年,他们决定把这份可爱的工作留给您。

输入

输入包含多个测试用例。 每个测试用例均以数字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;
}