문제
데이빗은 소문자로 이루어진 문자열에서 'moo' 패턴의 부분 문자열의 개수가
데이빗은 엘시가 읽어주는 문자열을 열심히 받아적었다. 데이빗은 받아쓰기 실력이 좋지 않기 때문에 문자 하나 정도는 실수로 잘못 적었을 수도 있다.
'moo' 패턴의 문자열은 일반적으로 문자
c_i 와 다른 문자c_j 가c_ic_jc_j 와 같은 형태로 있는 문자열로 정의된다.이 때,
c_i 는 소문자이고c_j 는c_i 바로 뒤에 두 번 연속으로 나타나는 다른 소문자로,c_i ≠ c_j 이다.
문자 하나 정도는 잘못 받아적었을 가능성을 고려하여 엘시가 읽어준 문자열에서
입력
첫 번째 줄에는 두 정수
두 번째 줄에는 길이가
출력
가능한 'moo'패턴 부분 문자열의 수와 그 목록을 알파벳 순으로 출력한다. 각 'moo'패턴 부분 문자열은 한 줄에 하나씩 출력된다.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 30점 | |
#2 | 70점 | 추가 제약 조건 없음 |
예제1
102
zzmoozzmoo
1
moo
어떤 문자를 바꾸어도 답은 달라지지 않는다.
예제2
172
momoobaaaaaqqqcqq
3
aqq
baa
cqq
8번 인덱스에 있는 문자 a
의 원본은 b
일 수 있고, 그 경우 부분 문자열 "baa"가 두 번 만들어진다.
11번 인덱스에 있는q
의 원본은 c
일 수 있고, 그 경우 부분 문자열 "cqq"가 두 번 만들어진다.
14번 인덱스에 있는c
의 원본은 a
일 수 있고, 그 경우 부분 문자열 "aqq"가 두 번 만들어진다.
이와 같이 새로운 'moo' 패턴을 만들 수 있다.
예제3
31
ooo
25
aoo
boo
coo
doo
eoo
foo
goo
hoo
ioo
joo
koo
loo
moo
noo
poo
qoo
roo
soo
too
uoo
voo
woo
xoo
yoo
zoo