[USACO23OPEN] FEB B
题意翻译
### 题目描述
贝西和埃尔希正在密谋最终推翻他们的主人——农夫约翰!他们通过 $N$ 条短信进行计划。他们的对话可以用一个长度为 $N$ 的字符串 $S$ 来表示。
其中 $S_i$ 是字母 ```B``` 或 ```E```,这意味着第 $i$ 条消息分别由贝西或埃尔希发送的。
然而,农夫约翰听说了这个消息,并试图拦截他们的谈话。因此,字符串 $S$ 的一些字母是 ```F```,这意味着农夫约翰混淆了信息,发件人未知(贝西、埃尔希都有可能)。
**注:约翰没有发送信息!他只是在干扰奶牛间的通话!**
未混淆对话的兴奋程度是**一只奶牛重复发送信息的次数**。也就是说,子串 ```BB``` 或 ```EE``` 在 $S$ 中出现的次数。你想找到原始信息的兴奋程度,但你不知道约翰的信息中哪一条实际上是贝西或埃尔希的。在所有可能的情况下,**从小到大输出**所有可能的兴奋程度。
### 输入格式
第一行:一个整数 $N$(通话长度)。
第二行:一个字符串 $S$(通话内容)。
### 输出格式
第一行:输出一个整数 $K$,为**不同**兴奋程度的可能数量。
随后 $K$ 行:每行一个整数,为每种兴奋程度。**注意按照从小到大的顺序输出。**
### 数据范围
$1 \le N \le 2 \times 10^5$。
- 测试点 4~8:$N \le 10$
- 测试点 9~20:无额外限制。
题目描述
Bessie and Elsie are plotting to overthrow Farmer John at last! They plan it out
over $N$ text messages. Their conversation can be
represented by a string $S$ of length $N$ where $S_i$ is either `B` or `E`,
meaning the $i$ th message was sent by Bessie or Elsie, respectively.
However, Farmer John hears of the plan and attempts to intercept their
conversation. Thus, some letters of $S$ are `F`, meaning Farmer John obfuscated
the message and the sender is unknown.
The **excitement level** of a non-obfuscated conversation is the number of
times a cow double-sends - that is, the number of occurrences of substring `BB`
or `EE` in $S$. You want to find the excitement level of the original message,
but you don’t know which of Farmer John’s messages were actually Bessie’s
/ Elsie’s. Over all possibilities, output all possible excitement levels of
$S$.
输入输出格式
输入格式
The first line will consist of one integer $N$.
The next line contains $S$.
输出格式
First output $K$, the number of distinct excitement levels possible. On the next
$K$ lines, output the excitement levels, in increasing order.
输入输出样例
输入样例 #1
4
BEEF
输出样例 #1
2
1
2
输入样例 #2
9
FEBFEBFEB
输出样例 #2
2
2
3
输入样例 #3
10
BFFFFFEBFE
输出样例 #3
3
2
4
6
说明
$1\le N\le 2\cdot 10^5$.
- Inputs 4-8: $N\le 10$.
- Inputs 9-20: No additional constraints.