File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ // https://www.acmicpc.net/problem/17352
2+
3+ #include < iostream>
4+ #include < algorithm>
5+ #include < vector>
6+ using namespace std ;
7+
8+ int N;
9+ int parent[300001 ];
10+
11+ int getParent (int n) {
12+ if (parent[n] == n) return n;
13+ else return parent[n] = getParent (parent[n]);
14+ }
15+
16+ void unionParent (int a, int b) {
17+ int pa = getParent (a);
18+ int pb = getParent (b);
19+
20+ if (pa < pb) parent[pb] = pa;
21+ else parent[pa] = pb;
22+ }
23+
24+ int main (){
25+ ios_base::sync_with_stdio (false );
26+ cin.tie (NULL ); cout.tie (NULL );
27+
28+ cin >> N;
29+ // 부모 노드 초기화
30+ for (int i = 1 ; i <= N; i++){
31+ parent[i] = i;
32+ }
33+
34+ for (int i = 0 ; i < N - 2 ; i++){
35+ int u, v;
36+ cin >> u >> v;
37+ unionParent (u, v);
38+ }
39+
40+ // 연결 안 된 노드 찾기
41+ for (int i = 1 ; i < N; i++){
42+ if (getParent (i) != getParent (i + 1 )) {
43+ cout << i << " " << i + 1 ;
44+ break ;
45+ }
46+ }
47+ return 0 ;
48+ }
You can’t perform that action at this time.
0 commit comments