iamRecoder / coding-test-training

0 stars 0 forks source link

친구인가? (Disjoint-Set : Union&Find) #4

Open iamRecoder opened 1 year ago

iamRecoder commented 1 year ago
스크린샷 2023-03-18 오전 10 36 52

▣ 입력예제 1 9 7 1 2 2 3 3 4 1 5 6 7 7 8 8 9 3 8

▣ 출력예제 1 NO

import java.util.*;
class Main {
    static int[] unf;
    public static int Find(int v){
        if(v==unf[v]) return v;
        else return unf[v]=Find(unf[v]);
    }
    public static void Union(int a, int b){
        int fa=Find(a);
        int fb=Find(b);
        if(fa!=fb) unf[fa]=fb;
    }
    public static void main(String[] args){
        Scanner kb = new Scanner(System.in);
        int n=kb.nextInt();
        int m=kb.nextInt();
        unf=new int[n+1];
        for(int i=1; i<=n; i++) unf[i]=i;
        for(int i=1; i<=m; i++){
            int a=kb.nextInt();
            int b=kb.nextInt();
            Union(a, b);
        }
        int a=kb.nextInt();
        int b=kb.nextInt();
        int fa=Find(a);
        int fb=Find(b);
        if(fa==fb) System.out.println("YES");
        else System.out.println("NO");      
    }
}