rlathdwls2   4년 전

안녕하세요? 

깊이우선 탐색 알고리즘을 활용하여 문제에 접근했습니다.

탐색 과정에서 방문한 character를 set에 저장해나갔습니다.

만약 set에 이미 추가된 알파벳이라면 탐색을 더이상 진행 하지 않도록 했습니다.

탐색 과정에서 재귀 트리가 생겨납니다.

재귀 트리 구간 마다 set은 고정되어 있기 때문에

방문 표시를 하지 않고 문제를 풀어볼 수 있을거라 생각했지만

바로 틀렸습니다를 맞았습니다.

c++ 에선 set이 call by reference로 넘어 가는 것인지,

제가 작성한 코드에 있는 결함은 어떤것이 있는지 조언을 구하고 싶습니다.

감사합니다.

hunni10   4년 전

줄 33번에서 s.insert()를 하고 재귀호출을 한 뒤 다음 반복에서 s는 그 호출에서 입력으로 들어온 s가 아니라 직전 반복에 의하여 변화된 s값입니다.

다음과 같이 해보거나, 다른 좋은 방법이 있을 것 같습니다.

hunni10   4년 전

*수정

댓글을 작성하려면 로그인해야 합니다.