十叹雨夜今长夜,夜夜空欢苦等待。|

IOIAK_wanguan

园龄:2年6个月粉丝:2关注:0

2023-04-29 16:38阅读: 27评论: 0推荐: 0

CodeForces-858#C 题解

正文

最坏时间复杂度:O(|S|)

本题十分简单,但请注意两个条件要同时满足

因为要求分割的次数越少越好,所以只要连续的辅音字母长度不大于 2 就不需要分割。

由于辅音字母太多,只需要标记元音字母即可。

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
bool yuan[505];//记录元音字母
int cnt;//记录连续辅音个数
string s;
int main(){
ios::sync_with_stdio(false),cin.tie(0);
yuan['a']=yuan['i']=yuan['u']
=yuan['o']=yuan['e']=1;//记录元音字母
cin>>s;
for(int i=0;i<s.size();i++){
if(!yuan[s[i]]) cnt++;//如果是辅音字母,将cnt加1
else cnt=0;//如果是元音字母,将累计的cnt归零
if(cnt>=3&&(s[i]!=s[i-1]||s[i]!=s[i-2]))
cout<<" ",cnt=1;//如果两个条件都满足了,分割
cout<<s[i];
}
}

完结!!

后附

日志

v1.0 on 2023.04.29: 发布

本文作者:wanguan

本文链接:https://www.cnblogs.com/wanguan/p/17364205.html

版权声明:本作品采用 BY-NC-SA 4.0 许可协议进行许可。

posted @   IOIAK_wanguan  阅读(27)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起