4991번 로봇 청소기


4991번 로봇 청소기

https://www.acmicpc.net/problem/4991 필요한 로직 : BFS + DFS(순열) [논리] 시작 좌표와 더러운 칸들의 좌표는 모두 그래프의 node 개념으로 바라보았다. 문제 풀이의 핵심은 크게 3가지다. 1. 노드 간 이동 거리는 최단 거리를 보장해야 한다. 너비 우선 탐색 함수를 선언하되, 시작 지점과 타겟 지점은 여러번 바뀔 수 있으므로 인자로 sr,sc,tr,tc를 넣어주어 함수화하였다. 2. 노드 간 이동이 최단거리를 보장한다고 해도, a->b->c 와 a->c->b 등 탐색할 경로의 순서에 따라서 총 거리가 달라질 수 있으므로 총 거리의 최단을 보장하지 못한다. 따라서 탐색 순서를 지정하는 순열을 만드는데 깊이 우선 탐색을 활용한다. 이때..........



원문링크 : 4991번 로봇 청소기