π·πΌλͺ¨μ¬λ΄μ κ°λ°μμ²π·πΌ
[JAVA/μ½λ©ν μ€νΈ] λ―Έλ‘νμ(DFS) λ³Έλ¬Έ
κ°λ°/μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ JAVA
[JAVA/μ½λ©ν μ€νΈ] λ―Έλ‘νμ(DFS)
μμΌμ΄ 2022. 3. 18. 17:34λ°μν
λ¬Έμ
7*7 격μν λ―Έλ‘λ₯Ό νμΆνλ κ²½λ‘μ κ°μ§μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
μΆλ°μ μ 격μμ (1, 1) μ’νμ΄κ³ , νμΆ λμ°©μ μ (7, 7)μ’νμ΄λ€. 격μνμ 1μ λ²½μ΄κ³ , 0μ ν΅λ‘μ΄λ€.
격μνμ μμ§μμ μνμ’μ°λ‘λ§ μμ§μΈλ€. λ―Έλ‘κ° λ€μκ³Ό κ°λ€λ©΄
μμ μ§λμμ μΆλ°μ μμ λμ°©μ κΉμ§ κ° μ μλ λ°©λ²μ μλ 8κ°μ§μ΄λ€.
μ λ ₯
7*7 격μνμ μ λ³΄κ° μ£Όμ΄μ§λλ€.
μΆλ ₯
첫 λ²μ§Έ μ€μ κ²½λ‘μ κ°μ§μλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1
0 0 0 0 0 0 0
0 1 1 1 1 1 0
0 0 0 1 0 0 0
1 1 0 1 0 1 1
1 1 0 0 0 0 1
1 1 0 1 1 0 0
1 0 0 0 0 0 0
μμ μΆλ ₯ 1
8
import java.util.*;
public class Main {
static int[] disX = {0, 1, 0, -1};
static int[] disY = {1, 0, -1, 0};
static int[][] array;
static int answer = 0;
public void DFS(int x, int y){
if(x<0 || x>6 || y<0 || y>6){
return;
}
if(array[x][y] == 1){
return;
}
if(x == 6 && y == 6){
answer ++;
}else{
for(int i=0; i<4; i++){
array[x][y] = 1;
DFS(x+disX[i], y+disY[i]);
array[x][y] = 0;
}
}
}
public void solution(int n, int r){
DFS(n, r);
System.out.println(answer);
}
public static void main(String[] args) {
Main main = new Main();
Scanner in = new Scanner(System.in);
array = new int[7][7];
for(int i=0; i<7; i++){
for(int j=0; j<7; j++){
array[i][j] = in.nextInt();
}
}
main.solution(0, 0);
}
}
'κ°λ° > μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA/μ½λ©ν μ€νΈ] ν λ§ν (BFS νμ©) (0) | 2022.03.18 |
---|---|
[JAVA/μ½λ©ν μ€νΈ] λ―Έλ‘μ μ΅λ¨κ±°λ¦¬ ν΅λ‘(BFS) (0) | 2022.03.18 |
[JAVA/μ½λ©ν μ€νΈ] μμ₯ (0) | 2022.03.04 |
[νλ‘κ·Έλλ¨Έμ€/JAVA] μ«μ κ²μ (0) | 2022.02.20 |
[νλ‘κ·Έλλ¨Έμ€/JAVA] κ°μ₯ ν° μ (0) | 2022.02.18 |
Comments