침략자 진아

N×M 격자의 빈 칸 두 곳에 독 주머니를 놓아, 모든 마을에서 가장 가까운 주머니까지의 맨해튼 거리의 최댓값을 최소로 만든다.

보통6완전 탐색수학누적 합이분 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

행성은 NNMM열의 격자로 주어진다. 각 칸은 빈 공간(00) 또는 마을(11)이다. 빈 공간에만 독주머니를 정확히 22개 설치해야 한다.

독은 매초 상하좌우로 인접한 칸으로 퍼진다. 마을이 중독되면 그와 인접한 마을도 11초 후에 중독되므로, 독의 확산은 격자의 모든 칸을 통과하는 이동과 같다. 마을 (x,y)(x, y)가 중독되는 시각은 두 독주머니까지의 맨해튼 거리 중 작은 값과 같고, 모든 마을이 중독되는 시각은 그 값들의 최댓값과 같다. 이 최댓값을 최소로 만드는 배치를 구해야 한다.

행 번호는 00부터 N1N-1까지, 열 번호는 00부터 M1M-1까지이며, 가장 위의 가장 왼쪽 칸이 (0,0)(0, 0)이다. 독주머니를 설치할 수 없는 경우는 주어지지 않는다.

입력

첫째 줄에 정수 NNMM이 공백으로 구분되어 주어진다. (2N,M202 \le N, M \le 20)

다음 NN개의 줄에 길이가 MM인 문자열이 주어진다. 각 문자는 00 또는 11이며, 00은 빈 공간, 11은 마을을 의미한다.

출력

독주머니 22개를 최적의 빈 칸에 설치했을 때, 모든 마을이 중독되는 데 걸리는 최소 시간을 초 단위로 출력한다.