| 记录编号 |
126446 |
评测结果 |
AAAAA |
| 题目名称 |
1732.zht |
最终得分 |
100 |
| 用户昵称 |
Ezio |
是否通过 |
通过 |
| 代码语言 |
C++ |
运行时间 |
0.001 s |
| 提交时间 |
2014-10-12 22:38:59 |
内存使用 |
0.25 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;//被提出者对应次数
map<string,int> rank;//提出者对应rank
int cnt=0;
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)){
//cout<<s<<endl;
int lg=s.length();++rk;
For(0,lg-1,i)if(s[i]==':'){
//cout<<i<<endl;
z1.assign(s,0,i);
//cout<<z1<<endl;
z2.assign(s,i+1,lg);
break;
//For(i+1,lg-1,j)z2[j-i-1]=s[j];
//cout<<z2<<endl;
}
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;
if(z2=="Amy")cout<<z1<<" "<<nvl[z2]<<" "<<endl;
}
++cnt;
}
/*for(it=nm.begin();it!=nm.end();++it){
cout<<"!"<<endl;
cout<<it->first<<" "<<it->second<<" ";
cout<<nvl[it->first]<<endl;}*/
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<<it->first<<" "<<it->second<<" ";
//cout<<nvl[it->first]<<endl;
}
cout<<ans1<<endl<<ans2;
//system("pause");
return 0;
}