HDU1234_문 을 여 는 사람과 문 을 닫 는 사람 [구조 체 정렬] [물 문제]
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11012 Accepted Submission(s): 5612
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
절 대 컴퓨터 대학원 재시험
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct zhengjian
{
char num[20];
int shour;
int sminute;
int ssencend;
int ehour;
int eminute;
int esencend;
}a[1100];
bool cmp1(zhengjian a,zhengjian b)
{
if(a.shour != b.shour)
return a.shour<b.shour;
else if(a.sminute!=b.sminute)
return a.sminute < b.sminute;
else if(a.ssencend!=b.ssencend)
return a.ssencend < b.ssencend;
return a.num < b.num;
}
bool cmp2(zhengjian a,zhengjian b)
{
if(a.ehour != b.ehour)
return a.ehour > b.ehour;
else if(a.eminute!=b.eminute)
return a.eminute > b.eminute;
else if(a.esencend!=b.esencend)
return a.esencend > b.esencend;
return a.num < b.num;
}
int main()
{
int N,M;
while(~scanf("%d",&N))
{
for(int i = 1; i <= N; i++)
{
scanf("%d",&M);
memset(a,0,sizeof(a));
for(int j = 0; j < M; j++)
{
getchar();
scanf("%s%d:%d:%d %d:%d:%d",a[j].num,&a[j].shour,&a[j].sminute,&a[j].ssencend,&a[j].ehour,&a[j].eminute,&a[j].esencend);
}
sort(a,a+M,cmp1);
printf("%s ",a[0].num);
sort(a,a+M,cmp2);
printf("%s
",a[0].num);
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.