백준 1931 회의실배정

백준 1931 회의실배정.

백준 1931번 "회의실배정" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.

코드

백준 11399번 "ATM" 문제의 코드입니다.

1. 메모리 3564kb, 36ms.

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct mt{
	int start,end;
};
bool compare(const mt &t1,const mt &t2) {
	if (t1.end != t2.end)
		return t1.end < t2.end;
	else 
		return t1.start < t2.start;
}
int main(){
	int n,i,count=0,endc=0;
	cin>>n;
	vector<mt> meeting_v;
	mt temp;
	for(i=0;i<n;i++){
		int start,end;
		scanf("%d %d",&start,&end);
		temp.start = start, temp.end = end;
		meeting_v.push_back(temp);
	}
	sort(meeting_v.begin(), meeting_v.end(), compare);
	for(i=0;i<n;i++){
		if(endc<=meeting_v[i].start){
			endc=meeting_v[i].end;
			count++;
		}	
	}
	cout<<count<<endl;
	return 0;
}

2. 메모리 2800kb, 84ms.

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct mt{
	int start,end;
};
bool compare(const mt &t1,const mt &t2) {
	if (t1.end != t2.end)
		return t1.end < t2.end;
	else 
		return t1.start < t2.start;
}
int main(){
	int n,i,count=0,endc=0;
	cin>>n;
	vector<mt> meeting_v(n);
	mt temp;
	for(i=0;i<n;i++){
		cin>>meeting_v[i].start>>meeting_v[i].end;
	}
	sort(meeting_v.begin(), meeting_v.end(), compare);
	for(i=0;i<n;i++){
		if(endc<=meeting_v[i].start){
			endc=meeting_v[i].end;
			count++;
		}	
	}
	cout<<count<<endl;
	return 0;
}

실행

위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.

'C' 카테고리의 다른 글

백준 2908 상수 C++  (0) 2023.03.27
백준 1152 단어의 개수 C++  (0) 2023.03.27
백준 11047 동전 0  (0) 2020.09.05
백준 11399 ATM  (0) 2020.09.04
백준 4344 평균은 넘겠지  (0) 2020.05.09

Designed by JB FACTORY