49911 [Swift][BFS][시간초과] 백준 4991번 (로봇 청소기) 요구능력 : BFS 코드설명 : 내가 생각하는 이 문제에서의 핵심 1) 같은 칸 여러번 방문 가능 2) 인접한 칸 1) 같은 칸 여러번 방문가능 이걸보고 처음에 그냥 방문처리없이 BFS를 쭉 돌렸는데 절대 답이 안나왔다. 이유는 아래 그림에서 빨간색으로 가는경우와 파란색으로 가는경우가 있는데, 그냥 BFS를 돌리면 이런 경우가 구분이 가지 않았다. 그래서 생각을 해본 결과 계속해서 가장 가까운곳의 더러운곳을 먼저 방문하면 결국 가장 적게이동하고 모든 더러운곳을 방문하는게된다. 그래서 BFS로 가장 가까운 더러운곳을 찾아서 거기까지 이동한 횟수를 전역변수 cnt에 더하는 작업을 더러운칸이 존재한다면 반복했다. 아, 그리고 가장 가까운곳 찾을 때 각각의 경우에 방문처리를 다르게 해줘야한다. 이유는 로봇청소기.. 2022. 2. 3. 이전 1 다음