Jin's Library

[Gold Ⅳ] 1976 - 여행 가자 본문

Algorithm - Java/BOJ - Gold

[Gold Ⅳ] 1976 - 여행 가자

Linkin 2025. 10. 1. 10:22
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_1976 {
    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));
        StringTokenizer st;
        int N = Integer.parseInt(br.readLine());
        int M = Integer.parseInt(br.readLine());
        parent = new int[N+1];
        for(int i = 1; i <= N; i++) parent[i] = i;
        for(int i = 1; i <= N; i++){
            st = new StringTokenizer(br.readLine());
            for(int j = 1; j <= N; j++){
                if(Integer.parseInt(st.nextToken()) == 1) union(i, j); 
            }
        }

        st = new StringTokenizer(br.readLine());
        int start = Integer.parseInt(st.nextToken());
        for(int i = 1; i < M; i++){
            if(find(start) != find(Integer.parseInt(st.nextToken()))){
                System.out.println("NO");
                return;
            }
        }
        System.out.println("YES");
    }
}

'Algorithm - Java > BOJ - Gold' 카테고리의 다른 글

[Gold Ⅱ] 10775 - 공항  (0) 2025.10.01
[Gold Ⅴ] 1717 - 집합의 표현  (0) 2025.10.01
[Gold Ⅳ] 17298 - 오큰수  (0) 2025.09.30
[Gold Ⅳ] 16120 - PPAP  (0) 2025.09.29
[Gold Ⅳ] 9935 - 문자열 폭발  (0) 2025.09.29