Skip to content

Commit 0e12aaf

Browse files
committed
BOJ_11403 : 경로 찾기
1 parent c178c31 commit 0e12aaf

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

week3/BOJ_11403(경로 찾기).java

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class Main {
5+
6+
public static List<List<Integer>> list;
7+
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
int N = Integer.parseInt(br.readLine());
11+
list = new ArrayList<>();
12+
for(int i=0; i<N; i++) {
13+
list.add(new ArrayList<>());
14+
}
15+
for(int i=0; i<N; i++) {
16+
StringTokenizer st = new StringTokenizer(br.readLine());
17+
for(int j=0; j<N; j++) {
18+
int edge = Integer.parseInt(st.nextToken());
19+
if(edge == 1) {
20+
list.get(i).add(j);
21+
}
22+
}
23+
}
24+
StringBuffer sb = new StringBuffer();
25+
for(int i=0; i<N; i++) {
26+
int[] visited = new int[N];
27+
dfs(i, visited);
28+
for(int j=0; j<N; j++) {
29+
sb.append(visited[j]).append(' ');
30+
}
31+
sb.append('\n');
32+
}
33+
System.out.println(sb);
34+
}
35+
36+
public static void dfs(int n, int[] visited) {
37+
List<Integer> edge = list.get(n);
38+
for(int i=0; i<edge.size(); i++) {
39+
if(visited[edge.get(i)] != 1) {
40+
visited[edge.get(i)] = 1;
41+
dfs(edge.get(i), visited);
42+
}
43+
}
44+
}
45+
}

0 commit comments

Comments
 (0)