atcoder#ARC087B. [ABC082D] FT Robot

[ABC082D] FT Robot

题目描述

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

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

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

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

输入格式

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

s s x x y y

输出格式

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

题目大意

题意描述: 现有一个机器人在坐标轴原点处,朝向x轴正方向。给定一个命令串s,s内含有两种命令:F,T。F表示向当前朝向前进1步,T表示向左向右旋转90度。请你回答,按照命令串s执行,会不会到达(x,y)处。(x与y由题目输入)

FTFFTFFF
4 2
Yes
FTFFTFFF
-2 -2
Yes
FF
1 0
No
TF
1 0
No
FFTTFF
0 0
Yes
TTTT
1 0
No

提示

制約

  • s s F, T のみからなる。
  • 1  s  8 000 1\ \leq\ |s|\ \leq\ 8\ 000
  • x x , y y は整数である。
  • x, y  s |x|,\ |y|\ \leq\ |s|

Sample Explanation 1

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

Sample Explanation 2

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

Sample Explanation 5

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