인프런 커뮤니티 질문&답변

 집사님의 프로필 이미지
집사

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2주차 개념 #9. 깊이우선탐색(DFS, Depth First Search)

Connected Component 문제 질문!

해결된 질문

작성

·

37

·

수정됨

0

안녕하세요!

Connected Componenet문제로 방귀 문제를 예시로 들어줬는데 만약 조건중에 어떤 육지는 오염이 되지 않게 해주는 장치가 있다고 한다면 해당 장치가 있는 육지는 ret에 포함되지 않아야 하는데, 이렇게 코드를 짤려면 어떻게 해야할까요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

void DFS(int y, int x){
    visited[y][x] = 1;
    for(int i = 0; i < 4; i++){
        ny = y + dy[i];
        nx = x + dx[i];
        if(ny < 0 || nx < 0 || ny >=n || nx >= m) continue;
        if(a[ny][nx] == 1 && !visited[ny][nx]){
            DFS(ny, nx);
        }
    }
    return;
}

이부분에서 조건문을 써서 해당 장치 -> 탐색하지 않게 -> continue부분을 넣으시면 됩니다.

 

감사합니다.

 집사님의 프로필 이미지
집사

작성한 질문수

질문하기