问题标题: 酷町堂:1332 调查年龄

0
0
已解决
张云瀚
张云瀚
初级天翼
初级天翼

题目链接: 酷町堂:1332

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int n;
struct node{
    string s;
    int y,m,d;
    int id;
}a[10005];
bool cmp(node x,node y){
    if(x.y!=y.y){
        return x.y<y.y;
    }
    else if(x.m!=y.m){
        return x.m<y.m;
    }
    else if(x.d!=y.d){
        return x.d<y.d;
    }
    return x.id<y.id;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].s>>a[i].y>>a[i].m>>a[i].d;
        a[i].id=i;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<a[i].s<<endl;
    }
    return 0;
}
 


0
已采纳
熊潇然
熊潇然
初级启示者
初级启示者

你排的序是从小到大!!!

0
0
熊潇然
熊潇然
初级启示者
初级启示者

cmp函数中所有的 小于号 都改成 大于号!

0
我要回答