작성
·
155
0
안녕하세요 선생님. 예제와 커뮤니티의 반례들은 모두 통과하는데, 백준 2%에서 오답으로 처리되어 질문드립니다.
불이 시작되는 부분부터 BFS를 통해 표시를 해두고, J를 dfs로 움직이게 하는 로직으로 구현했습니다.
답변 1
1
안녕하세요 지호님 ㅎㅎ
DFS는 최단거리로 가는 것을 장담을 하지 못합니다.
즉, 이렇게도 갈 수가 있습니다.
이 때문에 반례가 뜨게 됩니다. time을 매개변수를 걸어서 + 1을 기반으로 하신 것은 좋으나.
이미 앞선 코드의 visited를 걸어놔서 방문한 정점은 다시 방문을 하지 못하게 되어 로직 자체가 꼬입니다.
if(vis[nx][ny] || a[nx][ny] == -1) continue;
if(a[nx][ny] != 0 && a[nx][ny] <= time+1) continue;
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
감사합니다. 덕분에 해결했습니다