공부공간

BOJ -2178 ) 미로탐색 본문

알고리즘/완전탐색(BFS,DFS)

BOJ -2178 ) 미로탐색

개발자가될수있을까? 2020. 1. 16. 20:51


map에서 1인곳만 방문하면서 N-1 , M-1까지 최소로 갈수있는 경우의 수를 구하는 문제이다.

건너갈 칸수만 구하면되므로 BFS를 이용하여 처리하였다.

 

자꾸 메모리 초과가 나서 이유를 생각해 보았는데,

VISIT 배열을 처리하는 부분때문이 였다.

 

처음 Queue에서 뽑아서 Y,X의 VISIT을 True로 해주는 식으로 탐색하였는데 메모리초과가 났다.

 

같은 길이의 경로를 가진 곳을 탐험할때 Queue에 똑같은 좌표가 두번들어가는 경우가 발생하여

메모리가 초과되었던 것이다.

 

문제에서 확인하는 메모리 조건은 입력의 최댓값으로 배열을 선언하거나, 크기가 큰 값을 

받는 것이아닌 큐의 순회횟수가 중요하다는 것을 알았다.

 

그리고 추가적으로 

 

cin.ingore() -> getline(cin , 변수) 앞의 엔터제거

cin.get() -> char 형 한개 읽기

쓰일날이 있겠지..


'알고리즘 > 완전탐색(BFS,DFS)' 카테고리의 다른 글

BOJ - 7562 ) 나이트의 이동  (0) 2020.01.17
BOJ -2589 ) 보물섬  (0) 2020.01.17
BOJ - 4179) 불!  (0) 2019.12.26
BOJ - 11559) Puyo Puyo  (0) 2019.12.24
BOJ - 6603) 로또  (0) 2019.12.23
Comments