CF1915D.Unnatural Language Processing

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Lura was bored and decided to make a simple language using the five letters a\texttt{a} , b\texttt{b} , c\texttt{c} , d\texttt{d} , e\texttt{e} . There are two types of letters:

  • vowels — the letters a\texttt{a} and e\texttt{e} . They are represented by V\textsf{V} .
  • consonants — the letters b\texttt{b} , c\texttt{c} , and d\texttt{d} . They are represented by C\textsf{C} .

There are two types of syllables in the language: CV\textsf{CV} (consonant followed by vowel) or CVC\textsf{CVC} (vowel with consonant before and after). For example, ba\texttt{ba} , ced\texttt{ced} , bab\texttt{bab} are syllables, but aa\texttt{aa} , eda\texttt{eda} , baba\texttt{baba} are not.A word in the language is a sequence of syllables. Lura has written a word in the language, but she doesn't know how to split it into syllables. Help her break the word into syllables.

For example, given the word bacedbab\texttt{bacedbab} , it would be split into syllables as ba.ced.bab\texttt{ba.ced.bab} (the dot .\texttt{.} represents a syllable boundary).

输入格式

The input consists of multiple test cases. The first line contains an integer tt ( 1t1001 \leq t \leq 100 ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains an integer nn ( 1n21051 \leq n \leq 2 \cdot 10^5 ) — the length of the word.

The second line of each test case contains a string consisting of nn lowercase Latin characters — the word.

All words given are valid words in the language; that is, they only use the letters a\texttt{a} , b\texttt{b} , c\texttt{c} , d\texttt{d} , e\texttt{e} , and each word is made up of several syllables.

The sum of nn over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For test case, output a string denoting the word split into syllables by inserting a dot .\texttt{.} between every pair of adjacent syllables.

If there are multiple possible splittings, output any of them. The input is given in such a way that at least one possible splitting exists.

输入输出样例

  • 输入#1

    6
    8
    bacedbab
    4
    baba
    13
    daddecabeddad
    3
    dac
    6
    dacdac
    22
    dababbabababbabbababba

    输出#1

    ba.ced.bab
    ba.ba
    dad.de.ca.bed.dad
    dac
    dac.dac
    da.bab.ba.ba.bab.bab.ba.bab.ba
首页