모눈종이 모양의 컴퓨터 메모리가 있다. n은 행의 수이고 m은 열의 수이다. 이 메모리 공간에 바이러스가 감염되어 백신 프로그램으로 치료를 하려고 한다.
아래 <그림>에서 하얀색 부분은 치료가 완료된 부분이고 그렇지 않은 부분은 아직 바이러스에 감염되어 있는 부분이다. 이 바이러스를 치료하는 데 있어 바이러스의 4면 중 2면 이상이 치료된 부분과 접하면 1초 후에 치료가 가능하다. <그림>과 같이 바이러스가 감염되어 있다면 V로 표시된 부분의 바이러스 격자는 1초 후에 치료가 되어 흰색으로 변한다. 그리고 그 안쪽에 있던 바이러스들도 2면 이상이 치료된 부분과 접촉되면 1초 후에 치료가 될 것이다.
메모리의 맨 가장자리에는 바이러스가 감염될 수 없는 영역으로 가정한다. 입력으로 주어진 바이러스가 모두 치료되는데 걸리는 최소 시간을 구하는 프로그램을 작성하시오.
|
|
|
|
|
|
|
|
|
|
|
|
V
|
V
|
|
V
|
V
|
|
|
|
|
|
|
|
|
|
|
|
V
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V
|
|
|
|
|
V
|
|
|
|
|
|
|
V
|
V
|
|
|
V
|
V
|
|
|
|
|
|
|
|
|
|
|
|
<그림>