#1459
Gold V

카펫

서브테스크
원문: 日本語
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

멋내기를 좋아하는 비타로는 카펫을 새로 장만했다. 카펫은 세로 HH 행, 가로 WW 열의 격자 모양으로 나누어진 직사각형 모양을 하고 있으며, 각 칸은 흰색과 검은색 중 하나의 색으로 칠해져 있다. 카펫의 위에서 ii 번째 행, 왼쪽에서 jj 번째 열 (1iH1 \le i \le H, 1jW1 \le j \le W) 에 있는 칸의 색은, 문자열 SiS_{i}jj 번째 문자가 . 일 때 흰색, # 일 때 검은색이다.

비타로는, 카펫의 가장 왼쪽 위 칸에 말을 놓고, 다음 조작을 몇 번 수행하여, 그 말을 카펫의 가장 오른쪽 아래 칸에 도달시키는 놀이를 떠올렸다.

  • 말이 놓여 있는 칸과 색이 다르고, 상하좌우로 인접한 칸을 11 개 골라, 그 칸으로 말을 이동시킨다.

비타로는, 도달할 때까지의 조작 횟수를 가능한 한 적게 하고 싶다. 다만, 카펫의 무늬에 따라서는 도달시킬 수 없을지도 모른다.

카펫의 무늬 정보가 주어졌을 때, 조작을 반복하여 왼쪽 위 칸에서 오른쪽 아래 칸으로 말을 도달시키는 것이 가능한지 판정하고, 가능하면 조작 횟수의 최솟값을 구하는 프로그램을 작성하시오.

제한

  • 1H5001 \le H \le 500.
  • 1W5001 \le W \le 500.
  • (H,W)(1,1)(H, W) \neq (1, 1).
  • SiS_{i} 는 길이 WW 의 문자열이다 (1iH1 \le i \le H).
  • SiS_{i} 의 각 문자는 . 또는 # 이다 (1iH1 \le i \le H).
  • H,WH, W 는 정수이다.

서브태스크

  1. (44 점) H=1H = 1.
  2. (1414 점) H5H \le 5, W5W \le 5.
  3. (2424 점) H30H \le 30, W30W \le 30.
  4. (5858 점) 추가 제약이 없다.

입력

입력은 다음 형식으로 표준 입력에서 주어진다.
HH WW
S1S_{1}
S2S_{2}
::
SHS_{H}

출력

조작을 반복하여 왼쪽 위 칸에서 오른쪽 아래 칸으로 말을 도달시키는 것이 가능한 경우에는 조작 횟수의 최솟값을, 불가능한 경우에는 -1 을, 표준 출력에 11 줄로 출력한다.

채점 관련 주의사항

모든 제출은 채점 시스템에서 채점된다.

제출된 소스 코드는, 서브태스크에 대응하는 모든 채점용 입력 데이터에 대해 올바른 결과를 반환했을 때, 그 서브태스크에 대해 정답으로 인정된다.

각 제출의 점수는, 제출된 소스 코드에 대해 정답으로 인정된 서브태스크의 점수의 합이다.

이 과제의 점수는, 이 과제에 대한 모든 제출의 점수의 최댓값이다.

현재 점수는 「제출 결과」 탭의 「나의 점수 현황」에서 확인할 수 있다.

예제 입력 1

4 5
...#.
#####
...#.
#.###

예제 출력 1

9

예를 들어, 그림과 같은 조작을 생각할 수 있다.

조작의 2가지 예의 그림

왼쪽 예에서는 99 번의 조작으로, 오른쪽 예에서는 1313 번의 조작으로, 왼쪽 위 칸에서 오른쪽 아래 칸으로 말을 도달시키는 것이 가능하다.

99 번보다 적은 조작 횟수로 도달시키는 것은 불가능하므로, 99 를 출력한다.

이 예제는 서브태스크 2,3,42, 3, 4 의 제약을 만족한다.

예제 입력 2

3 3
...
...
...

예제 출력 2

-1

처음부터 조작을 할 수 없는 경우도 있다. 이 경우, 말을 오른쪽 아래 칸에 도달시키는 것은 불가능하므로, -1 을 출력한다.

이 예제는 서브태스크 2,3,42, 3, 4 의 제약을 만족한다.

예제 입력 3

1 5
.#.#.

예제 출력 3

4

이 예제는 모든 서브태스크의 제약을 만족한다.

예제 입력 4

5 5
###.#
.#...
.#..#
.####
##..#

예제 출력 4

12

이 예제는 서브태스크 2,3,42, 3, 4 의 제약을 만족한다.

예제 입력 5

7 5
.#.##
##...
.#.##
.###.
##.#.
...#.
##.#.

예제 출력 5

12

이 예제는 서브태스크 3,43, 4 의 제약을 만족한다.

코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람

아직 맞은 사람이 없습니다.

난이도 투표
Gold V1명 투표· 약 22시간 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출

제출 내역이 없습니다.