問題一覧 > 通常問題

No.323 yuki国

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 109
作問者 : ぴろず
7 ProblemId : 845 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2015-12-15 23:22:51

Note

この問題はAdvent Calendar Contest Advent Calendar 2015の16日目の問題として作られました。

WriterはJavaとPyPy2で余裕を持ってACできることを確認しましたが、Python2ではTLEしました。
比較的低速な言語を使用している方は実行時間に注意してください。

問題文

太郎君は長方形の空き地で雪だるまを作っていて、今は雪球を転がしているところです。

空き地をH行,W列のマス目で表します。第i(0iH1)行、第j(0jW1)列のマスをマス(i,j)と呼びます。

はじめ、雪球はマス(Si,Sj)にあり、その大きさはAです。
太郎君は雪球を上下左右いずれかの隣接したマスに移動させることができます。ただし空き地の外に出てはいけません。
このとき、移動先のマスに雪が積もっていれば雪球の大きさは1増え、そうでなければ雪球の大きさは1減ります。
雪球の大きさが0以下になると、雪球は溶けてしまいます。つまり、雪球の大きさは常に1以上でなければなりません。

太郎君が雪球の大きさをちょうどBにしてマス(Gi,Gj)に運ぶことが可能か判定してください。

入力

H W
A Si Sj
B Gi Gj
M0
M1

MH1

1行目に2つの整数H,Wが空白区切りで与えられます。
2行目に3つの整数A,Si,Sjが空白区切りで与えられます。
3行目に3つの整数B,Gi,Gjが空白区切りで与えられます。
4行目からのH行に、長さWの文字列M0MH1が与えられます。
Mij(0jW1)列目が'*'(アスタリスク)の時、マス(i,j)には雪が積もっています。 '.'(ピリオド)の時、マス(i,j)には雪が積もっていません。

1H,W50
1A,B1000
0Si,GiH1
0Sj,GjW1
(A,Si,Sj)(B,Gi,Gj)
Mi(0iH1)は'*'(アスタリスク)と'.'(ピリオド)のみからなる長さWの文字列である。

出力

太郎君が雪球の大きさをちょうどBにしてマス(Gi,Gj)に運ぶことが可能ならば'Yes'を、不可能ならば'No'を出力してください。 最後に改行してください。

サンプル

サンプル1
入力
2 4
2 0 0
2 1 3
*.*.
.*.*
出力
Yes

例えば、右・右・右・下と移動することで目標のマスにつき、雪球の大きさは2となります。
雪球の大きさは21212と変化します。

サンプル2
入力
2 1
1 0 0
4 1 0
*
*
出力
Yes

下・上・下と3回移動することで目標のマスにつき、雪球の大きさは4となります。
はじめに下に移動した後に目標のマスについていますが、この時点では雪球の大きさが足りていません。

サンプル3
入力
4 4
3 3 0
8 0 3
.***
..**
...*
....
出力
No

雪球の大きさが途中で0以下になってはいけないので、目標のマスに辿りつけません。

サンプル4
入力
8 10
1 1 4
5 1 4
....*.*.*.
.........*
..........
.*.*.*...*
*...**....
.........*
*.........
.*.*.*.*.*
出力
Yes

最初に雪球があるマスと目標のマスは同じなことがあります。

サンプル5
入力
1 10
1 0 0
6 0 9
**......**
出力
Yes

サンプル6
入力
4 5
5 1 1
6 1 3
.*..*
*....
*...*
****.
出力
No

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。