작성
·
199
0
http://boj.kr/c12fb379e72a4bac8f5560898b40d140
안녕하세요 선생님 dfs(i)를 dp[i]로 안받고 바로 내보내면
mx가 1로 고정되어서 나오는데 이렇게 하면 안되나요?
답변 1
0
안녕하세요 현성님 ㅎㅎ
if(mx<dfs(i)){
mx=dfs(i);
v.clear();
v.push_back(i);
}else if(mx==dfs(i)){
코드를 보시면 계속해서 dfs를 돌리고 있습니다.
visited -> 초기화
dfs를 하게 되면
visited 방문 처리 완료.
그 다음 또 dfs, dfs를 하게 되니 생각했던 로직과 다르게 나오는 것입니다.
dfs코드를 보면
int dfs(int here){
int ret=1;
visited[here]=1;
다음처럼 dfs는 방문처리 배열인 visited를 수정하고 있습니다.
해당부분을 인지하시고 다시 수정해보시겠어요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.