社区讨论
64分WA,最后两个点过不了哇
P1104生日参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhjto4g3
- 此快照首次捕获于
- 2025/11/04 08:20 4 个月前
- 此快照最后确认于
- 2025/11/04 08:20 4 个月前
最后两个点不管怎么都过不了,各位大佬帮忙看看吧
CPP#include<bits/stdc++.h>
using namespace std;
bool cmp(string a,string b){
if(a.substr(1,4)!=b.substr(1,4))
return a.substr(1,4)>b.substr(1,4);
else{
if(a.substr(6,2)!=b.substr(6,2))
return a.substr(6,2)>b.substr(6,2);
else{
if(a.substr(9,2)!=b.substr(9,2))
return a.substr(9,2)>b.substr(9,2);
}
}
if(a==b)
return false;
}
int main(){
int n;
cin>>n;
ostringstream oss;
map<string,string> m;
string a,b,c,t[n],d;
char e=' ';
for(int i=1;i<=n;i++){
cin>>a;
getline(cin,b);
oss << i;
d = oss.str();
oss.str("");
b+=" ";
b+=d;
if(b.substr(7,1)==" "){
b.insert(6,1,e);
}
if(b.substr(10,1)==" ")
b.insert(9,1,e);
m[b]=a;
t[i-1]=b;
}
stable_sort(t,t+n,cmp);
for(int i=n-1;i>=0;i--){
c=t[i].substr(0,t[i].size());
if(i==0)
cout<<m[c];
else
cout<<m[c]<<endl;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...