KID_XiaoYuan

导航

【算法】map的应用

map使用参考链接http://www.cnblogs.com/KID-XiaoYuan/articles/7297709.html

题目

在ACM比赛中,你每解决一道题,你就可以获得一个气球,不同颜色的气球代表你解决了不同的问题。在WJL同学参加的一场ACM比赛中,他发现场面上有N个气球,并熟练的说出了气球的颜色。

请你编写一个程序,找出气球数量最多的颜色。Input有多组样例输入。

每组样例第一行输入一个整数N (0 < N <= 1000) ,代表一共有N个气球。若N=0,则代表输入结束,你不需要输出任何信息。
接下来N行每行输入一个不多于15个字母的字符串代表颜色。Output对于每组样例数据,在单独的一行内输出数量最多的那种颜色的气球。(数据保证输出是唯一的) 
Sample Input

5
green
red
blue
red
red
3
pink
orange
pink
0

Sample Output

red
pink


题解:
 1 #include <iostream>
 2 #include <map>
 3 #include <string>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 bool cmp (pair <string,int> a,pair <string,int> b)
 8 {
 9     return (a.second < b.second);
10 }
11 int main()
12 {
13     int n;
14     cin>>n;
15     while (n != 0)
16     {
17         map<string,int> map1;
18         for(int i = 0; i < n; i++)
19         {
20             string s;
21             cin>>s;
22             map1[s]++;
23         }
24         map <string,int> ::iterator it;
25         it = max_element(map1.begin(), map1.end(), cmp);
26         cout<<it->first<<endl;
27         cin>>n;
28 
29     }
30     return 0;
31 }

 

posted on 2017-08-07 10:00  KID_XiaoYuan  阅读(380)  评论(0编辑  收藏  举报