최악의 경우는 대략 이런 경우를 생각해볼 수 있을 것 같습니다. 대략 전체의 반 정도를 지그재그 모양으로 1 차이로 이어줍니다. 그 후 이로부터 계속 가지를 치면서 더 작은 값들을 주변에 이어나갑니다. 서로 다른 방향으로 나간 값들끼리는 이후 만나지 않도록 합니다. 그러면 가지가 생긴 개수만큼의 시작점이 생기고, 그 값들은 경로를 따라 올라간 뒤 마지막 지그재그를 다 돌아야 합니다. 그러면 지그재그의 크기가 O(N^2)이고, 가지를 쳐서 마지막에 남게 되는 시작점의 개수도 O(N^2)개를 만들 수 있을 테니, 총 O(N^4)이 되는 것을 피할 수 없게 됩니다.
yermeong 3년 전
처음에 단순 bfs라 생각하였는데, 다 탐색하면 오래걸릴 것 같아 bfs에 진입하기 전에 조건에 맞지 않는 점을 걸러줬습니다.
조건 ) 동서남북중 현재위치보다 더 적은 대나무가 존재하는 곳이 있다면 탐색 진행하지 않음
bfs에 진입하기 전 걸러주면 탐색하는 점이 많지 않을텐데 시간초과가 나더라구요...
이유를 도저히 모르겠어서 질문 올립니다..!! 도와주세요ㅠㅠ