#include <bits/stdc++.h>
using namespace std;
const long long N=500050;//保证不重复,即使有负数
int n, m, i, j, k, x, y;
char c, s[N];
map <long long, int> f;
int main(){
    scanf("%d%s", &n, s+1);
    f[1*N+1] = 1;
    for(i=x=y=1; c=s[i]; i++){
        if(c == 'R') x++;
        else if(c == 'L') x--;
        else if(c == 'U') y++;
        else y--;
        if(++f[x*N+y] > 1) break;
    }//判断(x, y)是否走超过1次
    printf("%s\n", c?"Yes":"No");
    return 0;
}

作者 crxis

发表回复