1987번 - 알파벳
안녕하세요.
c++의 stack 을 이용하여 재귀함수 없이 문제 풀이를 구현해보았습니다.
하지만 제 생각보다 속도가 느리더군요
논리는 간단합니다.
다음에 탐색할 녀석의 row,col, 방문한 비트마스크, 방문한 노드의 개수를 stack에 넣어주고 상하좌우를 살펴보고 갈 수 있으면 stack 넣어줍니다.
https://www.acmicpc.net/source... 이런 소스코드를 보면 java 랑 비슷한데 제가 짠 c++이 오히려 느리거나 비슷하더군요.
다른 c++ 소스코드 풀이와도 별 차이가 없어 보이는데 왜 유독 이 소스코드의 속도가 느릴까요??
스택에서 뺄 때마다 처음부터 다시 검색하기 때문입니다.
스택에 넣을 때 상하좌우 중 어디까지 검사했는지도 같이 넣어보세요.
답변 감사합니다!
알려주신 방법을 이용하여 다시 구현해보겠습니다
도움을 주셔서 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
melllon00 5년 전
안녕하세요.
c++의 stack 을 이용하여 재귀함수 없이 문제 풀이를 구현해보았습니다.
하지만 제 생각보다 속도가 느리더군요
논리는 간단합니다.
다음에 탐색할 녀석의 row,col, 방문한 비트마스크, 방문한 노드의 개수를 stack에 넣어주고 상하좌우를 살펴보고 갈 수 있으면 stack 넣어줍니다.
https://www.acmicpc.net/source... 이런 소스코드를 보면 java 랑 비슷한데 제가 짠 c++이 오히려 느리거나 비슷하더군요.
다른 c++ 소스코드 풀이와도 별 차이가 없어 보이는데 왜 유독 이 소스코드의 속도가 느릴까요??