题解
题面描述
题目要求我们判断箱子经过一系列移动后是否恰好到达坐标 (0,0)。
- 初始时箱子的坐标为 (x,y),其中 −10000≤x,y≤10000。
- 输入一个字符串 S,字符串中的字符可以是 W、A、S、D,分别代表向上、向左、向下、向右移动。
- 每个操作会使坐标按如下方式变化:
- W:(x,y)→(x,y+1)
- A:(x,y)→(x−1,y)
题目内容
多多最近在玩一个推箱子游戏,在一个二维坐标中,箱子的起坐标是(x,y),多多有四个方向键可以操作:
-
W:将箱子向上移动,即:(x,y)−>(x,y+1)
-
A:将箱子向左移动,即:(x,y)−>(x−1,y)
-
S: 将箱子向下移动,即:(x,y)−>(x,y−1)
-
D:将箱子向右移动,即:(x,y)−>(x+1,y)
在经过多多一系列按键操作后,如果恰好最终箱子的位置恰好在(0,0)就算赢了,请你帮忙计算多多是否能赢。
输入描述
第一行,包含一个数字T(1<=T<=100),表示T组测试用例。
接下来,对于每组测试用例,输入有2行:
第1行包含两个数字x和y,表示箱子的起始坐标(x,y)。−10000≤x,y≤10000
第2行包含一个字符串S(由W、A、S、D这4个字母组成),记录了多多的一系列移动操作。字符串的长度大于0且不超过10000
输出描述
对于每组测试用例,输出一个字符串:"YES"表示赢了,"NO"表示没有赢。
样例1
输入
2
2 0
WAS
1 0
WAADS
输出
NO
YES
说明
有2组测试用例:
对于第1组用例,起始位置是(2,0),经过W、A、S操作后,位置的变化过程是:−>(2,1)−>(1,1)−>(1,0),最终位置是(1,0),所以没有赢,输出NO。
对于第2组测试用例,初始位置是(1,0),经过W、A、A、D、S操作后,位置的变化过程是:−>(1,1)−>(0,1)−>(−1,1)−>(0,1)−>(0,0),最终位置是(0,0),所以赢了,输出YES。