14133: FEB-FEB -USACO2022OpenBronze


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Бесі та Елсі замишляють нарешті повалити фермера Джона! Вони планують зробити \(N\) (\(1\le N\le 2\cdot 10^5\)) текстових повідомлень. Їхня розмова може бути представлена рядком \(S\) довжини \(N\), де \(S_i\) дорівнює \(B\) або \(E\), це означає, що \(i\)-е повідомлення було надіслано Бесі або Елсі відповідно.

Однак фермер Джон дізнається про план і намагається перехопити їх розмову. Таким чином, деякі літери \(S\) дорівнюють \(F\), що означає, що фермер Джон заплутав повідомлення та відправник невідомий.

Рівень збудження незаплутаної розмови – це кількість повторних відправлень корови, тобто кількість входжень підрядка \(BB\) або \(EE\) до \(S\). Ви хочете знайти рівень збудження вихідного повідомлення, але ви не знаєте, які з повідомлень фермера Джона насправді були повідомленнями Бессі. / Елсі. За всіма можливостями виведіть усі можливі рівні збудження \(S\).

Формат вхідних даних

Перший рядок складатиметься з одного цілого числа \(N\).

Наступний рядок містить \(S\).

Формат вихідних даних

Спочатку виведіть \(K\) - кількість різних можливих рівнів збудження. Наступні \(K\) рядків - виведіть рівні збудження в порядку зростання.

Приклад вхідних даних

4
BEEF

Приклад вихідних даних

2
1
2

Приклад вхідних даних

9
FEBFEBFEB

Приклад вихідних даних

2
2
3

Приклад вхідних даних

10
BFFFFFEBFE

Приклад вихідних даних

3
2
4
6

ОЦІНЮВАННЯ:

  • У тестах 4–8: \(N\le 10\)
  • У тестах 9–20: без додаткових обмежень.

Коментарі

Ще немає коментарів.