题意是检查一个字符串是否满足三个条件:

一、至少有一个元音字母。二、不能出现三个连续的元音或三个连续的辅音。三、除了 ee 和 oo 外不能出现两个连续相同字母。

若三个条件都能满足,该字符串满足条件,有一个条件不满足则该字符串不满足条件。

但是这道题的数据......一定有元音字母,长度一定不少于 3。省去很多麻烦......

代码如下:

 #include <bits/stdc++.h>
using namespace std;
int main()
{
int len;
bool f;
std::ios::sync_with_stdio(false);
string s;
while(cin>>s)
{
if(s=="end") break;
len = s.length();
f = true;
// if(len==1)
// {
// if(s[0]!='a'&&s[0]!='e'&&s[0]!='i'&&s[0]!='o'&&s[0]!='u')
// {
// cout << "<" << s << "> is not acceptable.\n";
// continue;
// }
// else
// {
// cout << "<" << s << "> is acceptable.\n";
// continue;
// }
// }
// else if(len==2)
// {
// if((s[0]==s[1]&&s[0]!='e'&&s[0]!='o')||(s[0]!='a'&&s[0]!='e'&&s[0]!='i'&&s[0]!='o'&&s[0]!='u'&&s[1]!='a'&&s[1]!='e'&&s[1]!='i'&&s[1]!='o'&&s[1]!='u'))
// {
// cout << "<" << s << "> is not acceptable.\n";
// continue;
// }
// else
// {
// cout << "<" << s << "> is acceptable.\n";
// continue;
// }
// }
// else
{
for(int i = ; i < len-; ++i)
{
if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')
{
if(s[i+]=='a'||s[i+]=='e'||s[i+]=='i'||s[i+]=='o'||s[i+]=='u')
if(s[i+]=='a'||s[i+]=='e'||s[i+]=='i'||s[i+]=='o'||s[i+]=='u')
{
f = false;
break;
}
}
else
{
if(s[i+]!='a'&&s[i+]!='e'&&s[i+]!='i'&&s[i+]!='o'&&s[i+]!='u')
if(s[i+]!='a'&&s[i+]!='e'&&s[i+]!='i'&&s[i+]!='o'&&s[i+]!='u')
{
f = false;
break;
}
}
if(s[i]==s[i+])
if(s[i]!='e'&&s[i]!='o')
{
f = false;
break;
}
}
if(s[len-] == s[len-])
if(s[len-]!='e'&&s[len-]!='o') f = false;
if(s[len-]=='a'||s[len-]=='e'||s[len-]=='i'||s[len-]=='o'||s[len-]=='u')
{
if(s[len-]=='a'||s[len-]=='e'||s[len-]=='i'||s[len-]=='o'||s[len-]=='u')
if(s[len-]=='a'||s[len-]=='e'||s[len-]=='i'||s[len-]=='o'||s[len-]=='u')
f = false;
}
else
{
if(s[len-]!='a'&&s[len-]!='e'&&s[len-]!='i'&&s[len-]!='o'&&s[len-]!='u')
if(s[len-]!='a'&&s[len-]!='e'&&s[len-]!='i'&&s[len-]!='o'&&s[len-]!='u')
f = false;
}
}
if(!f) cout << "<" << s << "> is not acceptable.\n";
else cout << "<" << s << "> is acceptable.\n";
}
return ;
}

HDU 1039(字符串判断 **)的更多相关文章

  1. shell 字符串判断

    字符串的判断 '-z 字符串' 判断字符串是否为空(为空返回真) '-n 字符串' 判断字符串是否为非空(非空返回真) '字符串1==字符串2' 判断字符串1是否和字符串2相等(相等返回真) '字符串 ...

  2. 由一篇吐槽对String空字符串判断的文章所引发的碎碎念

    一.起因 最近有篇关于String空字符串判断的文章火了,老是看到这篇文章,既然如此我也只好认真看了下:程序员晒出一段代码引来无数网友狂喷!网友:你就活该当码农! 我也觉得这段代码写的不怎么的,首先程 ...

  3. JavaScript空字符串判断

    JavaScript空字符串判断 本文完整示例代码GIT仓: 测试用例完整代码:isNullOrEmpty jPublic GIT仓:jPublic 比较常见写法 if (str == 'undefi ...

  4. sh_16_字符串判断方法

    sh_16_字符串判断方法 # 1. 判断空白字符 space_str = " \t\n\r" print(space_str.isspace()) # 2. 判断字符串中是否只包 ...

  5. 单词数 HDU 2072 字符串输入控制

    单词数 HDU 2072 字符串输入控制 题意 lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个 ...

  6. Shell系列(28)- 条件判断之字符串判断

    字符串判断 $变量时要用双引号引起来,即"$变量" 测试选项 作用 -z 字符串 判断字符串是否为空(为空返回真) -n 字符串 判断字符串是否为非空(非空返回真) 字符串1 == ...

  7. HDU 1039.Easier Done Than Said?-条件判断字符串

    Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  8. 字符串 HDU 1039

    规则: 1.必须至少包含一个元音字母.a e i o u 2.不能包含三个连续元音或者连续辅音字母. 3.不能包含两个连续字母,除了'ee'和'oo'. PS:字母个数(1<= N <=2 ...

  9. hdu 1039 Easier Done Than Said? 字符串

    Easier Done Than Said?                                                                     Time Limi ...

随机推荐

  1. 【BZOJ1188】分裂游戏(博弈论)

    [BZOJ1188]分裂游戏(博弈论) 题面 BZOJ 洛谷 题解 这道题目比较神仙. 首先观察结束状态,即\(P\)状态,此时必定是所有的豆子都在最后一个瓶子中. 发现每次的转移一定是拿出一棵豆子, ...

  2. 【BZOJ5316】[JSOI2018]绝地反击(网络流,计算几何,二分)

    [BZOJ5316][JSOI2018]绝地反击(网络流,计算几何,二分) 题面 BZOJ 洛谷 题解 很明显需要二分一个答案. 那么每个点可以确定的范围就是以当前点为圆心,二分出来的答案为半径画一个 ...

  3. 【BZOJ3215/3216】[ZJOI2013]话旧/话旧2(组合数学,动态规划)

    [BZOJ3215/3216][ZJOI2013]话旧/话旧2(组合数学,动态规划) 题面 BZOJ3215 BZOJ3216 题解 先解决\(3216\),求的是最小值为\(0\). 因为起点就是\ ...

  4. 牛客小白月赛6C-桃花(DFS/BFS求树的直径)

    链接:https://www.nowcoder.com/acm/contest/136/C 来源:牛客网 桃花 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言 ...

  5. 分页技术 -servlet

    一.思路: 定义四个分页变量. pagenow 表示第几页,该变量由用户决定的,是变化的. pageSize 每页显示几条记录,由程序定义,也可以由程序定制. pageCount 表示共有多少页,(该 ...

  6. MongoDB存储引擎选择

    MongoDB存储引擎选择 MongoDB存储引擎构架 插件式存储引擎, MongoDB 3.0引入了插件式存储引擎API,为第三方的存储引擎厂商加入MongoDB提供了方便,这一变化无疑参考了MyS ...

  7. ArcGIS for qml -添加自由文本

    源码:https://github.com/sueRimn/ArcGIS-for-qml-demos 实现地图上鼠标点击后添加自由文本功能 作者: 狐狸家的鱼 Github: 八至 版权声明:如需转载 ...

  8. Django(十三)ajax 与 Bootstrap,font-awesome

    prop,attr,val font-awesome:字体,图标库 对话框添加,删除,修改: 添加: Ajax偷偷向后台发请求: 1. 下载引入jQuery 2. $.ajax({ url: '/ad ...

  9. 斯坦福大学公开课机器学习:machine learning system design | error metrics for skewed classes(偏斜类问题的定义以及针对偏斜类问题的评估度量值:查准率(precision)和召回率(recall))

    上篇文章提到了误差分析以及设定误差度量值的重要性.那就是设定某个实数来评估学习算法并衡量它的表现.有了算法的评估和误差度量值,有一件重要的事情要注意,就是使用一个合适的误差度量值,有时会对学习算法造成 ...

  10. linux系统调用之系统控制

    ioctl I/O总控制函数 _sysctl 读/写系统参数 acct 启用或禁止进程记账 getrlimit 获取系统资源上限 setrlimit 设置系统资源上限 getrusage 获取系统资源 ...