# 一道ACM题目，纠结了我好久，就是通不过，求大神看看

AC胜出榜
Time Limit:1000MS  Memory Limit:32768K

### Sample Input:

1019
674530 A282828 1328 AC 500 244 VC8 2010-12-19 14:50:08
674528 A201011803 1019 WA 12 464 BCB 2010-12-19 14:49:00
674527 A2010811008 1245 AC 15 164 VC8 2010-12-19 14:48:48
674526 A2024450202 1019 AC 16 164 VC8 2010-12-19 14:48:31
674525 A206811008 1260 AC 31 164 VC8 2010-12-19 14:47:58
674524 A20811803 1019 AC 15 464 BCB 2010-12-19 14:47:44
674523 A206811008 1262 AC 15 164 VC8 2010-12-19 14:47:05
674522 A206811805 1019 AC 15 204 VC8 2010-12-19 14:46:34
674521 A206811008 1019 AC 10 164 VC8 2010-12-19 14:46:21
674520 A206811008 1019 AC 15 164 VC8 2010-12-19 14:45:51
674519 A206811805 1019 CE 0 0 VC8 2010-12-19 14:45:30


### Sample Output:

 1 674521 A206811008         10   164 VC8 2010-12-19 14:46:21
2 674522 A206811805         15   204 VC8 2010-12-19 14:46:34
3 674524 A20811803          15   464 BCB 2010-12-19 14:47:44
4 674526 A2024450202        16   164 VC8 2010-12-19 14:48:31


#include<iostream>
#include<string>
#include<iomanip>
#include<vector>
#include<fstream>
#include<algorithm>
using namespace std;
struct q{
int bian;string acc;
int time;int nei;string  vcb;string t1,t2;
};
bool mysort(q q1,q q2){
if(q1.time!=q2.time)
return q1.time<q2.time;
else if(q1.nei!=q2.nei)
return q1.nei<q2.nei;
else if(q1.t1!=q2.t1)
return q1.t1<q2.t1;
else
return q1.t2<q2.t2;
}
bool mysort2(q q1,q q2){
if(q1.acc!=q2.acc)
return q1.acc<q2.acc;
else if(q1.time!=q2.time)
return q1.time<q2.time;
else if(q1.nei!=q2.nei)
return q1.nei<q2.nei;
else if(q1.t1!=q2.t1)
return q1.t1<q2.t1;
else
return q1.t2<q2.t2;
}
int main(){
// ifstream cin("1.txt");
int timu;cin>>timu;
int i;
vector<q> v;
int ii=0;
for(;cin>>i&&ii<20001;){
string acc;int ti;string ac;
int time;int nei;string  vcb;string t1,t2;
cin>>acc>>ti>>ac>>time>>nei>>vcb>>t1>>t2;
if(ti!=timu||ac!="AC"){
continue;
}
q aa;
aa.bian=i;
aa.acc=acc;
aa.time=time;
aa.nei=nei;
aa.vcb=vcb;
aa.t1=t1;aa.t2=t2;
v.push_back(aa);
ii++;
}
sort(v.begin(),v.end(),mysort2);
// v.erase(unique(v.begin(),v.end()),v.end());
for(int e=1;e<v.size();e++){
if(v[e].acc==v[e-1].acc){
v.erase(v.begin()+e);
e--;
}
}
sort(v.begin(),v.end(),mysort);
for(int k=0;k<v.size()&&k<50;k++){
cout<<setiosflags(ios::right)<<setw(2)<<k+1<<' ';
cout<<setiosflags(ios::right)<<setw(6)<<v[k].bian<<' ';
cout<<setw(15)<<v[k].acc<<' ';
cout<<setiosflags(ios::right)<<setw(5)<<v[k].time<<' ';
cout<<setiosflags(ios::right)<<setw(5)<<v[k].nei<<' ';
cout<<setiosflags(ios::right)<<setw(3)<<v[k].vcb<<' '<<v[k].t1<<' '<<v[k].t2<<endl;
}

return 0;
}

• 本文已收录于以下专栏：

举报原因： 您举报文章：一道ACM题目，纠结了我好久，就是通不过，求大神看看 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)