본문 바로가기

알고리즘 풀이

백준 1931번 회의실 배정

https://www.acmicpc.net/problem/1931


위 알고리즘은 그리디 알고리즘의 기본이다.

자세한 설명은

https://www.zerocho.com/category/Algorithm/post/584ba5c9580277001862f188

에 더 잘 나와있다.


#include <cstdio>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n, start, end;
vector<pair<int ,int>> v;
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%d %d", &start, &end);
v.push_back(make_pair(end, start));
}
sort(v.begin(), v.end());
int result = 1;
int endTime = v[0].first;
for (int i = 1; i < n; ++i) {
if (endTime <= v[i].second) {
result++;
endTime = v[i].first;
}
}
printf("%d", result);
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

백준 2455번 지능형 기차  (0) 2018.06.05
백준 15685번 드래곤 커브  (0) 2018.06.04
백준 9012번 괄호  (0) 2018.05.05
백준 2805번 나무자르기  (0) 2018.04.17
백준 2512번 예산  (0) 2018.04.16