#HJ024. 强壮的高桥

强壮的高桥

题目描述

有一个 HHWW 列的网格。从上数第 ii 行,从左数第 jj 列的格子记作 (i,j)(i, j)。若 Si,jS_{i,j} 是 . (点)则 (i,j)(i, j) 是路,若 Si,jS_{i,j} 是 # 则 (i,j)(i, j) 是墙。

高桥要从 (1,1)(1, 1) 走到 (H,W)(H, W)。他可以往上下左右走,但不能走到墙格子也不能走出网格。不过高桥力气很大,他一拳可以把网格里任意一个 2×22\times 2 区域内的墙全部摧毁,变成路。

高桥要走到格子 (H,W)(H, W) 至少要打几拳? 限制

  • 2H,W5002 \le H, W \le 500
  • (1,1)(1, 1)(H,W)(H, W) 是路。

输入格式

HH WW

S1,1S1,WS_{1,1} \dots S_{1, W}

\vdots

SH,1SH,WS_{H,1} \dots S_{H,W}

输出格式

输出答案。

5 5

..#..

#.#.#

##.##

#.#.#

..#..
1
5 7
.......
######.
.......
.######
.......
0
8 8
.#######
########
########
########
########
########
########
#######.
5