• ZOJ2727


    一道水题  数据小 用效率最低的冒泡都能过
    我这是用的c++的sort
    注意有个坑的地方:You should output a blank line between two test cases.  也就是最后一组样例输出没有空行
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    struct stu
    {
        char name[100];
        int year;
        int price;
    } s[110];
    int  cmn(stu a,stu b)
    {
        if(strcmp(a.name,b.name)!=0)
            return strcmp(a.name,b.name)<0;
        if(a.year!=b.year)
            return a.year<b.year;
        return a.price<b.price;
    }
    int cmp(stu a,stu b)
    {
        if(a.price!=b.price)
            return a.price<b.price;
        if(strcmp(a.name,b.name)!=0)
            return strcmp(a.name,b.name)<0?1:0;
        return a.year<b.year;
    }
    int cmy(stu a,stu b)
    {
        if(a.year!=b.year)
            return a.year<b.year;
        if(strcmp(a.name,b.name)!=0)
            return strcmp(a.name,b.name)<0?1:0;
        return a.price<b.price;
    }
    int main()
    {
        int n,i;
        char t[10];
        scanf("%d",&n);
        while(1)
        {
            if(n==0) break;
            for(i=0; i<n; i++)
                scanf("%s %d %d",s[i].name,&s[i].year,&s[i].price);
            scanf("%s",t);
            if(strcmp(t,"Name")==0)
                sort(s,s+n,cmn);
            else if(strcmp(t,"Price")==0)
                sort(s,s+n,cmp);
            else
                sort(s,s+n,cmy);
            for(i=0; i<n; i++)
                printf("%s %d %d ",s[i].name,s[i].year,s[i].price);
            scanf("%d",&n);
            if(n!=0) printf(" ");
        }
        return 0;
    }

  • 相关阅读:
    ceph集群jewel版本 rbd 块map 报错-故障排查
    基本的Ceph性能测试工具和方法
    dd命令的高级应用
    Ceph recover的速度控制
    Linux mount命令
    Centos7.2:搭建Ceph管理系统Inscope
    rpm --import /etc/pki/rpm-gpg/RPM* 有什么用?
    dd命令的解释
    Playbooks 中的错误处理
    Ansible之Playbooks的when语句
  • 原文地址:https://www.cnblogs.com/Both-wings/p/3749632.html
Copyright © 2020-2023  润新知