1 条题解
-
0
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6+5, P=7; const int inf = 0x3f3f3f3f; struct Node{ string name; int y,m,d,id; bool operator< (const Node & rhs) const { if(y != rhs.y) return y < rhs.y; if(m != rhs.m) return m < rhs.m; if(d != rhs.d) return d < rhs.d; return id > rhs.id; } }a[105]; bool compare(Node l, Node r){ if(l.y != r.y) return l.y < r.y; if(l.m != r.m) return l.m < r.m; if(l.d != r.d) return l.d < r.d; return l.id > r.id; } int main(){ int n; cin>>n; string name; int y,m,d,id; for(int i=1; i<=n; i++) { cin>>name>>y>>m>>d; a[i] = {name, y,m,d, i}; // C++11 } // sort(首地址, 首地址+元素数量, 比较方式); // sort(a+1, a+1+n, compare); sort(a+1, a+1+n); for(int i=1; i<=n; i++) cout<<a[i].name<<endl; return 0; }
- 1
信息
- ID
- 253
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 58
- 已通过
- 18
- 上传者