kiyoon123   4년 전

bfs로 풀었습니다

정말 정직하게 트리 레벨별로 훑으면서 내려갔구요

중복 탐색 방지하려고 배열 선언했습니디ㅏ

아직 시간 복잡도 개념이 제가 안잡힌건가... 

다른 풀이 보니깐 저처럼 한 레벨씩 안하고 큐로 넣고 빼고 한개씩 하는 것도 있던데

그거랑 제가 코딩한거랑 제가 보기엔 시간은 같아 보이는데 왜 시간 초과가 날까요

아님 제가 시간 복잡도 아직 못 파악하는 건가요

djm03178   4년 전

BFS는 큐에서 뺀 뒤가 아닌 큐에 넣을 때 방문 표시를 해야 중복 방문이 일어나지 않습니다.

wjddydgns99   4년 전

while()문 안에 3개의 q.push()에서 각각 모두 visited=true 해주어야 할 것 같아요. 


저렇게하면 재방문해서 시간초과 뜰거에요.

kiyoon123   4년 전

visited[tmp/3] = true

visited[tmp/2] = true

visited[tmp-1] = true

모두 push밑에 해주었는데도 시간 초과가 나네요.... 뭐죠..도저히 머리를 굴려도 모르겠네요

djm03178   4년 전

1 넣으면 안 끝날 것 같네요.

kiyoon123   4년 전

1이 문제였네요 ㅠㅠ 감사합니다.. ㅠㅠ

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