zoukankan      html  css  js  c++  java
  • 【洛谷 1104】生日

    题目描述

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

    输入格式

    22行,

    11行为OI组总人数nn;

    22行至第n+1n+1行分别是每人的姓名ss、出生年yy、月mm、日dd。

    输出格式

    nn行,

    nn个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)

    输入输出样例

    输入 #1
    3
    Yangchu 1992 4 23
    Qiujingya 1993 10 13
    Luowen 1991 8 1
    
    输出 #1
    Luowen
    Yangchu
    Qiujingya
    

    说明/提示

    数据规模

    1<n<1001<n<100

    length(s)<20length(s)<20

    题解:cmp较长的排序问题

    // luogu-judger-enable-o2
    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    struct note{
        string s;
        int y,m,d,num;
    }f[108];
    bool cmp (note a,note b){
        if(a.y==b.y)
           if(a.m==b.m)
               if(a.d==b.d) return a.num>b.num;
               else return a.d<b.d;
           else return a.m<b.m;
        else return a.y<b.y;
    }
    int n;
    int main(){
        //freopen("1104.in","r",stdin);
        //freopen("1104.out","w",stdout);
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>f[i].s>>f[i].y>>f[i].m>>f[i].d;
            f[i].num=i;
        }
        sort (f+1,f+n+1,cmp);
        for(int i=1;i<=n;i++)
            cout<<f[i].s<<endl;
        return 0;
    }
  • 相关阅读:
    css 如何让背景图片拉伸填充避免重复显示
    CDHtmlDialog 基本使用
    RES协议
    Sata win7 热插拔(AHCI)
    __argc和__argv变量
    MFC进度条刷新处理
    SVN强制注释
    自动build服务器 CruiseControl.NET
    opencv Mat 像素操作
    std::string 用法
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/11380340.html
Copyright © 2011-2022 走看看