zoukankan      html  css  js  c++  java
  • 【杭电】[1234]开门人和关门人

    这里写图片描述
    这里写图片描述

    也是挺重要的一题
    第一次用到的结构体
    在一些地方纠结了好久

    而且第一次没接触到sort
    所以写的比较长

    #include<stdio.h>
    #include<string.h>
    struct qd {
        char s[15];
        int sh;
        int sm;
        int ss;
        int eh;
        int em;
        int es;
    };
    int main() {
        int N,M;
        scanf("%d",&N);
        while(N--) {
            scanf("%d",&M);
            int i;
            struct qd a[M],b,e;
            for(i=0; i<M; i++)
                scanf("%s %d:%d:%d %d:%d:%d",&a[i].s,&a[i].sh,&a[i].sm,&a[i].ss,&a[i].eh,&a[i].em,&a[i].es);
            for(i=0; i<M; i++) {
                if(i==0) {
                    b=a[i];
                    e=a[i];
                } else {
                    if(a[i].sh<b.sh)
                        b=a[i];
                    else if(a[i].sh==b.sh) {
                        if(a[i].sm<b.sm)
                            b=a[i];
                        else if(a[i].sm==b.sm) {
                            if(a[i].ss<b.ss)
                                b=a[i];
                        }
                    }
                    if(a[i].eh>e.eh)
                        e=a[i];
                    else if(a[i].eh==e.eh) {
                        if(a[i].em>e.em)
                            e=a[i];
                        else if(a[i].em==e.em) {
                            if(a[i].es>e.es)
                                e=a[i];
                        }
                    }
                }
            }
            printf("%s %s\n",b,e);
        }
        return 0;
    }
    

    下面是后来写的sort版

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    struct qd {
        char s[20];
        char kai[10];
        char guan[10];
    };
    bool vsk(qd A,qd B) {
        return strcmp(A.kai,B.kai)<0;
    }
    bool vsg(qd A,qd B) {
        return strcmp(A.guan,B.guan)>0;
    }
    int main() {
        int N,M;
        scanf("%d",&N);
        while(N--) {
            scanf("%d",&M);
            int i;
            struct qd a[M];
            for(i=0; i<M; i++)
                scanf("%s %s %s",&a[i].s,&a[i].kai,&a[i].guan);
            sort(a,a+M,vsk);
            printf("%s ",a[0].s);
            sort(a,a+M,vsg);
            printf("%s\n",a[0].s);
        }
        return 0;
    }

    明显短了好多啊~
    C++的用法

    题目地址:【杭电】[1234]开门人和关门人

  • 相关阅读:
    springboot+jsp 遇到的坑
    异步复位同步释放
    DDR工作原理(转载)
    FPGA基础 之逻辑单元
    二进制转BCD
    bcd转二进制
    FPGA学习笔记之IIC—EEPROM写和读
    FPGA学习笔记之mif文件生成方法总结
    FPGA_实验小项目:四位运算小计算器
    小小计算器之消零显示模块数码管消零
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12570069.html
Copyright © 2011-2022 走看看