No.1948 足し算するだけのパズルゲーム(1)
タグ : / 解いたユーザー数 129
作問者 : H20 / テスター : 蜜蜂 naskya
問題文
DHMOさんは、SNSアプリでやたらと流れるパズルゲームの広告が気になったので遊ぶことにしました。
パズルゲームは縦 $H$ 行横 $W$ 列のマス目の中でプレイヤーを動かすゲームです。マスの上から $i$ 行目、左から$j$ 列目のマスを $(i,j)$ と呼ぶことにします。($1 \le i \le H$ かつ $1 \le j \le W$)を満たさないマスは存在しません。
プレイヤーははじめ $(1,1)$ にいて、攻撃力は $A_{1,1}$ です。
$(1,1)$ 以外のマスにはエネミーが存在し、 $(i,j)$ にいるエネミーの攻撃力は $A_{i,j}$です。
$(H,W)$ にいるボスエネミーに勝利するとゲームクリアとなります。
プレイヤーは $(i,j)$ にいるとき、 $(i+1,j)$ か $(i,j+1)$ のうち存在するいずれかのマスに移動できます。
移動後のマスに存在するエネミーと戦闘を行います。
プレイヤーの攻撃力がエネミーの攻撃力より高い場合、プレイヤーはエネミーに勝利し、エネミーの攻撃力分プレイヤーの攻撃力が増加します。
攻撃力がエネミー以下であれば敗北しコンティニューしなければゲームオーバーです。
敗北した際、$1$ 回に限りコンティニューできます。(30秒の広告を2回見る必要がありますが、我慢します)
$(i,j)$ で敗北し、コンティニューした際は、 $(i,j)$ にいるエネミーとの戦闘を避けた上で、$(i,j)$ からゲームを続行できます。
この際、$(i,j)$ のエネミーに勝利したことにならず、プレイヤーの攻撃力は増減しません。
ここで、コンティニューでは勝利したことにはならないため、$(H,W)$ ではコンティニューできず、ゲームオーバー扱いとします。
パズルゲームの内容が入力として与えられます。
プレイヤーを適切に操作することでゲームクリアすることが出来るか判定してください。
入力
$H$ $W$ $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 A_{i,j} \le 10^{9}$
- 入力は全て整数
出力
ゲームクリアできるなら Yes
、そうでないなら No
と出力してください。
最後に改行してください。
サンプル
サンプル1
入力
3 4 10 8 15 50 5 4 40 50 10 1 30 60
出力
Yes
画像のように動くことでゲームクリアすることができます。マス $(2,3)$ の戦闘では負けますが、一回に限りコンティニューできます。
サンプル2
入力
2 5 10 5 50 10 30 10 10 50 50 20
出力
No
ボスエネミーに勝つ攻撃力を手に入れることができますが、ボスエネミーまでたどり着くが出来ません。
サンプル3
入力
2 2 10 2 1 12
出力
No
エネミーと同じ攻撃力である場合は負けます。また、ボスエネミーとの戦闘ではコンティニューできません。
サンプル4
入力
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もしくは右上の雲マークをクリックしてアカウントを作成してください。