파일 업로드

연속 메시지 횟수

profile
실행 시간 제한메모리 제한
2 초1024 MB
📃 해결할 문제

지수와 현아는 시험 감독을 어떻게 교묘하게 속일지 대화를 나누고 있습니다! 그들은 총 NN (1N21051 \le N \le 2 \cdot 10^5)개의 문자 메시지를 이용한 계획을 세웁니다. 그들의 대화는 길이 NN의 문자열 SS로 표현할 수 있으며, SiS_iBB 또는 EE입니다. 이것은 각각 ii 번째 메시지가 지수 또는 현아에게서 발송됐다는 것을 의미합니다. 

그러나 시험 감독이 이 계획을 우연히 알게 되고, 그들의 문자 메시지를 가로채려고 시도합니다. 따라서 SS의 일부 문자는 FF이며, 시험 감독이 문자 메시지를 변조하여 보낸 사람을 알 수 없는 메시지를 의미합니다.

변조되지 않은 문자 메시지에서 '연속 메시지 횟수'는 학생이 메시지를 두 번 보내는 횟수, 즉 문자열 SS에서 부분 문자열 BBBB 또는 EEEE의 발생 횟수입니다. 원래 문자 메시지의 '연속 메시지 횟수'를 찾으려고 하지만, 감독의 문자 메시지 중 어떤 것이 실제로 지수/현아의 것인지 알 수 없습니다. 모든 가능성을 고려하여, SS의 모든 가능한 '연속 메시지 횟수'를 출력하세요.

💻 입력

첫 번째 줄은 하나의 정수 NN을 포함할 것입니다.

다음 줄에는 SS가 있습니다.

🖨️ 출력

먼저 가능한 '연속 메시지 횟수'의 수 KK를 출력합니다. 다음 KK 줄에서는 '연속 메시지 횟수'를 증가하는 순서로 출력합니다.


💻 예제 입력 1
4
BEEF
🖨️ 예제 출력 1
2
1
2
💻 예제 입력 2
9
FEBFEBFEB
🖨️ 예제 출력 2
2
2
3
💻 예제 입력 3
10
BFFFFFEBFE
🖨️ 예제 출력 3
3
2
4
6

💡 힌트

예제 입력:

9
FEBFEBFEB

예제 출력:

2
2
3

 

예제 입력:

10
BFFFFFEBFE

예제 출력:

3
2
4
6

 

점수:

  • 입력 4-8: N10N \le 10
  • 입력 9-20: 추가 제약사항은 없습니다.

출처: USACO 2023 US Open Contest, Bronze Problem 1. FEB