백준 BOJ 2573번 : 빙산 Solved.ac 난이도 : Gold IV 알고리즘 분류 : DFS 주어진 각 좌표에 빙산들의 높이가 주어지고, 빙산은 인접한 4개의 칸 중에서 물(즉, 높이가 0)인 칸들의 수만큼 단위 시간 1마다 감소한다고 할 때, 빙산이 두 덩어리로 분리되는데 걸리는 시간을 구하는 문제입니다. 우선은 빙산이 두 덩어리로 분리되는지 확인할 때 DFS가 필요합니다. 매 시간 턴마다 DFS를 수행하여 빙산이 분리되어 있는지 확인해줍니다. 그 다음 빙산을 녹일 때 앞 칸부터 빙산의 높이를 감소시켜버리면, 예를 들어 빙산의 높이가 0이 되어버리는 경우 다음 빙산의 높이 변화를 계산할 때 필요한 높이보다 1이 더 감소되어 버리게 됩니다. (동시에 녹아야 하는데 앞 칸을 먼저 계산해서 뒷 칸이 ..