开门人和关门人

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 12319    Accepted Submission(s): 6237

Problem Description
每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签 

到、签离记录。请依据记录找出当天开门和关门的人。 
 
Input
測试输入的第一行给出记录的总天数N ( > 0 )。

以下列出了N天的记录。

每天的记录在第一行给出记录的条目数M ( > 0 ),以下是M行,每行的格式为 



证件号码 签到时间 签离时间 



当中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。

 
Output
对每一天的记录输出1行。即当天开门和关门人的证件号码。中间用1空格分隔。 

注意:在裁判的标准測试输入中,全部记录保证完整,每一个人的签到时间在签离时间之前, 

且没有多人同一时候签到或者签离的情况。 
 
Sample Input
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
 
Sample Output
ME3021112225321 ME3021112225321
EE301218 MA301134
SC3021234 CS301133
 
Source
 
Recommend
JGShining   |   We have carefully selected several similar problems for you:  1228 

pid=1236" target="_blank" style="color:rgb(26,92,200); text-decoration:none">1236 1235 1237 1230 

 

Statistic | 

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 开门人和关门人 (等价转换)的更多相关文章

  1. HDUOJ----1234 开门人和关门人(浙江大学考研题)

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  3. HDU 1234 开门人和关门人 (模拟)

    题目链接 Problem Description 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签  到.签离记录,请根据记录找出当天开门和关门的人.    Input ...

  4. 九度OJ 1013:开门人和关门人 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5052 解决:2563 题目描述:     每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签到.签离记录,请 ...

  5. 开门人和关门人(结构体+sort)

    每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签 到.签离记录,请根据记录找出当天开门和关门的人.    Input 测试输入的第一行给出记录的总天数N ( > ...

  6. 题目1013:开门人和关门人(结构体自定义cmp排序)

    题目链接:http://ac.jobdu.com/problem.php?pid=1013 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  7. 杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2Fpc2luaV92Yw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  8. hdoj 1234 开门人和关门人

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) #include ...

  9. 九度OJ 1013 开门人和关门人

    #include <iostream> #include <string.h> #include <sstream> #include <math.h> ...

随机推荐

  1. sicily 1031 Campus(图算法)

    Description At present, Zhongshan University has 4 campuses with a total area of 6.17 square kilomet ...

  2. BZOJ 1336&1337最小圆覆盖

    思路: http://blog.csdn.net/commonc/article/details/52291822 (照着算法步骤写--) 已知三点共圆 求圆心的时候 就设一下圆心坐标(x,y) 解个 ...

  3. 关键字super

    1.super,相较于关键字this,可以修饰属性.方法.构造器 2.super修饰属性.方法:在子类的方法.构造器中,通过super.属性或者super.方法的形式,显式的调用父类的指定 属性或方法 ...

  4. Python 从入门到精通 全程最佳实现梳理

    零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,​26年前 编程泛型 多泛型.面向对 ...

  5. python3.x学习笔记3(基础知识)

    1.集合集合是一个无序的,不重复的数据组合,作用如下: >>去重,把一个列表变成集合,就自动去重 >>关系测试,测试两组数据之前的交集.差集.并集等关系 2.关系运算 交集: ...

  6. NodeJS学习笔记 (25)逐行读取-readline(ok)

    模块概览 readline是个非常实用的模块.如名字所示,主要用来实现逐行读取,比如读取用户输入,或者读取文件内容.常见使用场景有下面几种,本文会逐一举例说明. 文件逐行读取:比如说进行日志分析. 自 ...

  7. AtCoderBeginner091-C 2D Plane 2N Points 模拟问题

    题目链接:https://abc091.contest.atcoder.jp/tasks/arc092_a 题意 On a two-dimensional plane, there are N red ...

  8. Java基础学习总结(23)——GUI编程

    一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Containe ...

  9. Spring Cloud学习笔记【十】配置中心(消息驱动刷新配置)

    上一篇中讲到,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用 Webhook 的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案 ...

  10. 找出BST里面与Target最接近的n个数

    http://www.cnblogs.com/jcliBlogger/p/4771342.html 这里给了两种解法,一种是利用C++的priority_queue,然后逐个node输入. 另一种是先 ...