問題一覧 > 通常問題

No.1949 足し算するだけのパズルゲーム(2)

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 120
作問者 : H20H20 / テスター : 蜜蜂蜜蜂 naskyanaskya
4 ProblemId : 7930 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-05-05 15:34:23

問題文

DHMOさんは、パズルゲームでコンティニューした際に流れるまた別のパズルゲームの広告が気になったので遊ぶことにしました。
パズルゲームは縦 $H$ 行横 $W$ 列のマス目の中でプレイヤーを動かすゲームです。マスの上から $i$ 行目、左から$j$ 列目のマスを$(i,j)$と呼ぶことにします。($1 \le i \le H$ かつ $1 \le j \le W$) を満たさないマスは存在しません。

プレイヤーははじめ $(Y,X)$ にいて、攻撃力は$A_{Y,X}$です。
$(Y,X)$ 以外のマスにはエネミーが存在し、$(i,j)$ にいるエネミーの攻撃力は $A_{i,j}$です。
全てのエネミーに勝利するとゲームクリアとなります。

プレイヤーは $(i,j)$ にいるとき、$(i+1,j), (i,j+1), (i-1,j), (i,j-1)$ のうち存在するいずれかのマスに移動できます。
移動後のマスに存在するエネミーと戦闘を行います。
プレイヤーの攻撃力がエネミーの攻撃力より高い場合、プレイヤーはエネミーに勝利し、エネミーの攻撃力分プレイヤーの攻撃力が増加します。
攻撃力がエネミー以下であれば敗北しゲームオーバーです。

同じマスを何度も通ってもよいですが、一度倒したエネミーは復活せず、一度通ったマスを訪れても戦闘は行われません。

パズルゲームの内容が入力として与えられます。
プレイヤーを適切に操作することでゲームクリアすることが出来るか判定してください。

入力

$H$ $W$ $Y$ $X$
$A_{1,1}$ $A_{1,2}$ $\ldots$ $A_{1,W}$
$A_{2,1}$ $A_{2,2}$ $\ldots$ $A_{2,W}$
$\vdots$
$A_{H,1}$ $A_{H,2}$ $\ldots$ $A_{H,W}$

制約

  • $ 2 \le H,W \le 500$
  • $ 1 \le Y \le H$
  • $ 1 \le X \le W$
  • $ 1 \le A_{i,j} \le 10^{9}$
  • 入力は全て整数

出力

ゲームクリアできるなら Yes 、そうでないなら No と出力してください。

最後に改行してください。

サンプル

サンプル1
入力
3 4 2 1
10 8 15 50
5 4 40 50
10 1 30 60
出力
Yes

画像のように動くとクリアできます。同じマスを何度も通ってよく、どの順にエネミーを倒しても構いません。


サンプル2
入力
2 5 2 2
10 5 50 10 30
10 10 50 50 20
出力
No

どう動いてもクリアできません。

サンプル3
入力
2 2 1 1
10 2
1 12
出力
Yes

$(1,1) → (1,2) → (1,1) → (2,1) → (2,2)$ のように動けばクリアできます。

サンプル4
入力
5 5 5 5
3 2 2 5 20
2 8 1 3 10
9 4 20 40 10
8 7 32 22 88
20 13 26 51 100 
出力
Yes

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