티스토리 뷰

반응형

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

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 그리디 알고리즘
  • 정렬

 


 

⊙ 문제 접근 과정

 

벡터로 값을 받고 정렬한 후 두 번째 값과 첫 번째 값을 비교해주면서 count 값을 올려주었다.


 

⊙ 문제 풀이

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int N;
int cnt=1;
vector<pair<int,int>> v;

bool comp(pair<int,int> a,pair<int,int> b) {
    if(a.second == b.second) {
        return a.first < b.first;
    } else {
        return a.second <b.second;
    }
}

int main() {
    cin>> N;

    for(int i=0;i<N;i++) {
        int x,y;
        cin >> x>>y;
        v.push_back({x,y});
    }

    sort(v.begin(),v.end(),comp);

    int now = v[0].second;
    for (int i=1;i<N;i++) {
        if (now <=v[i].first) {
            cnt++;
            now=v[i].second;
        }
    }

    cout << cnt;
}

⊙ 결과

 


⊙ 마무리

 

 

NONE

 

좋아요 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함