백준 4195 친구 네트워크 혼내주기
유니온 파인드. 이름은 unordered_map을 이용해서 고유 번호를 부여하고 union하는 과정에서 각 집합의 크기를 유지하는 부분을 추가해주면 쉽게 풀린다. #include #include #include #include using namespace std; int parent[200000]; int find(int u){ if(parent[u] < 0) return u; return parent[u] = find(parent[u]); } int merge(int u, int v){ u = find(u); v = find(v); if(u == v) return parent[u]; parent[u] += parent[v]; parent[v] = u; return parent[u]; } int main..
혼내주기
2021. 8. 1. 23:01