欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

acm--1004

程序员文章站 2022-07-26 11:59:36
问题描述 再次比赛时间!看到气球在四周漂浮,多么兴奋。但要告诉你一个秘密,评委最喜欢的时间是猜测最流行的问题。比赛结束后,他们会统计每种颜色的气球并找出结果。今年,他们决定离开这个可爱的工作给你。 输入 输入包含多个测试用例。每个测试用例以数字N(0
问题描述
再次比赛时间!看到气球在四周漂浮,多么兴奋。但要告诉你一个秘密,评委最喜欢的时间是猜测最流行的问题。比赛结束后,他们会统计每种颜色的气球并找出结果。

今年,他们决定离开这个可爱的工作给你。
 
输入
输入包含多个测试用例。每个测试用例以数字N(0 <N <= 1000)开始 - 分布的气球总数。接下来的N行包含一个颜色。气球的颜色是一串最多15个小写字母。

N = 0的测试用例会终止输入,并且不会处理该测试用例。
 
产量
对于每种情况,请在单行上打印最常见问题的气球颜色。确保每个测试用例都有独特的解决方案。
 
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
 
/*  思路,利用sring 类型 灵活控制输入数量,利用vector数组
得到出现次数最多的颜色单词,*/
 

#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main() {
int num;
cin>>num;
while(num!=0) {
string str;
vector<int> times;
vector<string> vecs;

for(int i=0; i<num; i++) {
cin>>str;
vecs.push_back(str);
}

for(int j=0; j<vecs.size(); j++)
times.push_back(1);

for(int i=0; i<vecs.size(); i++)
for(int j=i+1; j<vecs.size(); j++)
if (vecs[i]==vecs[j]) {
times[i]++;
times[j]++;
}

int max=0;
string strMost;

for(int i=0; i<times.size(); i++) {
if(times[i]>max) {
max=times[i];
strMost=vecs[i];
}
}
cout<<strMost<<endl;
cin>>num;
}
return 0;
}

 

/*c++的掌握不够,特殊函数不会用*/