CF2204A Passing the Ball

题目描述

在一次体育课上,有 $n$ 个学生排成一行,从左到右编号为 $1$ 到 $n$。 对于每个学生,已知如果他们接到球,就会把球传给左边的邻居或右边的邻居。这一规则由长度为 $n$ 的字符串 $s$ 指定。字符串的每个字符都是 L 或 R,当 $s_i$ 为 L 时,第 $i$ 个学生会把球传给第 $(i-1)$ 个学生;当 $s_i$ 为 R 时,第 $i$ 个学生会把球传给第 $(i+1)$ 个学生。第一个学生总是把球传给第二个学生,最后一个学生总是把球传给倒数第二个学生(也就是说,字符串 $s$ 首字符为 R,末字符为 L)。 请考虑如下过程: - 首先,第一个学生接到球; - 接下来,恰好进行 $n$ 次操作:当前持球的学生按照上述规则把球传给指定的邻居。 你的任务是求出在上述过程中,有多少个学生至少接到过一次球。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10000$)——测试用例的数量。 每个测试用例包括两行: - 第一行包含一个整数 $n$($2 \le n \le 50$)——学生的数量; - 第二行包含 $s$ ——一个长度为 $n$ 仅包含 L 和 R 的字符串。序列的第一个字符为 R,最后一个字符为 L。

输出格式

对于每个测试用例,输出一个整数——在上述过程中至少接到一次球的学生人数。

说明/提示

在第一个样例中,第 $1$ 个学生接到球后传给第 $2$ 个学生,然后第 $2$ 个学生又把球传回给第 $1$ 个学生,如此往复,只有第 $1$ 个和第 $2$ 个学生接到过球。 在第二个样例中,第 $1$ 个学生将球传给第 $2$ 个学生,第 $2$ 个传给第 $3$ 个,第 $3$ 个传给第 $4$ 个,第 $4$ 个传给第 $5$ 个,第 $5$ 个传给第 $6$ 个,第 $6$ 个又传回给第 $5$ 个。每个学生都至少接到了一次球。 由 ChatGPT 5 翻译