题解 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; //完美结束!!!
}

  

原文地址:https://www.cnblogs.com/wangshengjun/p/luoguP1104.html