记录编号 |
126449 |
评测结果 |
AAAAA |
题目名称 |
zht |
最终得分 |
100 |
用户昵称 |
Ezio |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.001 s |
提交时间 |
2014-10-12 22:40:38 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <algorithm>
#include <ctime>
#include <queue>
#include <map>
#include <vector>
#define scafn scanf
#define For(st,ed,i) for(int i=st;i<=ed;++i)
#define Fordown(st,ed,i) for(int i=st;i>=ed;--i)
#define start(a,flag) memset(a,flag,sizeof(a));
using namespace std;
typedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;
const int INF=0x7fffffff;
const int inf=0xfffffff;
map<string,string> nm;
map<string,int> nvl,rank;
int main(){
freopen("zht1.in","r",stdin);
freopen("zht1.out","w",stdout);
string s,z1,z2;
map<string,string>::iterator it;
int rk=0;
while(getline(cin,s)){
int lg=s.length();++rk;
For(0,lg-1,i)if(s[i]==':'){
z1.assign(s,0,i);
z2.assign(s,i+1,lg);
break;
}
it=nm.find(z2);
if(!nm.count(z2)){
nm.insert(pair<string,string>(z2,z1));
nvl.insert(pair<string,int>(z2,1));
rank.insert(pair<string,int>(z1,rk));
}else nvl[z2]=nvl[z2]+1;
}
int maxn=0,mk=0;
string ans1,ans2;
for(it=nm.begin();it!=nm.end();++it){
if((nvl[it->first]>maxn)||
((nvl[it->first]==maxn)&&rank[it->second]<mk)){
maxn=nvl[it->first];
ans1=it->second;
ans2=it->first;
mk=rank[it->second];
}
}
cout<<ans1<<endl<<ans2;
//system("pause");
return 0;
}