dfs 두더쥐

graph[N][N], K, N
visited [N]

dfs(k){
for(i=1;i<=N;i++){
n = graph[k][i]
if(!visited[n] && n!=0 ){
visited[n] = true
dfs(n)
}
}
return
}

두더쥐
dfs_rat(a,b,c){
A[a][b] =c
if(safe(a+1,b) && A[a=1][b]==1) dfs_rat(a+1,b,c)
if(safe(a-1,b) && A[a-1][b]==1) dfs_rat(a-1,b,c)
if(safe(a,b+1) && A[a][b+1]==1) dfs_rat(a,b+1,c)
if(safe(a,b-1) && A[a][b-1]==1) dfs_rat(a,b-1,c)
}
boolean safe(a,b){
return a>=0 && a<N && b>=0 && b<N
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if(A[i][j]==1){
cnt++;
dfs(i,j,cnt+1)
}

 

https://www.digitalculture.or.kr/koi/StudyOnline.do#

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중


%d 블로거가 이것을 좋아합니다: