P16733 [GKS 2019 #D] Latest Guests
题目描述
Circleburg 市有一条大的环形街道,沿街有 $N$ 个领事馆。领事馆按顺时针顺序编号为 $1, 2, \dots, N$。
今天,有 $G$ 位客人(编号 $1, 2, \dots, G$)将沿着环形街道行驶 $M$ 分钟。每位客人要么是**顺时针**客人(用字符 C 表示),要么是**逆时针**客人(用字符 A 表示)。
第 $i$ 位客人从编号为 $H_i$ 的领事馆出发,每分钟结束时都会行驶到相邻的领事馆。如果该客人是:
- 顺时针客人,则行驶到 $(j+1)$ 号领事馆(若当前在 $N$ 号,则行驶到 $1$ 号);
- 逆时针客人,则行驶到 $(j-1)$ 号领事馆(若当前在 $1$ 号,则行驶到 $N$ 号)。
每个领事馆只会记住**最后**访问它的客人。如果有多个客人在最后时刻同时访问,则该领事馆会记住所有这些客人。
对于每位客人,请计算有多少个领事馆会记住他们。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。每个测试用例的第一行包含三个整数 $N$、$G$ 和 $M$,分别表示领事馆的数量、客人的数量以及行驶的分钟数。随后 $G$ 行,第 $i$ 行包含整数 $H_i$ 后跟一个字符:若第 $i$ 位客人是顺时针客人则为 C,逆时针则为 A。
输出格式
对于每个测试用例,输出一行,格式为 `Case #x: y_1 y_2 ... y_G`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y_i$ 是第 $i$ 位客人被记住的领事馆数量。
说明/提示
在第一个样例中,有 $N = 5$ 个领事馆,$G = 3$ 位客人,行驶 $M = 2$ 分钟。
- 对于第 1 个领事馆,最后访问它的客人是客人 1 和客人 2(在第 1 分钟结束时)。
- 对于第 2 个领事馆,最后访问它的客人是客人 1(在第 2 分钟结束时)。
- 第 3 个领事馆从未被访问。
- 对于第 4 个领事馆,最后访问它的客人是客人 3(在第 2 分钟结束时)。
- 对于第 5 个领事馆,最后访问它的客人是客人 2(在第 2 分钟结束时)。
因此,第 1、2、3 位客人对应的答案分别是 2、2、1。
在第二个样例中,有 $N = 2$ 个领事馆,$G = 4$ 位客人,行驶 $M = 0$ 分钟。
- 对于第 1 个领事馆,最后访问它的客人是客人 1、2、3 和 4(所有客人都从此领事馆出发)。
- 第 2 个领事馆从未被访问。
因此,第 1、2、3、4 位客人对应的答案分别是 1、1、1、1。
在第三个样例中,有 $N = 3$ 个领事馆,$G = 2$ 位客人,行驶 $M = 10$ 分钟。
- 对于第 1 个领事馆,最后访问它的客人是客人 1 和客人 2(在第 10 分钟结束时)。
- 对于第 2 个领事馆,最后访问它的客人是客人 2(在第 9 分钟结束时)。
- 对于第 3 个领事馆,最后访问它的客人是客人 1(在第 9 分钟结束时)。
因此,第 1 和 2 位客人对应的答案分别是 2、2。
在第四个样例中,只有一位客人。这位客人最终会访问所有领事馆,因此所有领事馆都记住了他。所以答案为 6。
### 限制条件
$1 \le T \le 100$。
对于所有 $i$,$1 \le H_i \le N$。
**测试集 1(可见)**
$2 \le N \le 100$。
$1 \le G \le 100$。
$0 \le M \le 100$。
**测试集 2(隐藏)**
$2 \le N \le 10^5$。
$1 \le G \le 10^5$。
$0 \le M \le 10^9$。
翻译由 DeepSeek V4 Pro 完成