[백준] 5567 결혼식 - Java
bfs / dfs를 돌릴 필요 없이 리스트로 그래프를 표현하는것만으로 풀 수 있다.
상근이의 학번은 1이니, 리스트1에 해당하는 원소들을 추가해 주고 (친구 탐색)
친구의 친구를 구하기 위해 추가된 원소들에 대해 다시 한 번 탐색을 수행하자.
import java.util.*;
import java.io.*;
public class Main {
static int N;
static int M;
static int target1;
static int target2;
static int[] parent;
static ArrayList<Integer>[] list;
static boolean[] visit;
static int[] dist;
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
M = Integer.parseInt(br.readLine());
list = new ArrayList[N+1];
for(int i=1; i<N+1; i++){
list[i] = new ArrayList<>();
}
for(int i=0; i<M; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
list[a].add(b);
list[b].add(a);
}
visit = new boolean[N+1];
ArrayList<Integer> list1 = new ArrayList<>();
for(int y : list[1]){
list1.add(y);
visit[y] = true;
}
for(int i=0; i<list1.size(); i++){
for(int y : list[list1.get(i)]){
visit[y] = true;
}
}
int cnt = 0;
for(int i=2; i<N+1; i++){
if(visit[i]){
cnt++;
}
}
System.out.println(cnt);
}
}
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1068 트리 - Java (0) | 2022.06.22 |
---|---|
[백준] 3649 로봇 프로젝트 - Java (0) | 2022.06.12 |
[백준] 2644 촌수계산 - Java (0) | 2022.05.28 |
[백준] 11725 트리의 부모 찾기 - Java (0) | 2022.05.28 |
[백준] 11403 경로 찾기 - Java (0) | 2022.05.27 |
댓글
이 글 공유하기
다른 글
-
[백준] 1068 트리 - Java
[백준] 1068 트리 - Java
2022.06.22 -
[백준] 3649 로봇 프로젝트 - Java
[백준] 3649 로봇 프로젝트 - Java
2022.06.12 -
[백준] 2644 촌수계산 - Java
[백준] 2644 촌수계산 - Java
2022.05.28 -
[백준] 11725 트리의 부모 찾기 - Java
[백준] 11725 트리의 부모 찾기 - Java
2022.05.28