acm--1004

问题描述
再次比赛时间!看到气球在四周漂浮,多么兴奋。但要告诉你一个秘密,评委最喜欢的时间是猜测最流行的问题。比赛结束后,他们会统计每种颜色的气球并找出结果。

今年,他们决定离开这个可爱的工作给你。
 
输入
输入包含多个测试用例。每个测试用例以数字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++的掌握不够,特殊函数不会用*/

猜你喜欢

转载自www.cnblogs.com/rrrrrchar/p/9107647.html
今日推荐