如何用wordpress快速建站,中瑞网络网站建设流程,威海网站建设开发公司,wordpress文章都展现在一个页面题目#xff1a; D. Unnatural Language Processing 每次测试的时间限制1秒钟 每次测试的内存限制256兆字节 投入标准输入 输出标准输出 露拉觉得很无聊#xff0c;决定用这五个字母创造一种简单的语言a, b, c, d, e。有两种类型的信件:
元音—信件a和e。他们由以下人员代表…题目 D. Unnatural Language Processing 每次测试的时间限制1秒钟 每次测试的内存限制256兆字节 投入标准输入 输出标准输出 露拉觉得很无聊决定用这五个字母创造一种简单的语言a, b, c, d, e。有两种类型的信件:
元音—信件a和e。他们由以下人员代表V. 辅音—信件b, c以及d。他们由以下人员代表C. 有两种类型音节在语言中:CV(辅音后跟元音)或CVC(元音前后带辅音)。举个例子ba, ced, bab是音节但是aa, eda, baba不是。 A 单词在语言中是一系列音节。Lura在语言中写了一个单词但她不知道如何将其拆分为音节。帮助她把单词分解成音节。
例如给定单词bacedbab它将被拆分成音节如ba.ced.bab(圆点.代表音节边界)。
投入 输入由多个测试用例组成。第一行包含一个整数t (1≤t≤100)—测试用例的数量。测试用例的描述如下。
每个测试用例的第一行包含一个整数n (1≤n≤2⋅105)—单词的长度。
每个测试用例的第二行包含一个字符串由n小写拉丁字符—单词。
给出的所有单词都是语言中的有效单词也就是说他们只使用字母a, b, c, d, e每个单词由几个音节组成。
的总和n所有测试案例不超过2⋅105.
输出 对于测试用例输出一个字符串表示通过插入一个点将单词分成音节.每对相邻音节之间。
如果有多个可能的分割输出其中任何一个。输入以这样的方式给出即至少存在一种可能的分裂。
例子 投入复制 6 8 bacedbab 4 baba 13 daddecabeddad 3 dac 6 dacdac 22 dababbabababbabbababba 输出复制 ba.ced.bab ba.ba dad.de.ca.bed.dad dac dac.dac da.bab.ba.ba.bab.bab.ba.bab.ba 思路 每次遇见V后要看V后面有连着有几个C如果只有一个C说明是CV结构的如果有两个C说明是CVC结构的最后一个单词单独判定。 代码
#includebits/stdc.h
using namespace std;
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
int main()
{IOS;int n;cin n;while (n--){int t;cin t;string arr(t2, 0);//储存字符string wwr(t2, 0);//将字符转化为CVstring ans ;for (int i 0; i t; i){cin arr[i];if (arr[i] a || arr[i] e)wwr[i] v;elsewwr[i] c;}for (int i 0; i t; i){ans arr[i];if (wwr[i] c i t - 3)//判断最后一个单词CVC结构{ans arr[i 1];ans arr[i 2];break;}else if (wwr[i] c i t - 2)//判断最后一个单词是否为CV结构{ans arr[i 1];break;}else if (wwr[i] v){if (wwr[i 2] c){ans arr[i 1];ans .;i;}else{ans .;}}}cout ans endl;}return 0;
}