침략자 진아
면접 대비시간 제한2초메모리 제한256 MB
N×M 격자의 빈 칸 두 곳에 독 주머니를 놓아, 모든 마을에서 가장 가까운 주머니까지의 맨해튼 거리의 최댓값을 최소로 만든다.
문제
행성은 행 열의 격자로 주어진다. 각 칸은 빈 공간() 또는 마을()이다. 빈 공간에만 독주머니를 정확히 개 설치해야 한다.
독은 매초 상하좌우로 인접한 칸으로 퍼진다. 마을이 중독되면 그와 인접한 마을도 초 후에 중독되므로, 독의 확산은 격자의 모든 칸을 통과하는 이동과 같다. 마을 가 중독되는 시각은 두 독주머니까지의 맨해튼 거리 중 작은 값과 같고, 모든 마을이 중독되는 시각은 그 값들의 최댓값과 같다. 이 최댓값을 최소로 만드는 배치를 구해야 한다.
행 번호는 부터 까지, 열 번호는 부터 까지이며, 가장 위의 가장 왼쪽 칸이 이다. 독주머니를 설치할 수 없는 경우는 주어지지 않는다.
입력
첫째 줄에 정수 과 이 공백으로 구분되어 주어진다. ()
다음 개의 줄에 길이가 인 문자열이 주어진다. 각 문자는 또는 이며, 은 빈 공간, 은 마을을 의미한다.
출력
독주머니 개를 최적의 빈 칸에 설치했을 때, 모든 마을이 중독되는 데 걸리는 최소 시간을 초 단위로 출력한다.