在19年的致新杯中, a佬tql,又是ak又是first blood,按照每题first blood都能得气球的奖励,a佬各个颜色的气球得了一大堆,a佬想知道得到的哪个颜色的气球最多。
Input
输入包含多个测试用例。每个测试用例都以一个数字N开始(0 < N <= 1000)表示分布的气球的总数。接下来的N行每一行包含一种颜色。气球的颜色最多是由15个小写字母组成的字符串。

N = 0表示结束。
Output
对于每种情况,将最多颜色的气球打印在一行上。保证每个测试用例都有唯一的解决方案。
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
Sample Output
red
pink

#include<bits/stdc++.h>      //c++万能头文件 
using namespace std;
map<string,int> color;       //string为索引,指向int 
int main()
{
    int n;
    while(cin>>n&&n!=0)
    {
        color.clear();       //clear(),删除容器中所有元素 
        string m,s;          //m为参与计数的颜色字符串 ,s控制输出 
        int max = 0;
        for(int i=0;i<n;i++)
        {
            cin>>m;
            color[m]++;      //出现一次,对应颜色加一 
            if(color[m]>max)
            {
                max = color[m];//寻找最多的颜色 
                s = m;         //替换 
            } 
        }
        cout<<s<<endl;         //输出 
    }
    return 0;
} 

本代码基于map()函数的基本用法,自动建立key - value的对应。key 和 value可以是任意你需要的类型。本题则是string指向int。
蒟蒻氵博,不喜勿喷。QAQ