Clasificando Palíndromos


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Java 8 2.0s
Python 3.0s
Memory limit: 256M
Java 8 2G

Authors:
Problem type
Allowed languages
Ada, Assembly, Awk, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Scala, Swift, VB

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


  • 0
    Primervirgen  commented on Aug. 2, 2019, 7:34 p.m.

    Aniervs donde puedo buscar ese algoritmo para estudiarlo???


  • 0
    Primervirgen  commented on July 19, 2019, 4:46 p.m.

    Q algoritmo puedo utilizar en este problema?


    • 1
      aniervs  commented on July 28, 2019, 4:07 p.m.

      Rolling Hashing