View
λ¬Έμ
μΈλ‘ RμΉΈ, κ°λ‘ CμΉΈμΌλ‘ λ ν λͺ¨μμ 보λκ° μλ€. 보λμ κ° μΉΈμλ λλ¬Έμ μνλ²³μ΄ νλμ© μ ν μκ³ , μ’μΈ‘ μλ¨ μΉΈ (1ν 1μ΄) μλ λ§μ΄ λμ¬ μλ€.
λ§μ μνμ’μ°λ‘ μΈμ ν λ€ μΉΈ μ€μ ν μΉΈμΌλ‘ μ΄λν μ μλλ°, μλ‘ μ΄λν μΉΈμ μ ν μλ μνλ²³μ μ§κΈκΉμ§ μ§λμ¨ λͺ¨λ μΉΈμ μ ν μλ μνλ²³κ³Όλ λ¬λΌμΌ νλ€. μ¦, κ°μ μνλ²³μ΄ μ ν μΉΈμ λ λ² μ§λ μ μλ€.
μ’μΈ‘ μλ¨μμ μμν΄μ, λ§μ΄ μ΅λν λͺ μΉΈμ μ§λ μ μλμ§λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€. λ§μ΄ μ§λλ μΉΈμ μ’μΈ‘ μλ¨μ μΉΈλ ν¬ν¨λλ€.
μ λ ₯
첫째 μ€μ Rκ³Ό Cκ° λΉμΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 β€ R,C β€ 20) λμ§Έ μ€λΆν° Rκ°μ μ€μ κ±Έμ³μ 보λμ μ ν μλ Cκ°μ λλ¬Έμ μνλ²³λ€μ΄ λΉμΉΈ μμ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ λ§μ΄ μ§λ μ μλ μ΅λμ μΉΈ μλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1
2 4
CAAB
ADCB
μμ μΆλ ₯ 1
3
π€¦ββοΈ My Solution
package WS;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main_1987 {
static char map[][];
// λ°©ν₯νμ
static int[] dy = { -1, 1, 0, 0 };
static int[] dx = { 0, 0, -1, 1 };
static boolean[] check;
static int R, C;
static int max = Integer.MIN_VALUE;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
R = Integer.parseInt(st.nextToken());
C = Integer.parseInt(st.nextToken());
map = new char[R][];
check = new boolean[26]; // μνλ²³μ μ¬μ©μ¬λΆ 체ν¬
for (int i = 0; i < R; i++) {
map[i] = br.readLine().toCharArray();
}
check[map[0][0] - 'A'] = true; // 첫 μμμ μ μνλ²³μ μ¬μ©νλ€κ³ 체ν¬
dfs(0, 0, 1);
System.out.println(max);
}
static void dfs(int x, int y, int cnt) {
if (cnt > max) // μ§μλ³μ cntλ₯Ό λμ€μλ μ°κΈ° μν΄μ μ μλ³μμΈ maxλ₯Ό μ΄μ©ν΄μ μ΅λκ° μΆλ ₯
max = cnt;
for (int d = 0; d < 4; d++) { // μνμ’μ° νμ
int nx = x + dx[d];
int ny = y + dy[d];
if (nx < 0 || ny < 0 || ny >= R || nx >= C || check[map[ny][nx] - 'A'] == true)
continue;
check[map[ny][nx] - 'A'] = true;
dfs(nx, ny, cnt + 1);
check[map[ny][nx] - 'A'] = false;
}
}
}
'μκ³ λ¦¬μ¦ > μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BJ] 2003λ²: μλ€μ ν©2 (Java) (0) | 2022.08.30 |
---|---|
[BJ]10974λ²: λͺ¨λ μμ΄(Java) (0) | 2022.08.30 |
[BJ] 1206: DFSμ BFS(Java) (0) | 2022.08.30 |
[SWEA] 1247λ²: μ΅μ κ²½λ‘(Java) (0) | 2022.08.30 |
[BJ] 3109: λΉ΅μ§(Java) (0) | 2022.08.30 |