博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1234 开门人和关门人(解法二)
阅读量:6690 次
发布时间:2019-06-25

本文共 1222 字,大约阅读时间需要 4 分钟。

问题链接:。

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

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

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

参见链接(旧版本)

AC的C语言程序如下:
/* HDU1234 开门人和关门人 */#include 
#include
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\n", startname, endname); } return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564620.html

你可能感兴趣的文章
HttpServletResponse函數
查看>>
Linux基础学习(3)--初学注意
查看>>
php总结笔记[转]
查看>>
jni开发中的常见错误
查看>>
【ZeroClipboard is not defined】的解决方法
查看>>
【题解】Matrix BZOJ 4128 矩阵求逆 离散对数 大步小步算法
查看>>
iOS 一个ViewController上显示2个tableView的方法
查看>>
VSCode插件整理
查看>>
【六】tf和cgi进行联合试验,完成日志服务器
查看>>
面试题解(2):loop相关
查看>>
《当当网系统分级与海量信息动态发布实践》读后感
查看>>
完整的学习C++的读书路线图
查看>>
Android获取屏幕宽度、高度的4种方法
查看>>
Go学习笔记-使用MySQL数据库
查看>>
python asyncio异步代理池
查看>>
httpclient post请求实例(自己写的)
查看>>
记一次log4j日志文件输出错误的解决
查看>>
什么是PHP Guzzle?
查看>>
rabbitmq 不发送ack消息如何处理: RabbitMQ 消息确认以及消息消费方处理消息时候抛出了异常以...
查看>>
Bluefish
查看>>