hdu1234 开门人和关门人 (等价转换)
开门人和关门人
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 12319 Accepted Submission(s): 6237
到、签离记录。请依据记录找出当天开门和关门的人。
以下列出了N天的记录。
每天的记录在第一行给出记录的条目数M ( > 0 ),以下是M行,每行的格式为
证件号码 签到时间 签离时间
当中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。
注意:在裁判的标准測试输入中,全部记录保证完整,每一个人的签到时间在签离时间之前,
且没有多人同一时候签到或者签离的情况。
3
1
ME3021112225321 00:00:00 23:59:59
2
EE301218 08:05:35 20:56:35
MA301134 12:35:45 21:40:42
3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40
ME3021112225321 ME3021112225321
EE301218 MA301134
SC3021234 CS301133
pid=1236" target="_blank" style="color:rgb(26,92,200); text-decoration:none">1236
1235 1237 1230Statistic | pid=1234" style="color:rgb(26,92,200); text-decoration:none">Submit problemid=1234" style="color:rgb(26,92,200); text-decoration:none">Discuss pid=1234" style="color:rgb(26,92,200); text-decoration:none">Note
这道题,就是找最開始开门的人,和最后关门的人。所以我们仅仅要两个排序即可,一个是找最早进来的人,一个找最晚离开的人。
当然这道题假设我们依照小时分钟秒排序,会非常麻烦。
所以我们能够把小时。分钟所有换算成秒来进行计算。
详细看代码:
#include <stdio.h>
#include <algorithm>
using namespace std;
struct node
{
char str[20];
int star,end;
}c[1000];
bool cmp1(node x,node y)
{
return x.star<y.star;
}
bool cmp2(node x,node y)
{
return x.end>y.end;
}
int main()
{
int ncase,n;
scanf("%d",&ncase);
while(ncase--)
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int x1,x2,x3;
scanf("%s %d:%d:%d",c[i].str,&x1,&x2,&x3);
c[i].star=x3+x2*60+x1*3600;
scanf("%d:%d:%d",&x1,&x2,&x3);
c[i].end=x3+x2*60+x1*3600;
}
sort(c,c+n,cmp1);
printf("%s ",c[0].str);
sort(c,c+n,cmp2);
printf("%s\n",c[0].str);
}
return 0;
}
hdu1234 开门人和关门人 (等价转换)的更多相关文章
- HDUOJ----1234 开门人和关门人(浙江大学考研题)
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- HDU 1234 开门人和关门人 (模拟)
题目链接 Problem Description 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人. Input ...
- 九度OJ 1013:开门人和关门人 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5052 解决:2563 题目描述: 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签到.签离记录,请 ...
- 开门人和关门人(结构体+sort)
每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人. Input 测试输入的第一行给出记录的总天数N ( > ...
- 题目1013:开门人和关门人(结构体自定义cmp排序)
题目链接:http://ac.jobdu.com/problem.php?pid=1013 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- 杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse' Trade》《今年暑假不AC》《排名》《开门人和关门人》
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fpc2luaV92Yw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- hdoj 1234 开门人和关门人
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) #include ...
- 九度OJ 1013 开门人和关门人
#include <iostream> #include <string.h> #include <sstream> #include <math.h> ...
随机推荐
- iview 分页的案例
//html部分 //js部分
- vue组件父子之间相互通信案例
- UVa 208 Firetruck【回溯】
题意:给出一个n个节点的无向图,以及某个节点k,按照字典序从小到大输出从节点1到节点k的所有路径 看的题解 http://blog.csdn.net/hcbbt/article/details/975 ...
- 事件处理:pull与push
push:对应函数调用:属于发起方主动型 pull :对应消息循环:模型为信息池+事件循环+派发:属于接收者主动: 通常这种模式的角色对应于消息中心(事件派发中心). 观察者模式:变化+派发.
- WLAN STA/AP 并发
WLAN STA/AP 并发 Android 9 引入了可让设备同时在 STA 和 AP 模式下运行的功能.对于支持双频并发 (DBS) 的设备,此功能让一些新功能得以实现,例如在用户想要启用热点 ( ...
- bzoj 3408 热浪 最短路
一道最短路的模板题,就当练习一下SPFA和dijkstra了 SPFA #include<bits/stdc++.h> using namespace std; struct edge{ ...
- hiho 1055 刷油漆 树形dp
一个简单的树上的背包问题. 代码: #include <iostream> #include <cstdio> #include <cstring> #includ ...
- oracle_序列、索引、同义词
①序列 1.序列: 可供多个用户用来产生唯一数值的数据库对象 自己主动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存能够提高訪问效率 2.CREA ...
- 轻松学习之Linux教程四 神器vi程序编辑器攻略
本系列文章由@超人爱因斯坦出品,转载请注明出处. 文章链接: http://hpw123.net/a/Linux/Linuxjichu/2014/1026/93. ...
- 弯道超车,换一个思路,避免addEventListener为同一个元素重复赋予事件
addEventListener可以给同一个元素赋予多次同一个事件. 执行一次,就多一次事件效果.这不是我想要的. window.onload = function(){ var box = docu ...