-
백준 1931번: 회의실배정그리디(Greedy) 2019. 1. 5. 20:17반응형
https://www.acmicpc.net/problem/1931
1. 문제
2. 알고리즘
키워드 - 구현, 그리디
3. 코드
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include <iostream>#include <sstream>#include <string>#include <algorithm>#include <functional>#include <vector>#include <list>#include <queue>#include <deque>#include <map>#include <set>#include <stack>#include <math.h>#include <memory.h>using namespace std;#define MAX_SIZE 100#define INF 0x7fffffff#define CENDL "\n"#define ll long long#define c_reverse(s) reverse(s.begin(), s.end())#define c_sort(s) sort(s.begin(), s.end())#define print_vector(v) for(int i=0; i<v.size(); i++) cout << v[i];bool cmp(const pair<int, int> &a, const pair<int, int> &b) {if (a.second == b.second) {return a.first < b.first;}else {return a.second < b.second;}}int main() {cin.tie(0);std::ios::sync_with_stdio(false);int n; cin >> n;vector<pair<int, int>> pp(n);for (int i = 0; i < n; i++) {cin >> pp[i].first >> pp[i].second;}// 오름차순 정렬, 만약 끝나는 시간이 같으면 시작 시간이 작은 순으로sort(pp.begin(), pp.end(), cmp);int now = 0;int ans = 0;for (int i = 0; i < n; i++) {if (now <= pp[i].first) {now = pp[i].second;ans += 1;}}cout << ans << CENDL;return 0;}cs 반응형'그리디(Greedy)' 카테고리의 다른 글
백준 1946번: 신입 사원 (0) 2019.01.06 백준 4307번: 개미 (0) 2019.01.05