• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

인접행렬 재귀함수 이렇게 짠 것도 맞는 건가요..?

24.01.21 21:16 작성 조회수 199

0

캡처.PNG이중for문도 아니고 뭔가 이상한 것 같은데 출력은 나오고..

근데 정확히 뭐가 이상한 건지 잘 모르겠어요..ㅜㅜ

맞게 짠 건지 확인 및 조언 부탁드려도 될까요..?

답변 2

·

답변을 작성해보세요.

0

잘 짜셨는데요? ㅎㅎ

#include <vector>
#include <iostream>
using namespace std;
// 전역변수로 하면 0으로 자동초기화 지역변수는 쓰레기값이 넣어짐.
bool visited[10];
bool a[10][10];
void go(bool a[][10], int idx)
{
    cout << idx << '\n';
    visited[idx] = 1;
    for (int i = 0; i < 10; ++i)
        if (a[idx][i] == 1) {
            if (visited[i] == 0)
            {
                go(a, i);
            }
        }
}

int main()
{ 
    a[1][2] = 1;
    a[2][1] = 1;
    a[1][3] = 1;
    a[3][1] = 1;
    a[3][4] = 1;
    a[4][3] = 1;
    go(a, 1);

    return 0;
}

일단은 이렇게만 하시면 괜찮습니다.

go 함수 : good

방문처리 : 좋습니다. 방문하지 않은 노드를 방문해야 합니다.

그래프 처리도 잘하셨구요.

for : 저게 10까지의 노드만이 있다면 저렇게 10까지 돌리는데 만약에 문제에서 100번째 노드가 있다면? 100까지 돌리셔야 합니다. : good

 

즉, 굉장히 잘하셨습니다. ㅎㅎ

굿이에요!ㅎㅎ




또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

안녕하세요 LK님 ㅎㅎ

저렇게 스샷으로 보내시면 제가 디버깅을 할 수 없습니다. ㅠ

혹시 0주차 : 질문하는 방법 참고해서 질문가능하실까요?

 

감사합니다.

LK님의 프로필

LK

질문자

2024.01.23

헉 죄송합니다!!

링크로 가져왔습니다!

http://boj.kr/e808a1c39cc74954a63f14721dc3dce3