melllon00   5년 전

안녕하세요. 

c++의 stack 을 이용하여 재귀함수 없이 문제 풀이를 구현해보았습니다.

하지만 제 생각보다 속도가 느리더군요 


논리는 간단합니다.

다음에 탐색할 녀석의 row,col, 방문한 비트마스크, 방문한 노드의 개수를 stack에 넣어주고 상하좌우를 살펴보고 갈 수 있으면 stack  넣어줍니다. 

https://www.acmicpc.net/source... 이런 소스코드를 보면 java 랑 비슷한데 제가 짠 c++이 오히려 느리거나 비슷하더군요.

다른 c++ 소스코드 풀이와도 별 차이가 없어 보이는데 왜 유독 이 소스코드의 속도가 느릴까요?? 

startlink   5년 전

스택에서 뺄 때마다 처음부터 다시 검색하기 때문입니다.

스택에 넣을 때 상하좌우 중 어디까지 검사했는지도 같이 넣어보세요.

melllon00   5년 전

답변 감사합니다! 

알려주신 방법을 이용하여 다시 구현해보겠습니다 

도움을 주셔서 감사합니다. 

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