CF626A Robot Sequence

题目描述

机器人 Calvin 处在一个无限的矩形网格上。Calvin 的源代码包含一个长度为 $n$ 的指令序列,每条指令要么是 'U'、'R'、'D' 或 'L',分别表示向上、向右、向下或向左移动一格。有多少种方法可以让 Calvin 执行一个非空的连续子串指令后,回到他开始的位置?如果两个子串的起始或结束下标不同,则视为不同的子串。

输入格式

输入的第一行包含一个正整数 $n$($1 \leq n \leq 200$),表示指令的数量。 第二行包含 $n$ 个字符,每个字符为 'U'、'R'、'D' 或 'L',表示 Calvin 的源代码。

输出格式

输出一个整数,表示 Calvin 能够执行并回到起始位置的连续子串数量。

说明/提示

在第一个样例中,整个源代码就满足要求,同时第 2 和第 3 个字符组成的 "RL" 子串也满足条件。 注意,在第三个样例中,子串 "LR" 出现了三次,因此总结果要计数三次。 由 ChatGPT 5 翻译