1. 程式人生 > >【算法】map的應用

【算法】map的應用

字符 i++ pre gin air htm ++ 一行 問題

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 }

【算法】map的應用