• 洛谷 P1104 生日


    【题目描述】
    cjf君想调查学校OI组每个同学的生日,并按照从大到小的顺序排序。但cjf君最近作业很多,没有时间,所以请你帮她排序。

    【输入格式】
    有2行,
    第1行为OI组总人数n;
    第2行至第n+1行分别是每人的姓名s、出生年y、月m、日d。

    【输出格式】
    有n行,
    即n个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

    【输入输出样例】
    输入

    3
    Yangchu 1992 4 23
    Qiujingya 1993 10 13
    Luowen 1991 8 1

    输出

    Luowen
    Yangchu
    Qiujingya

    【说明/提示】

    数据规模

    1<n<100
    length(s)<20

    【代码实现】

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 struct oi
     4 {
     5     string s;
     6     int y,m,d,id;
     7 }a[1001];
     8 bool cmp(oi a,oi b)
     9 {
    10     if(a.y!=b.y)
    11     {
    12         return a.y<b.y;
    13     }
    14     else 
    15     {
    16         if(a.m!=b.m)
    17         {
    18             return a.m<b.m;
    19         }
    20         else
    21         {
    22             if(a.d!=b.d)
    23             {
    24                 return a.d<b.d;
    25             }
    26             else{
    27                 return a.id>b.id;//两人生日相同,返回id靠后的
    28             }
    29         }
    30             
    31     }
    32 }
    33 
    34 int main()
    35 {
    36     int n;
    37     scanf("%d",&n);
    38     for(int i=1;i<=n;i++)
    39     {
    40         cin>>a[i].s>>a[i].y>>a[i].m>>a[i].d;
    41         a[i].id=i;
    42     }
    43     sort(a+1,a+1+n,cmp);
    44     for(int i=1;i<=n;i++)
    45     {
    46         cout<<a[i].s<<endl;
    47     }
    48     return 0;
    49  } 
  • 相关阅读:
    解决ORA01502 state unusable错误成因
    Remoting.Corba
    NHibernate 处理 oracle 的long数据类型
    NET下连接SYBASE数据库
    JavaScript 的变量作用域及闭包
    PowerDesigner的样式设置
    NHibernate学习 (转)
    性能调优:数据库设计规范化的五个要求
    利用 ADO.NET 连接到 Informix(转)
    sqlnet.expire_time
  • 原文地址:https://www.cnblogs.com/TheZealous/p/14391690.html
Copyright © 2020-2023  润新知