工作室课题—色盲的民主

色盲的民主

Description

n个色盲聚在一起,讨论一块布的颜色。尽管都是色盲,却盲得各不相同。每个人都有自己的主张,争论不休。最终,他们决定采取民主投票的方式决定布的颜色,不管布同不同意。某种颜色用字符串表示(字符串为颜色单词或词组,也就是可能有被空格隔开的两个单词组成的颜色词组),只要字符串不同,程序即判断颜色不同。现在给出这n个人所选择的颜色,输出最有可能的颜色(也就是获得投票最多的颜色),如果有多个颜色获得了最多的投票,则将它们按字典序分行全部输出。

Input

第一行一个正整数n,表示色盲的人数

接下来n行,每行一句话

Output

若干行,获得投票最多的颜色,按字典序输出

Sample Input 1 

5
red
blue
black
black
blue

Sample Output 1

black
blue

AC代码:

思路:利用map函数

#include <iostream>
#include <string>
#include <map> 
using namespace std;
int main(){
    int n, num = -1;
    map<string, int>d;
    string s;
    cin >> n;
    while(getline(cin,s)){
    	d[s]++;
        num = max(num, d[s]);
	}
    for(map<string, int>::iterator it = d.begin(); it != d.end(); it++){
        if(it->second == num){
            cout << it->first << endl;
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值