Hdu1234-开门人和关门人
2016-09-24 02:21
141 查看
开门人和关门人
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15002 Accepted Submission(s): 7692
[align=left]Problem Description[/align]
每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签
到、签离记录,请根据记录找出当天开门和关门的人。
[align=left]Input[/align]
测试输入的第一行给出记录的总天数N ( > 0 )。下面列出了N天的记录。
每天的记录在第一行给出记录的条目数M ( > 0 ),下面是M行,每行的格式为
证件号码 签到时间 签离时间
其中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。
[align=left]Output[/align]
对每一天的记录输出1行,即当天开门和关门人的证件号码,中间用1空格分隔。
注意:在裁判的标准测试输入中,所有记录保证完整,每个人的签到时间在签离时间之前,
且没有多人同时签到或者签离的情况。
[align=left]Sample Input[/align]
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
[align=left]Sample Output[/align]
ME3021112225321 ME3021112225321 EE301218 MA301134 SC3021234 CS301133
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while(t-->0){ int n = sc.nextInt(); info []a = new info ; for(int i=0;i<n;i++){ String id = sc.next(); String start = sc.next(); String end = sc.next(); a[i] = new info(id,start,end); } String startId=a[0].getId(); String endId=a[0].getId(); int st=a[0].getTimeStart(); int et=a[0].getTimeEnd(); for(int i=1;i<n;i++){ if(a[i].getTimeStart()<st){ st=a[i].getTimeStart(); startId = a[i].getId(); } if(a[i].getTimeEnd()>et){ et=a[i].getTimeEnd(); endId = a[i].getId(); } } System.out.println(startId+" "+endId); } } } class info{ private String id; private String start; private String end; private int timeStart; private int timeEnd; private String[] strs1; private String[] strs2; public info(String id,String start,String end){ this.id = id; this.start =start; this.end = end; strs1 = start.split(":"); strs2 = end.split(":"); timeStart = Integer.parseInt(strs1[0])*60*60+Integer.parseInt(strs1[1])*60+Integer.parseInt(strs1[2]); timeEnd = Integer.parseInt(strs2[0])*60*60+Integer.parseInt(strs2[1])*60+Integer.parseInt(strs2[2]); } public String getId() { return id; } public int getTimeStart() { return timeStart; } public int getTimeEnd() { return timeEnd; } }平时很少用类做Hdu的题目~
相关文章推荐
- HDU1234开门人和关门人
- hdu1234 开门人和关门人
- 开门人和关门人
- hdu-1234-开门人和关门人
- hdu-1234-开门人和关门人
- 题目1013:开门人和关门人
- HDU 1234 开门人和关门人(结构体)
- I题 hdu 1234 开门人和关门人
- HDU 1.3.3 开门人和关门人
- 开门人和关门人
- hdoj水题1234 开门人和关门人
- 开门人和关门人 (sort排序)
- K - 开门人和关门人
- 【每日一题(1)】开门人和关门人 HDU - 1234 (05年浙大计算机研究生考试)
- 算法之美——开门人和关门人(printf,scanf用法)
- HDU---开门人和关门人---1234
- HDOJ_杭电1234_开门人和关门人,又是字符串考察题目
- 【九度】题目1013:开门人和关门人
- HDU1234 开门人和关门人
- HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)