Problems
Palindrome Partitioning
Palindrome Partitioning
The partitioning of the string is called a palindrome partitioning if every substring of the partition is a palindrome. For example, “aba|b|bbabb|a|b|aba” is a palindrome partitioning of “ababbbabbababa”.
Determine the fewest cuts needed for a palindrome partitioning of a given string. For example, minimum of 3 cuts are needed for “ababbbabbababa”. The three cuts are “a|babbbab|b|ababa”. If a string is a palindrome, then minimum 0 cuts are needed. If a string of length n containing all different characters, then minimum n - 1 cuts are needed.
Input
One string s of length no more than 1000.
Output
Print the minimum number of cuts needed for a palindrome partitioning of the string s.
Input example #1
abbaazxzazbxbz
Output example #1
2
Input example #2
abccba
Output example #2
0
Input example #3
qwerty
Output example #3
5