A. Space Navigation
赛时我关注了一下做出提的人数,我在 6min 的时候提交,一次通过,但此时只有大概 800 个人通过,有点令人大跌眼镜。
分析题目,我们其实可以根据 \(s\) 算出这个飞船在 \(x\) 轴正负方向上和 \(y\) 轴正负方向上最远可以到达的坐标位置,四个量算出来后,和目的地的坐标一比较,答案自现。
//Don't act like a loser.
//This code is written by huayucaiji
//You can only use the code for studying or finding mistakes
//Or,you'll be punished by Sakyamuni!!!
#include<bits/stdc++.h>
#define int long long
using namespace std;
int read() {
char ch=getchar();
int f=1,x=0;
while(ch<'0'||ch>'9') {
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') {
x=x*10+ch-'0';
ch=getchar();
}
return f*x;
}
int n,u,d,l,r,m;
signed main() {
int t=read();
while(t--) {
cin>>n>>m;
string s;
cin>>s;
int sz=s.size();
u=l=d=r=0;
for(int i=0;i<sz;i++) {
if(s[i]=='U') {
u++;
}
if(s[i]=='D') {
d++;
}
if(s[i]=='L') {
l++;
}
if(s[i]=='R') {
r++;
}
}
if(n>0) {
if(r<n) {
printf("NO\n");
continue;
}
}
else {
if(l<(-n)) {
printf("NO\n");
continue;
}
}
if(m>0) {
if(u<m) {
printf("NO\n");
continue;
}
}
else {
if(d<(-m)) {
printf("NO\n");
continue;
}
}
printf("YES\n");
}
return 0;
}