내부 포문을 돌면서 전에 visit을 해제하지 않은 곳은 못가겠죠
이경우는 모든 경로를 구하는것이 아니기때문에 오히려 visit을 0으로 처리하면 불필요하게 많은 연산을 하게 됩니다.
모든경로를 구하는경우에는 말씀처럼 48번에서 해제해주면 구할수 있습니다.
11403번 - 경로 찾기
조언 감사합니다!
혹시 하나 더 여쭈어도 될까요?
그럼 48번째 라인에서 visited[x]=0 하는 경우나 visited[i]=0 하는 경우
둘 다 같은 정점을 탐색하는 걸 출력해서 확인을 했습니다!
그런데 48번째 라인에서 visited[i]=0 을 하는 경우에는
시간 초과가 발생하는데, 혹시 이유를 아시면 설명 부탁드려도 될까요?
앗 친절한 답변 감사합니다. 제가 처음 말씀을 오해했었나봐요! visit을 0으로 만들 필요 없이 다른 방식으로 문제를 풀라고 말씀해주신 것 맞나요? 이 문제 같은 경우 map에서 row를 기준으로 col값을 탐색하면서 간선이 있으면 answer그래프에 넣어주는 방식으로 풀었는데, 만약에 같은 row에 col 값이 여러 개 있을 경우에는 한 col 정점을 탐색하고나서, 다시 돌아와서 이후에 있는 col 값을 탐색해야한다고 생각해서 visit을 사용한거거든요. 이 방식이 잘못된건가요? 답변 정말 감사드립니다~!
아니에요 제가 댓글을 잘못 읽어서 그렇습니다ㅠㅠ! 감사합니다. 문제점이 뭔지 몰랐는데 알 것 같아요! 정말 그 라인을 지우고 돌려봤더니 오히려 더 빠른 시간 내에 끝나더라구요. 조언 감사합니다 !
댓글을 작성하려면 로그인해야 합니다.
instarbucks 6년 전 1
안녕하세요
DFS 문제를 풀고있는 학생입니다!
항상 코드에서 백트래킹을 어느 부분에서 해줘야하는가 고민이 많이 됩니다!
DFS가 끝난 후에 48번쨰 라인에서 해주는 것과 51번 째 라인에서 해주는 것의 차이가 궁금합니다.
조언 부탁드려요!