Skip to content

Commit 4769787

Browse files
committed
[DFS] baekjoon-1987
1 parent 022ac0e commit 4769787

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

โ€ŽREADME.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
| 11 | | [Baekjoon-13023 ABCDE](./src/DFS/P13023) | |
9191
| 12 | | [SWEA-5215 ํ–„๋ฒ„๊ฑฐ ๋‹ค์ด์–ดํŠธ](./src/DFS/swea5215) | |
9292
| 13 | | [Baekjoon-3109 ๋นต์ง‘](./src/DFS/P3109) | |
93+
| 14 | | [Baekjoon-1987 ์•ŒํŒŒ๋ฒณ](./src/DFS/P1987) | |
9394

9495
### BFS
9596

โ€Žsrc/DFS/P1987/Main.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package DFS.P1987;
2+
3+
import java.io.*;
4+
import java.util.StringTokenizer;
5+
6+
public class Main {
7+
8+
static int R, C, max;
9+
static char[][] map;
10+
static boolean[] visited = new boolean[26];
11+
12+
static int[] di = {-1, 0, 1, 0};
13+
static int[] dj = {0, 1, 0, -1};
14+
15+
public static void main(String[] args) throws Exception {
16+
System.setIn(new FileInputStream("src/DFS/P1987/input.txt"));
17+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
18+
StringTokenizer st = new StringTokenizer(br.readLine());
19+
20+
R = Integer.parseInt(st.nextToken());
21+
C = Integer.parseInt(st.nextToken());
22+
23+
map = new char[R][C];
24+
for (int i = 0; i < R; i++) map[i] = br.readLine().toCharArray();
25+
26+
visited[map[0][0]-'A'] = true;
27+
dfs(0, 0, 1);
28+
System.out.println(max);
29+
}
30+
31+
static void dfs(int i, int j, int cnt) {
32+
for (int t = 0; t < 4; t++) {
33+
int to_i = i + di[t];
34+
int to_j = j + dj[t];
35+
36+
if (isValidPath(to_i, to_j) && !visited[map[to_i][to_j]-'A']) {
37+
visited[map[to_i][to_j]-'A'] = true;
38+
dfs(to_i, to_j, cnt+1);
39+
visited[map[to_i][to_j]-'A'] = false;
40+
}
41+
}
42+
max = Math.max(max, cnt);
43+
}
44+
45+
static boolean isValidPath(int i, int j) {
46+
return 0 <= i && i < R && 0 <= j && j < C;
47+
}
48+
}

โ€Žsrc/DFS/P1987/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## [baekjoon-1987] ์•ŒํŒŒ๋ฒณ
2+
3+
![image](https://user-images.githubusercontent.com/22045163/108330570-15c25580-7211-11eb-8be2-c4fee4e06cf6.png)
4+
5+
![image](https://user-images.githubusercontent.com/22045163/108330608-22df4480-7211-11eb-9336-32e4fd4d72af.png)

โ€Žsrc/DFS/P1987/input.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2 4
2+
CATB
3+
BDCB

0 commit comments

Comments
ย (0)