Algorithm Study

[BOJ] 음식물 피하기 / JAVA / DFS

hyun-1200 2022. 3. 23. 00:01

실버1 

 

https://www.acmicpc.net/problem/1743

 

1743번: 음식물 피하기

첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다.  그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다

www.acmicpc.net

 

음식물이 있는 칸에 인접된 정점을 모두 탐색해야 한다. 

-> 모든 정점을 탐색하여 최적의 거리를 구한다 

-> DFS 또는 BFS 사용

 

 

1. 음식점이 있는 좌표를 arr[x][y]=  1 로 저장

2. arr[x][y]=1 이면서 아직 방문하지 않은 좌표는 DFS 알고리즘을 통해 인접한 정점의 갯수를 구한다.

3. 정점의 갯수를 반환하여 결과값과 비교 후 최대값을 구한다.