题解 P1104 【生日】
------------ ------------ #include<bits/stdc++.h> //万能头文件 using namespace std; struct data //定义data结构体 { string name; long long sum; }a[10001]; bool cmp(const data & a,const data & b) //设 bool cmp为排序关键字 { if (a.sum<b.sum) return 1; //return 1或true return 0; //return 0或false } int main() { int n,x,y,z; //定义变量 cin>>n; for(int i=1;i<=n;i++) {cin>>a[i].name>>x>>y>>z; a[i].sum=x*10000000+y*100000+z*1000+100-i;//过程 } sort(a+1,a+n+1,cmp); //快排 for (int i=1;i<=n;i++) cout<<a[i].name<<endl; //按照题目所输出即可 return 0; //完美结束!!! }