📝 문제 정보#
🧐 관찰 및 접근#
- 더 자세히 생각해보면, $(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";
}
}
}