만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

성공

시간 제한2초메모리 제한512 MB

요약
N×M 격자에서 장애물을 D×D 영역 단위로 없애는 폭파를 최소 횟수로 골라, 왼쪽 위에서 오른쪽 아래까지 가는 길을 만드는 문제입니다.
난이도

보통10점 중 6점

유형
BFS, 최단 경로, 행렬
정답자
아직 제출이 없습니다

문제

성공으로 가는 길은 평탄하지 않다. 길에는 온갖 장애물이 가득하고, 장애물에 막히면 그 자리에 주저앉을 수도 있다. 그래서 장애물을 폭파하려고 한다.

성공으로 가는 길은 N×MN \times M 격자 위에 놓여 있다. 성공하려면 맨 왼쪽 위 칸에서 출발해 장애물이 없는 상하좌우 인접 칸을 밟으며 맨 오른쪽 아래 칸에 도착해야 한다. 폭파 작업 한 번으로 D×DD \times D 격자 안에 있는 모든 장애물을 없앨 수 있다. 다만 폭파 작업에는 큰 힘이 들기 때문에, 성공하려면 최소 몇 번의 폭파 작업이 필요한지 알고 싶다.

입력

첫 번째 줄에 격자의 행의 개수 NN, 열의 개수 MM, 폭파의 범위 DD가 주어진다 (D≤ND \le N, M≤500M \le 500, 1≤D≤1001 \le D \le 100). 그 다음 NN개의 줄에 격자의 각 행을 나타내는 길이 MM의 문자열이 주어진다. "."은 장애물이 없는 칸, "#"은 장애물이 있는 칸이다. 출발 지점과 성공 지점에는 장애물이 없다.

출력

첫 번째 줄에 폭파 작업의 최소 횟수를 출력한다.

힌트

예제1

  1. 예제 1

    입력
    8 9 3
    .########
    ##.....##
    ######.##
    ####...##
    ####.####
    #########
    ####.####
    ########.
    
    예상 출력
    2