ACM-统计BUG
题目描述
公司会把每个月出现BUG的人都记录下来,然后月底复盘时会统计该月BUG数最多的人,请帮忙统计出BUG数最多的两个人
输入
读入N(3<=N<=10000),表示该月出现BUG的总次数,后面N行表示每次BUG的所属人(人名均为英文字母,且长度不超过10,并且保证同一个名字均为连续出现)
输出
输出BUG数最多的人名,及BUG数第二多的人名(两个名字以空格隔开,保证有唯一解)
样例输入
6
Faker
Faker
Faker
Xiaohu
UZI
UZI
样例输出
Faker UZI
#include<string>
#include<iostream>
using namespace std;
string s[10005];
int a[10005];//全局变量初值默认为0
int main(){
int n;
cin>>n;
for(int i = 0;i < n;i++){
string ss;
cin>>ss;
int flag = 1;//用flag标记
for(int j = 0;j < i;j++){//查找已经储存的名字
if(ss == s[j]){
a[j]++;
flag = 0;
break;
}
}
if(flag == 1){
s[i] = ss;
a[i]++;
}
}
//检查以上程序是否正确
/* for(int i=0;i < n;i++)
{
cout<<s[i]<<" "<<a[i]<<endl;
}*/
//排序
for(int i=0;i<=n-2;i++){
for(int j=i+1;j<=n-1;j++){
if(a[i]<a[j]){
swap(a[i],a[j]);
swap(s[i],s[j]);
}
}
}
cout<<s[0]<<" "<<s[1]<<endl;
}
作为一个程序小白,这是写的第一篇博客,没什么技术含量,希望用博客记录自己的程序之路。
星光不问赶路人,希望借此平台向各位大佬学习。