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 翻译