[항 저 우 전기 oj] - 1234 문 을 여 는 사람 이 문 을 닫 는 사람 (빨리 줄 을 서 라, 구조 체)

2443 단어
문 을 여 는 사람과 문 을 닫 는 사람.
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13478    Accepted Submission(s): 6873
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
구조 체 를 처음 접 했 는데 처음으로 sort 로 빨리 줄 을 서서 기념 해 보 세 요.이 단계 에서 비교적 고전적 인 문제 이기 도 하 다.
제목: 가장 먼저 진 것 과 가장 늦게 간 것.
메모: strcmp 함수 사용.
코드 는 다음 과 같 습 니 다:
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
struct people
{
	char name[111];
	char st[44];
	char end[44];
}pre[1111];
bool cmp1(people a,people b)
{
	if (strcmp(a.st,b.st)==-1)
		return 1;
	else
		return 0;
}
bool cmp2(people a,people b)
{
	if (strcmp(a.end,b.end)==1)
		return 1;
	else
		return 0;
}
int main()
{
	int u;
	int n;		//    
	scanf ("%d",&u);
	while (u--)
	{
		scanf ("%d",&n);
		for (int i=0;i<n;i++)
		{
			scanf ("%s %s %s",pre[i].name,pre[i].st,pre[i].end);
		}
		sort(pre,pre+n,cmp1);
		printf ("%s ",pre[0].name);
		sort(pre,pre+n,cmp2);
		printf ("%s
",pre[0].name); } return 0; }

좋은 웹페이지 즐겨찾기