记录编号 |
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;
- }