Konnichi wa, OIE-san P86489


Statement
 

pdf   zip

thehtml

¿Quién no está intentando aprender japonés hoy en día? Para aquellos que, pese a todo nuestro esfuerzo, no lo conseguimos, siempre nos queda el recurso de aprender a “japonizar” nuestro nombre. Me explico: el lenguaje tiene 3 alfabetos distintos: el kanji, el hiragana y el katakana (sin incluir el “romaji”, que es el nombre que dan a nuestro alfabeto latino). El kanji es un alfabeto ideográfico: hay varios miles de símbolos, y cada símbolo representa un concepto. Como los símbolos no representan fonemas como en nuestro alfabeto, no podemos utilizarlos fácilmente para escribir nombres extranjeros en japonés. Los otros dos alfabetos, el hiragana y el katakana, son alfabetos silábicos: cada símbolo representa una sílaba. Por simplicidad, consideraremos que una “sílaba japonesa” está formada por una única vocal (a, e, i, o, u) precedida, opcionalmente, por una consonante (cualquiera de las letras restantes de nuestro alfabeto, incluyendo la ‘h’ o la ‘y’). Consideraremos una única excepción: los japoneses aceptan que ‘n’ es, por ella misma, una sílaba.

Las sílabas japonesas son tan limitadas que no podemos escribir la mayoría de nuestros nombres: Pedro tiene una sílaba “dro” que no puede escribirse en japonés, “Gutiérrez” tiene la “rr” y la “z” final, etc. Para “japonizar” un nombre seguiremos el proceso siguiente: siempre que encontremos una consonante (distinta de la ‘n’) que no vaya seguida de vocal, insertaremos una vocal ‘u’ a continuación. (En japonés la vocal ‘u’ hace el papel de vocal muda.)

Por ejemplo: siguiendo las normas descritas, “Brat Pitt” se japoniza en “Buratu Pitutu”, “Pedro Gutierrez” (omitimos el acento) en “Peduro Gutierurezu”, y “Joe McEnroe” en “Joe MucEnroe”. “Angelina Jolie”, en cambio, se queda como está.

Entrada

La entrada consiste en una línea con un número n entre 1 y 1000, seguido de n líneas, cada una de las cuales contiene un nombre. Un nombre es una o más palabras formadas únicamente por letras del alfabeto inglés (minúsculas y mayúsculas, sin acentuar). Las palabras están separadas entre ellas por un espacio. Una palabra tiene como mucho 40 letras, y un nombre nunca tendrá más de 10 palabras.

Vuestro programa debe resolver 3 entradas como las descritas en un tiempo de un segundo.

Salida

La salida consiste en n líneas siguiendo el formato “Konnichi wa, NOMuBuRE-san”, donde NOMuBuRE es la japonización del NOMBRE leído. Hay que respetar la capitalización del nombre leído, pero las letras ‘u’ que se añadan deben ser siempre minúsculas.

Pista Por favor, escribid la salida correctamente (“Konnichi” empieza con mayúscula, detrás de la coma hay un espacio, etc.), o el juez rechazará vuestra solución.

Public test cases
  • Input

    6
    NOMBRE
    Brat Pitt
    Pedro Gutierrez
    Joe McEnroe Jr
    Edgar Ramirez III
    Angelina Jolie IV

    Output

    Konnichi wa, NOMuBuRE-san
    Konnichi wa, Buratu Pitutu-san
    Konnichi wa, Peduro Gutierurezu-san
    Konnichi wa, Joe MucEnroe Juru-san
    Konnichi wa, Edugaru Ramirezu III-san
    Konnichi wa, Angelina Jolie IVu-san
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++