atcoder#ARC087B. [ABC082D] FT Robot

[ABC082D] FT Robot

配点 : 500500

問題文

二次元平面の原点にロボットが置かれています。 最初、ロボットは xx 軸の正の向きを向いています。

このロボットに命令列 ss が与えられます。 ss は次の 22 文字のみからなり、先頭から末尾まで順に実行されます。

  • F : 今向いている向きに長さ 11 だけ移動する。
  • T : 時計回りまたは反時計回りの好きな方向に 9090 度だけ向きを変える。

ロボットの目標は、命令列をすべて実行し終わった後に座標 (x,y)(x, y) にいることです。 この目標が達成可能か判定してください。

制約

  • ssF, T のみからなる。
  • 1s8 0001 \leq |s| \leq 8\ 000
  • xx, yy は整数である。
  • x,ys|x|, |y| \leq |s|

入力

入力は以下の形式で標準入力から与えられる。

ss

xx yy

出力

目標が達成可能ならば Yes を出力し、達成不可能ならば No を出力せよ。

FTFFTFFF
4 2
Yes

11 番目の T で反時計周りに 9090 度だけ向きを変え、22 番目の T で時計周りに 9090 度だけ向きを変えればよいです。

FTFFTFFF
-2 -2
Yes

11 番目の T で時計周りに 9090 度だけ向きを変え、22 番目の T で時計周りに 9090 度だけ向きを変えればよいです。

FF
1 0
No
TF
1 0
No
FFTTFF
0 0
Yes

例えば、11 番目の T で反時計周りに 9090 度だけ向きを変え、22 番目の T で反時計周りに 9090 度だけ向きを変えればよいです。

TTTT
1 0
No