Clasificando Palíndromos
Description
Un palíndromo es una palabra que lee lo mismo hacia atrás que hacia adelante. Algunos ejemplos de palíndromo son abbcbba y bbbbb. En este problema, también definimos el concepto de bi-palíndromo. Un bi-palíndromo es una palabra que no es un palíndromo en sí, pero se puede dividir exactamente en dos palíndromos. Algunos ejemplos de bi-palíndromo son abbaccc y aaaab. En este problema, tenemos que clasificar algunas palabras dadas en la entrada en palíndromo, bi-palíndromo o no palíndromo. Un no palíndromo es una palabra que no es palíndromo ni bi-palíndromo. Escriba un programa para clasificar una lista de palabras de acuerdo con los criterios explicados anteriormente.
Input specification
La primera línea de la entrada contiene el número 1 ≤ N ≤ 100 de palabras en la lista. Las siguientes N líneas contienen una cadena con no más de 1000 caracteres en minúscula del alfabeto inglés, que representan cada palabra que debe clasificarse.
Output specification
La salida contiene N líneas. Cada línea contiene la clasificación de cada palabra. Las posibles respuestas son palindrome, bi-palindrome y non-palindrome según la explicación anterior.
Sample input
5
abbcbba
bbbbb
abbaccc
aaaab
abcdefgh
Sample output
palindrome
palindrome
bi-palindrome
bi-palindrome
non-palindrome
Comments
Aniervs donde puedo buscar ese algoritmo para estudiarlo???
Q algoritmo puedo utilizar en este problema?
Rolling Hashing