atcoder#ABC303C. [ABC303C] Dash
[ABC303C] Dash
配点 : 点
問題文
二次元平面の点 に高橋君がいます。初め、高橋君の体力は です。また、二次元平面には 個の体力を回復するアイテムがあり、 個目のアイテムは点 に置いてあります。
高橋君は、これから 回の移動をします。 回目の移動は以下の方法で行われます。
- 今高橋君がいる点を とする。体力を 消費し、 の 番目の文字 に応じて以下の点に移動する。
- が
R
のとき: - が
L
のとき: - が
U
のとき: - が
D
のとき:
- が
- 高橋君の体力が負になった場合、高橋君は倒れてしまい、移動をやめる。そうでない場合、移動した点にアイテムがあり、かつ高橋君の体力が 未満ならば、移動した点に置かれたアイテムを消費し、高橋君の体力が になる。
高橋君が一度も倒れることなく 回の移動を行えるか判定してください。
制約
- は
R
,L
,U
,D
からなる長さ の文字列 - は互いに異なる
- 以外の入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
高橋君が一度も倒れることなく 回の移動を行える場合 Yes
を、そうでない場合 No
を出力せよ。
4 2 3 1
RUDL
-1 -1
1 0
Yes
初め高橋君の体力は です。以下で移動を説明します。
- 回目の移動: が
R
なので点 に移動する。高橋君の体力は に減る。点 にはアイテムが置いてあるが、高橋君の体力は 以上なのでアイテムは消費されない。 - 回目の移動: が
U
なので点 に移動する。高橋君の体力は に減る。 - 回目の移動: が
D
なので点 に移動する。高橋君の体力は に減る。点 にはアイテムが置いてあり、体力は 未満なのでアイテムを消費し、体力が になる。 - 回目の移動: が
L
なので点 に移動する。高橋君の体力は に減る。
以上より、高橋君は倒れずに 回の移動を行えるので、Yes
を出力してください。体力は になってもいいことに注意してください。
5 2 1 5
LDRLD
0 0
-1 -1
No
初め高橋君の体力は です。以下で移動を説明します。
- 回目の移動: が
L
なので点 に移動する。高橋君の体力は に減る。 - 回目の移動: が
D
なので点 に移動する。高橋君の体力は に減る。体力が になってしまったので、高橋君は倒れてしまい、移動をやめる。
以上より、高橋君は倒れてしまうので、No
を出力してください。
高橋君がはじめいる点 にはアイテムが置いてありますが、移動後にアイテムは消費されるので、 回目の移動前にアイテムを消費しないことに注意してください。