气球漂浮(字符串处理)问题

问题:比赛时间又一次开始,看到气球漂浮是多么令人兴奋啊!但是,要告诉你一个秘密,法官最喜欢的时间是猜测最受欢迎的问题。当测试结束后,他们将计数每一种颜色的气球,再找出结果。今年,他们决定把最“可爱”的问题留给你。

输入:
        输入多组测试用例,每个用例以一个数字N(0<N<=1000)开始(-----气球的个数),接下来的N行每行输入一种颜色,气球的颜色是字符少于15的单词。测试用例以N=0终止。
输出:
        对于每个案例,用一行打印出最受欢迎的气球的颜色。(友情提示:最受欢迎即出现次数最多)
回答:该题本质是字符串关联数字问题,用map方法即可。

#include <iostream>
#include <string>
#include <map>
using namespace std;

int main(){
 

   map<string, int> Ballon;
    string color, MaxColor;
    int n, max;
    while(cin>>n&&n){
        Ballon.clear();
        while(n--){
            cin>>color;
            Ballon[color]++;
        }
        map<string, int>::iterator it;
        max = 0;
        for(it=Ballon.begin(); it!=Ballon.end(); it++){
            if(it->second>max){
                max = it->second;
                MaxColor = it->first;
            }
        }
        cout<<MaxColor<<endl;
    }
    return 0;
}

posted @ 2015-05-05 16:36  chaoer  阅读(456)  评论(0编辑  收藏  举报