Skip to main content
  1. Posts/
  2. Algorithm/

BOJ 9938 방 청소

·130 words·1 min
Jiho Kim
Author
Jiho Kim
달려 또 달려

📝 문제 정보
#

🧐 관찰 및 접근
#

  • 더 자세히 생각해보면, $(1, 2), (3, 4), (2, 3)$의 술병이 있는 경우, $1, 2, 3, 4$ 4개의 서랍중 3개의 서랍에 술이 들어갈 수 있다는 것을 알 수 있다.
    • $A_i, B_i$를 보면서 분리 집합으로 묶어버린 뒤, 그 집합의 크기에 여유가 있다면 술병을 정리할 수 있다.

💻 풀이
#

  • 코드 (C++):
void solve(){
    int N, L; cin >> N >> L;
    UnionFind UF(L);
    rep(i, 0, N){
        int a, b; cin >> a >> b;
        a--; b--;
        UF.merge(a, b);
        if(UF.val[UF.find(a)] < UF.cnt[UF.find(a)]){
            cout << "LADICA\n";
            UF.add(a, 1);
        }
        else{
            cout << "SMECE\n";
        }
    }
}
🔒

구현 코드 잠금

아래 쿠팡 링크를 방문하시면 코드가 공개됩니다.
광고 수익이 블로그 운영에 도움이 됩니다 🙏

🛒 쿠팡 방문하고 코드 보기

방문 후 잠금이 자동으로 해제됩니다