코테에서 자주 나오는 내용 같아서 정리해보고 갑니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
static void dfs(int nn){
    if(nn>=n*n-1return ; //base line
 
 
    int x = nn%6;
    int y = nn/6
 
    //do something;    
 
}
int main(){
    //n=6;    
    for(int i=0; i<N; i++){
        for(int j=0; j<N; j++){
                dfs(i*6+j);    
        }
    }
}
 
cs

 

대부분 dfs 완탐 구조는 위와 같은 구조 입니다. 위에서 빼먹은게 

static int[] dx = {-1,1,0,0}; 

static int[] dy = {0,0,1,-1}; 

일때 한 칸에 대해서 4방향으로 완탐을 진행할 수 있는데

적다보니 .. 사라졌습니다 ㅠ.ㅠ

+)

dfs 로 완탐이 가능하다면 dp로도 해결할 수 있는 방법이 있습니다.