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

조현성님의 프로필 이미지
조현성

작성한 질문수

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

3-H

3-H next > MAX라고 하면 틀리는 이유

작성

·

197

·

수정됨

0

http://boj.kr/21fd549ee17c48b9be877802112b7a91

if문에서

next > MAX라고 하면 틀리네요

next >= MAX라고 하면 맞구요 왜 그런걸까요

그리고 v.push_back(i) 할 때

1, 2, 3 이렇게 넣으면 1 , 2, 3 순서대로 들어가는게 아니라

3, 2, 1 이렇게 되네요 처음 알았습니다

답변 1

0

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

안녕하세요 현성님 ㅎㅎ

 

next>MAX

이렇게 하게 되면 MAX에 해당하는 정점이 들어갈 수도 있죠?

그렇게 되면

            pre[next]=here;
            q.push(next);

이 부분에도 (visited도 똑같이)

해당 부분이 들어가게 됩니다.

즉, 배열을 10으로 설정해놨는데

10짜리 인덱스가 들어가게 됩니다. 그래서 안됩니다. ㅎㅎ

 

1, 2, 3 이렇게 넣으면 1 , 2, 3 순서대로 들어가는게 아니라

3, 2, 1 이렇게 되네요 처음 알았습니다

>>

    for(int i=k;i!=n;i=pre[i]){
        v.push_back(i);
    }

거꾸로 넣어서 그렇게 들어가는 것입니다..

 

 

즐거운 추석 보내세요 현성님

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

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

감사합니다.

강사 큰돌 올림.


조현성님의 프로필 이미지
조현성

작성한 질문수

질문하기