1012번 - 유기농 배추
밭 크기나 큐 크기도 딱히 문제될 게 없는데 메모리 초과가 뜨네요
메모리 초과가 뜰 만한 부분이 대체 어디인지 모르겠습니다
찾아주세요 ㅠㅠ
큐에 엄청마니들어가나봐여
문제점을 찾았으면 댓글로 올려주세요!
아마도 맵 초기화 문제로 에러가 발생한 것 같습니다
큐에서 뺄 때 지난 맵을 0으로 초기화해주니까 되네요
근데 틀린 이유가 메모리 초과인 이유는 모르겠네요
아마도 지난 맵이 계속 1로 되어있어서 큐에 계속 들어가는걸로 추정되는데요 ㄷㄷ
원인은 깊이가 같을 때 방문하지 않아야 하는데 위 소스는 방문하고 정답소스는 방문하지 않네요.
예를들어
1
2 3
3 4 5
깊이로 나눠봤을 때
2번에서 (3번과 4번을 갈 수 있어 큐에 넣고)
3번에서 (4번과 5번에서 갈 수 있어 큐에 넣는데)
4번을 두 번 방문하게 됩니다.
단 수정된 부분은 넣기 전에 map을 변경하셔서 3번에서 4번을 방문하지 않고 넘어가게 됩니다.
이게 누적되면서 메모리가 초과 될 정도로 계산량이 늘어나게 되는거죠.
12 ~ 13 라인 사이에
map[x+d[i][0]][y+d[i][1]] = 0;
추가하면 AC가 나옵니다.
댓글을 작성하려면 로그인해야 합니다.
ace012 9년 전
밭 크기나 큐 크기도 딱히 문제될 게 없는데 메모리 초과가 뜨네요
메모리 초과가 뜰 만한 부분이 대체 어디인지 모르겠습니다
찾아주세요 ㅠㅠ