Y. 壁抜け

    Type: RemoteJudge 2000ms 256MiB

壁抜け

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题面翻译

题目翻译

 现有 H H W W 列的矩形方格,每个方格被涂成白色或黑色。高桥君移动到白色方格需要 1 1 秒,移动到黑色方格需要 x x 秒。  指定两个白色方格为起点和终点,从起点到终点有一个最大时间 T T ,求满足条件下 x x 的最大值。

各字符含义如下:

  • . : 白色方格
  • # : 黑色方格
  • S : 起点
  • G : 终点

题目保证至少经过一个黑方格,且 x=1x=1 时满足时间 TT . x x 为正整数。

题目描述

正方形のマスが縦 H H 行、横 W W 列に並んでいます。各マスは白または黒で塗られており、白マスのうち 2 2 つがそれぞれスタート地点とゴール地点として指定されています。

高橋君はスタート地点から出発して T T 秒以内にゴール地点に到着したいです。高橋君は、各マスから上下左右に隣接する別のマスに移動することができます。このとき、移動先が白マスであれば 1 1 秒、黒マスであれば x x 秒の時間がかかります(移動前のマスの色は移動時間に影響しません)。ここで、 x x の値は高橋君がスタート地点から出発する前にあなたに選んでもらいます。 x x の値は正整数でなければならず、高橋君の出発後に値を変更することはできません。

高橋君が T T 秒以内にゴール地点に到着することが可能であるような正整数 x x の最大値を求めてください。

输入格式

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

H H W W T T s1,1 s_{1,1} s1,2 s_{1,2} .. s1,W s_{1,W} s2,1 s_{2,1} s2,2 s_{2,2} .. s2,W s_{2,W} : sH,1 s_{H,1} sH,2 s_{H,2} .. sH,W s_{H,W}

  • 1 1 行目には、 3 3 個の整数 H, H, W, W, T T (2 2 H, H, W W 10, 10, 2 2 T T 109 10^9 ) が与えられる。これらはそれぞれ、マスの行数と列数、および高橋君の目標時間を表す。

  • 2 2 行目から H + 1 H\ +\ 1 行目には、各マスの情報が与えられる。 i + 1 i\ +\ 1 行目の j j 文字目 si,j s_{i,j} i i j j 列目のマスに対応する。各文字の意味は以下の通り:

    • . : スタート地点にもゴール地点にも指定されていない白マス
    • S : スタート地点として指定された白マス
    • G : ゴール地点として指定された白マス
    • # : 黒マス

    これら以外の文字は si,j s_{i,j} として出現せず、 S および G はそれぞれちょうど 1 1 個ずつ出現する。また、入力では求める最大値が存在することが保証される。すなわち、少なくとも 1 1 度は黒マスに移動しなければスタート地点から出発してゴール地点に到着できないこと、および x = 1 x\ =\ 1 のとき T T 秒以内にゴール地点に到着することが可能であることが保証される。

输出格式

標準出力に、 高橋君が T T 秒以内にゴール地点に到着することが可能であるような正整数 x x の最大値を出力せよ。

末尾の改行を忘れないこと。

样例 #1

样例输入 #1

2 3 10
S##
.#G

样例输出 #1

8

样例 #2

样例输入 #2

3 4 7
S##G
.##.
..#.

样例输出 #2

3

样例 #3

样例输入 #3

4 4 1000000000
S###
####
####
###G

样例输出 #3

199999999

提示

部分点

この問題には部分点が設定されている。

  • 40 40 点分のテストケースは 2 2 H, H, W W 3, 3, 2 2 T T 30 30 を満たす。
  • 別の 30 30 点分のテストケースは 2 2 T T 30 30 を満たす。

(※ 問題 D にも部分点が設定されています。そちらもご確認ください。)

Sample Explanation 1

i i j j 列目のマスを (i, j) (i,\ j) で表します。 x = 8 x\ =\ 8 のとき、 (1, 1)  (2, 1)  (2, 2)  (2, 3) (1,\ 1)\ →\ (2,\ 1)\ →\ (2,\ 2)\ →\ (2,\ 3) と移動すると 1 + 8 + 1 = 10 1\ +\ 8\ +\ 1\ =\ 10 秒でゴール地点に到着することができます。 x  9 x\ \geq\ 9 のとき、 10 10 秒以内にゴール地点に到着することはできません。

Sample Explanation 2

スタート地点から右に直進すると 2x + 1 2x\ +\ 1 秒でゴール地点に到達できます。遠回りすることで黒マスへの移動回数を減らすことができますが、 x x の値によってはかえって時間がかかってしまいます。