답변 1
2
안녕하세요 현성님 ㅎㅎ
int qSize = q.size();
이부분 말씀하시는거죠?
bfs를 보면 저렇게 파란색에서 빨간색으로 나아가게 됩니다.
근데 파란색을 경계로 두고, 빨간색을 경계로 둬서 무언가 로직을 두고 싶을 때는 qsize를 기반으로 로직을 구축해야 합니다.
즉,
nx와 x 정점에서 해당 간격에서 (노란색)
단순히
visited[nx] = visited[x] + 1이 아니라
해당 간격에서 무언가. 로직이 있을 때는 저렇게 분리해주어야 합니다.
이 문제에서는.
while(q.size()){
b += turn;
해당 간격 하나 마다!!
b += turn을 해주어야 하기 때문에 이렇게 해야합니다. ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.