k352ex   4년 전

안녕하세요 예시에있는 출력들은 다맞고 몇개 더 직접해서 해봐도 잘나오는거같은데 어디가 틀린지를 도저히 모르겠습니다. ㅠㅠ 도와주세요!

kkw564   4년 전

if(maze[y+1][x] == 1 && (x>0 && y>0)) 


여기서 y+1이 오버플로 날 수 있는것같은데요


if((x>0 && y<n) &&maze[y+1][x] == 1) 

이런 방식으로 수정하면 될 것 같습니다

kkw564   4년 전

물론 위의 x에 관해서도 마찬가지일듯하구요


코드를 안돌려봐서 모르겠지만 bfs라면 

if(범위 만족? && 배열 만족?) 이런식으로 해야할것같습니다

if(배열 만족? && 범위 만족?)이라하면 이미 배열값 검사를 먼저 하면서 메모리침범이 일어날 수 있지만

범위부터 만족하는지 알아보면 범위가 넘어갔는 순간 배열은 확인하지 않기때문에 더 안전합니다.

kkw564   4년 전

메모리초과가 나시는듯 한데


visit배열을 만드셔서 방문한 곳은 다시 방문하여 queue에 집어 넣지 않도록 방지하는 코드를 작성해보세요


bfs에 대한 개념을 한번 더 잘 생각해보시면 ac가 눈앞입니다. ^^

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