No.232 めぐるはめぐる (2)
タグ : / 解いたユーザー数 151
作問者 : LayCurse
問題文
ちゃろー、センパイ!
このゲームですか?
今は、めぐる、昔のクラシックなRPGをやってます!
懐かしいですよね!
裏技辞典みたいな本に載ってる裏技を試そうとしてるんですけど、条件がややこしいんですよね…。
勇者たちは十字キーで動かすんですけど、$10$ フレームに一度押されているキーに対応して動くんですね。
この渦に飛び込むと、砂漠の真ん中にワープして、それから $10T$ フレーム後、つまり、$T$ 回だけ移動した後に、ちょうどあるマスに到着しないといけないんですよー!
途中で止まると、今何フレーム目かわからなくなるので、ずっと動き続けたいんですけど、そんなことできるのかなーって…。
センパイ、助けてください!
もうちょっと詳しく状況を説明しますね。
十字キーは、上下左右の $4$ つのキーが有るんですけど、上と下、右と左は同時に押せないんですけど、上と右とかは同時に押せますからね。
$T$ 回移動するのは、上キーを押していると上方向に $1$ 歩だけ、右キーを押していると右に $1$ 歩だけ動くって感じで、上も右も両方押していると上にも右にも $1$ 歩ずつ進んだ場所に移動しますよ!
ワープする場所は砂漠の真ん中で障害物も何もない場所なので自由に移動できますからね。
そうそう、目的地は、砂漠の真ん中から、上に $A$ 歩、右に $B$ 歩だけ進んだ場所ですからね!
え、目的地に移動してずっと待っておけばいいじゃないかって?
ちょうど $10T$ フレーム後に、別のマスからそのマスに「到着」しないとダメなんですよね…。
あーもぉ、なんで昔のゲームってこうなんでしょうね?
入力
$T$ $A$ $B$
$1 \leq T \leq 100000 = 10^5$
$0 \leq A \leq 100000 = 10^5$
$0 \leq B \leq 100000 = 10^5$
出力
ちょうど $T$ 回移動して目的のマスに到着できるなら、$1$ 行目に $\verb|YES|$ と出力して下さいね。
その後 $T$ 行に、それぞれの移動で押す十字キーのキーを出力するみたいです。
上キーは $\verb|^|$、下キーは $\verb|v|$、左キーは $\verb|<|$、右キーは $\verb|>|$ という文字で表して下さいね。
つまり、各行は $1$ 文字ないし $2$ 文字の文字列を出力すればいいんですよね。
どの文字を先に出力しなくてはいけないなんて言うのはないみたいですけど、上キーと下キーを同じ行に出力とかしないように注意しないとダメですよね…。
って、ちょっとー、聞いてます、センパイ!?
不可能だったら $\verb|NO|$ と $1$ 行だけ出力すればいいんですからね。
後、この問題はスペシャルジャッジですから、フォーマットの不正は $\verb|WA|$ に直行ですかね…。
ジャッジのテストケースにサンプルも入っているみたいですから、ちゃんとチェックしましょうね!
サンプル
サンプル1
入力
5 5 5
出力
YES ^> >^ ^> ^> >^
ずっと右上を押しっぱなしておけばいいですね!
こんなんだと楽なんですけどね…。
サンプル2
入力
4 1 1
出力
YES >^ >^ < v
$(0,0) \to (1,1) \to (2,2) \to (2,1) \to (1,1)$ みたいな経路ですね!
サンプル3
入力
3 1 4
出力
NO
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。