diff --git "a/ksinji/202512/15 BOJ \354\227\254\353\237\254\353\266\204\354\235\230 \353\213\244\353\246\254\352\260\200 \353\220\230\354\226\264\353\223\234\353\246\254\352\262\240\354\212\265\353\213\210\353\213\244!.md" "b/ksinji/202512/15 BOJ \354\227\254\353\237\254\353\266\204\354\235\230 \353\213\244\353\246\254\352\260\200 \353\220\230\354\226\264\353\223\234\353\246\254\352\262\240\354\212\265\353\213\210\353\213\244!.md" new file mode 100644 index 00000000..36719881 --- /dev/null +++ "b/ksinji/202512/15 BOJ \354\227\254\353\237\254\353\266\204\354\235\230 \353\213\244\353\246\254\352\260\200 \353\220\230\354\226\264\353\223\234\353\246\254\352\262\240\354\212\265\353\213\210\353\213\244!.md" @@ -0,0 +1,42 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + static int[] parent; + + static int find(int x) { + if (parent[x] == x) return x; + return parent[x] = find(parent[x]); + } + + static void union(int a, int b) { + a = find(a); + b = find(b); + if (a != b) parent[b] = a; + } + + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); + + parent = new int[n + 1]; + for (int i = 1; i <= n; i++) parent[i] = i; + + for (int i = 0; i < n - 2; i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + int a = Integer.parseInt(st.nextToken()); + int b = Integer.parseInt(st.nextToken()); + union(a, b); + } + + int root = find(1); + for (int i = 2; i <= n; i++) { + if (find(i) != root) { + System.out.println(1 + " " + i); + return; + } + } + } +} +```