zoukankan      html  css  js  c++  java
  • HDU1234 开门人和关门人(解法二)

    问题链接HDU1234 开门人和关门人

    问题简述:参见上述链接。

    问题分析之前所做的程序质量不高,所以重做该题的题解。上次使用了结构数组和排序,完全没有必要,一边读入数据,一边处理就可以解决问题。

    程序说明程序中时间转换为整数(秒单位),以便比较。

    参见链接HDU1234 开门人和关门人(旧版本)

    AC的C语言程序如下:
    /* HDU1234 开门人和关门人 */
    
    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
        int n, m;
        int h, mi, s;
    
        char startname[20];
        char endname[20];
        int minstarttime;
        int maxendtime;
    
        char name[20];
        int starttime;
        int endtime;
    
        // 读入总天数(测试组数)
        scanf("%d", &n);
        while(n--) {
            // 读入记录数
            scanf("%d", &m);
    
            // 设置暂时的最小开门时间和最大关门时间
            minstarttime = 24 * 3600;
            maxendtime = 0;
    
            // 读入各个记录,并且求最小开门时间和最大关门时间
            for(int i=1; i<=m; i++) {
                scanf("%s %d:%d:%d", name, &h, &mi, &s);
                starttime = s + mi * 60 + h * 3600;
                if(starttime < minstarttime) {
                    minstarttime = starttime;
                    strcpy(startname, name);
                }
    
                scanf("%d:%d:%d", &h, &mi, &s);
                endtime = s + mi * 60 + h * 3600;
                if(endtime > maxendtime) {
                    maxendtime = endtime;
                    strcpy(endname, name);
                }
            }
    
            // 输出结果
            printf("%s %s
    ", startname, endname);
        }
    
        return 0;
    }



  • 相关阅读:
    要坚持的好习惯
    Attribute与Property关系
    浅谈ES6中super关键字
    JS权威指南读书笔记(七)
    JS权威指南读书笔记(六)
    JS权威指南读书笔记(五)
    JS权威指南读书笔记(四)
    函数
    对象
    数值
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564621.html
Copyright © 2011-2022 走看看