#AGC043A. [AGC043A] Range Flip Find Route

[AGC043A] Range Flip Find Route

题目描述

H H W W 列のマス目を考えます。上から r r 番目、左から c c 番目のマスを (r, c) (r,\ c) と表すことにします。 全てのマスはそれぞれ白か黒のどちらかの色に塗られています。

次のような経路が存在するとき、このマス目を"良い"状態と呼びます。

  • 常に白いマスの上にいながら、(1, 1) (1,\ 1) から、一つ 右か下 のマスに移動することを繰り返し、 (H, W) (H,\ W) へ移動する。

ここで、"良い"状態ならば (1, 1) (1,\ 1) (H, W) (H,\ W) が必ず白いことに注意してください。

あなたの仕事は、以下の操作を繰り返し、マス目を"良い"状態にすることです。最小で何回操作を行う必要があるか求めてください。なお、有限回の操作で必ず"良い"状態に出来ることが証明可能です。

  • 4 4 つの整数 r0, c0, r1, c1(1  r0  r1  H, 1  c0  c1  W) r_0,\ c_0,\ r_1,\ c_1(1\ \leq\ r_0\ \leq\ r_1\ \leq\ H,\ 1\ \leq\ c_0\ \leq\ c_1\ \leq\ W) を選ぶ。r0  r  r1, c0  c  c1 r_0\ \leq\ r\ \leq\ r_1,\ c_0\ \leq\ c\ \leq\ c_1 を満たす全ての r, c r,\ c について、(r, c) (r,\ c) の色を変更する。つまり、白色ならば黒色にし、黒色ならば白色にする。

输入格式

入力は以下の形式で標準入力から与えられる。

H H W W s11 s12  s1W s_{11}\ s_{12}\ \cdots\ s_{1W} s21 s22  s2W s_{21}\ s_{22}\ \cdots\ s_{2W} \vdots sH1 sH2  sHW s_{H1}\ s_{H2}\ \cdots\ s_{HW}

ここで、src s_{rc} #. であり、#(r, c) (r,\ c) が黒色、. は白色であることを表す。

输出格式

最小の操作回数を出力せよ。

题目大意

给出只包含.#H×WH \times W 网格,每次操作指定 r0, c0, r1, c1 (1r0r1H, 1c0c1L)r_0,\ c_0,\ r_1,\ c_1\ (1 \le r_0 \le r_1 \le H,\ 1 \le c_0 \le c_1 \le L),使 (r, c) (r0rr1, c0cc1)(r,\ c)\ (r_0 \le r \le r_1,\ c_0 \le c \le c_1).##.

操作结束后,有一条从 (1, 1)(1,\ 1)(H, W)(H,\ W) 的路径,满足:

  • 只向右或向下移动。
  • 只经过.

求最小操作数。

Sample Input 1

3 3
.##
.#.
##.

Sample Output 1

1

Sample Input 2

2 2
#.
.#

Sample Output 2

2

Sample Input 3

4 4
..##
#...
###.
###.

Sample Output 3

0

Sample Input 4

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

Sample Output 4

4

提示

制約

  • 2  H, W  100 2\ \leq\ H,\ W\ \leq\ 100

Sample Explanation 1

(r0, c0, r1, c1) = (2, 2, 2, 2) (r_0,\ c_0,\ r_1,\ c_1)\ =\ (2,\ 2,\ 2,\ 2) 、つまりマス (2, 2) (2,\ 2) のみ色を変更すれば良いです。

Sample Explanation 3

操作が必要ない場合も存在します。