Let the Balloon Rise HDU - 1004
This year, they decide to leave this lovely job to you.
InputInput contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters.
A test case with N = 0 terminates the input and this test case is not to be processed.
OutputFor each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.
Sample Input
5 green red blue red red 3 pink orange pink 0
1 #include <cstdio> 2 #include <iostream> 3 #include <queue> 4 #include <vector> 5 #include<string.h> 6 #include<map> 7 using namespace std; 8 #define INF (1<<29) 9 int main() 10 { 11 int n; 12 string a; 13 while(~scanf("%d",&n),n) 14 { 15 map<string,int> mp; 16 string ans; 17 int no=0; 18 for(int i=0;i<n;i++) 19 { 20 cin>>a; 21 mp[a]++; 22 } 23 for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++) 24 if(no<it->second) 25 {ans=it->first;no=it->second;} 26 cout<<ans<<endl; 27 } 28 return 0; 29 }
stl map的题
map<string,int> mp;前面的项是颜色,后面的项是颜色的个数。输出后项即是题目答案。
map规定以前面的项来作为排序要求且不能重复。