HDU 1039(字符串判断 **)
题意是检查一个字符串是否满足三个条件:
一、至少有一个元音字母。二、不能出现三个连续的元音或三个连续的辅音。三、除了 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(字符串判断 **)的更多相关文章
- shell 字符串判断
字符串的判断 '-z 字符串' 判断字符串是否为空(为空返回真) '-n 字符串' 判断字符串是否为非空(非空返回真) '字符串1==字符串2' 判断字符串1是否和字符串2相等(相等返回真) '字符串 ...
- 由一篇吐槽对String空字符串判断的文章所引发的碎碎念
一.起因 最近有篇关于String空字符串判断的文章火了,老是看到这篇文章,既然如此我也只好认真看了下:程序员晒出一段代码引来无数网友狂喷!网友:你就活该当码农! 我也觉得这段代码写的不怎么的,首先程 ...
- JavaScript空字符串判断
JavaScript空字符串判断 本文完整示例代码GIT仓: 测试用例完整代码:isNullOrEmpty jPublic GIT仓:jPublic 比较常见写法 if (str == 'undefi ...
- sh_16_字符串判断方法
sh_16_字符串判断方法 # 1. 判断空白字符 space_str = " \t\n\r" print(space_str.isspace()) # 2. 判断字符串中是否只包 ...
- 单词数 HDU 2072 字符串输入控制
单词数 HDU 2072 字符串输入控制 题意 lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个 ...
- Shell系列(28)- 条件判断之字符串判断
字符串判断 $变量时要用双引号引起来,即"$变量" 测试选项 作用 -z 字符串 判断字符串是否为空(为空返回真) -n 字符串 判断字符串是否为非空(非空返回真) 字符串1 == ...
- HDU 1039.Easier Done Than Said?-条件判断字符串
Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- 字符串 HDU 1039
规则: 1.必须至少包含一个元音字母.a e i o u 2.不能包含三个连续元音或者连续辅音字母. 3.不能包含两个连续字母,除了'ee'和'oo'. PS:字母个数(1<= N <=2 ...
- hdu 1039 Easier Done Than Said? 字符串
Easier Done Than Said? Time Limi ...
随机推荐
- 【XSY1162】鬼计之夜 最短路
题目描述 给你一个\(n\)个点\(m\)条边的有向图,有\(k\)个关键点.求一条最短的从一个关键点到另一个关键点的路径. \(n,m,k\leq 100000\) 题解 跑\(k^2\)次最短路显 ...
- HTTPserver v3.0 版本项目
项目介绍 模拟使用 socket 多线程 / io多路复用 实现一个简单的 httpserver 和 webframe 交互的项目程序 期望可以实现简单的 以 http 协议为标准的 和浏览器 / ...
- 阿里云.log
申请证书审核失败的原因及处理方法;( 新添加站点 免费版 SSL 网页内不能有 HTTPS的连接:更多点击连接)
- pytorch搭建简单网络
pytorch搭建一个简单神经网络 import torch import torch.nn as nn # 定义数据 # x:输入数据 # y:标签 x = torch.Tensor([[0.2, ...
- Codeforces Round #463 F. Escape Through Leaf (李超线段树合并)
听说正解是啥 set启发式合并+维护凸包+二分 根本不会啊 , 只会 李超线段树合并 啦 ... 题意 给你一颗有 \(n\) 个点的树 , 每个节点有两个权值 \(a_i, b_i\) . 从 \( ...
- linux中$#,$0,$1,$2,$@,$*,$$,$?的含义
$# 是传给脚本的参数个数$0 是脚本本身的文件名$1 是脚本后接的第一个参数$2 是脚本后接的第二个参数$@ 是传给脚本的所有参数列表,"$1" "$2" & ...
- genymotion ddms查看data等文件目录
使用ADB shell 命令: 打开 Cmd ,输入 ADB shell 命令后,回车(前提是你已经配置好了adb 的环境变量,跟配置Java的环境变量一样); 输入su回车,获取超级管理员权限 ...
- [SNOI2017]一个简单的询问【莫队+容斥原理】
题目大意 给你一个数列,让你求两个区间内各个数出现次数的乘积的和. 分析 数据范围告诉我们可以用莫队过. 我并不知道什么曼哈顿什么乱七八糟的东西,但是我们可以用容斥原理将这个式子展开来. \[\sum ...
- 【转】VMware 全屏显示
首先解决一个问题:配置虚拟机,发现屏幕大小太小 需要安装vmware tools ,屏幕就会自适应 但是安装vmware tools 的按钮是灰的,所以我首先就是安装它 [来源]
- LVS搭建负载均衡(一)NAT模型
应用场景:LVS配置负载均衡方式之一:nat 测试环境: 测试步骤: 1. 在主机lvs上安装ipvsadm lvs~]# yum install ipvsadm -y lvs~]# ipvsadm ...