해결한 사람
0
명
정답률
0.00
%
시간 제한
3000
ms
메모리 제한
245
MB
Kolya에게는 소문자 및 대문자 라틴 문자와 숫자로 이루어진 길이 n의 문자열 s가 있다.
그는 s의 문자들을 재배열한 뒤, 각 부분이 팰린드롬이고 모든 부분의 길이가 같도록 최소 개수의 부분으로 자르려고 한다. 팰린드롬은 madam이나 racecar처럼 뒤에서부터 읽어도 앞에서부터 읽은 것과 같은 문자열이다.
문자열 s를 자르기 전에 그 안의 문자들을 재배열할 수 있을 때, s를 잘라 만들 수 있는 길이가 같은 팰린드롬의 최소 개수를 구하여 Kolya를 도와라.
첫째 줄에 문자열 s의 길이를 나타내는 정수 n (1 ≤ n ≤ 4·105)가 주어진다.
둘째 줄에 소문자 및 대문자 라틴 문자와 숫자로 이루어진 길이 n의 문자열 s가 주어진다.
첫째 줄에 주어진 문자열을 나눌 수 있는 팰린드롬의 최소 개수인 정수 k를 출력한다.
둘째 줄에 k개의 문자열, 즉 팰린드롬 자체를 출력한다. 각 문자열을 공백으로 구분한다. 팰린드롬은 임의의 순서로 출력해도 된다. 모든 팰린드롬의 길이는 같아야 한다.
6
aabaac
2
aba aca
2
aA
2
A a
8
0rTrT022
1
02TrrT20