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

LK님의 프로필 이미지
LK

작성한 질문수

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

2주차 개념 #4-2. 인접행렬(adjacency matrix)

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

해결된 질문

작성

·

348

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
질문자

헉 죄송합니다!!

링크로 가져왔습니다!

http://boj.kr/e808a1c39cc74954a63f14721dc3dce3

LK님의 프로필 이미지
LK

작성한 질문수

질문하기