tina0430   5년 전

반례도 찾아서 넣어보고 다 맞아서 제출했는테 틀렸습니다 뜹니다 ㅜㅜ 왜그럴까요 뭐가 문제인지 잘 모르겠습니다. 

https://www.acmicpc.net/board/24356 

여기에 나온 반례도 다 집어넣었는데 맞다고 뜨더라구요 허허..

betain24   5년 전

문제에 보면 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 라고 조건이 하나 더 있습니다. 위의 코드에서는 작은 정점부터 방문하는게 아니라 그냥 입력받은 순서대로 탐색을 하네용

그 부부만 고치면 될거같습니다.

tina0430   5년 전

set은 insert()로 추가하면 자동으로 오름차순 정렬하는것으로 알고 있어 저렇게 짜도 작은 정점부터 방문하는걸로 이해했는데 혹시 제가 잘못 이해한걸까요?

betain24   5년 전

으억.. 찾았다

저거 사실 기본값 true 아닙니다 ..ㅋㅋ

저거 찍어보면 랜덤값이 나오네요.. 

dfs전에 초기화해주면 맞네요 

for (i = 0 ; i < N ; i++ ) visited[i] = true; 

tina0430   5년 전

와 betain24  님 사랑해여 너무 감사합니다.


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