zoukankan      html  css  js  c++  java
  • HDU 1039(字符串判断 **)

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

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

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

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

    代码如下:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int len;
     6     bool f;
     7     std::ios::sync_with_stdio(false);
     8     string s;
     9     while(cin>>s)
    10     {
    11         if(s=="end") break;
    12         len = s.length();
    13         f = true;
    14 //        if(len==1)
    15 //        {
    16 //            if(s[0]!='a'&&s[0]!='e'&&s[0]!='i'&&s[0]!='o'&&s[0]!='u')
    17 //            {
    18 //                cout << "<" << s << "> is not acceptable.
    ";
    19 //                continue;
    20 //            }
    21 //            else
    22 //            {
    23 //                cout << "<" << s << "> is acceptable.
    ";
    24 //                continue;
    25 //            }
    26 //        }
    27 //        else if(len==2)
    28 //        {
    29 //            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'))
    30 //            {
    31 //                cout << "<" << s << "> is not acceptable.
    ";
    32 //                continue;
    33 //            }
    34 //            else
    35 //            {
    36 //                cout << "<" << s << "> is acceptable.
    ";
    37 //                continue;
    38 //            }
    39 //        }
    40 //        else
    41         {
    42             for(int i = 0; i < len-2; ++i)
    43             {
    44                 if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')
    45                 {
    46                     if(s[i+1]=='a'||s[i+1]=='e'||s[i+1]=='i'||s[i+1]=='o'||s[i+1]=='u')
    47                         if(s[i+2]=='a'||s[i+2]=='e'||s[i+2]=='i'||s[i+2]=='o'||s[i+2]=='u')
    48                         {
    49                             f = false;
    50                             break;
    51                         }
    52                 }
    53                 else
    54                 {
    55                     if(s[i+1]!='a'&&s[i+1]!='e'&&s[i+1]!='i'&&s[i+1]!='o'&&s[i+1]!='u')
    56                         if(s[i+2]!='a'&&s[i+2]!='e'&&s[i+2]!='i'&&s[i+2]!='o'&&s[i+2]!='u')
    57                         {
    58                             f = false;
    59                             break;
    60                         }
    61                 }
    62                 if(s[i]==s[i+1])
    63                     if(s[i]!='e'&&s[i]!='o')
    64                     {
    65                         f = false;
    66                         break;
    67                     }
    68             }
    69             if(s[len-2] == s[len-1])
    70                 if(s[len-1]!='e'&&s[len-1]!='o') f = false;
    71             if(s[len-3]=='a'||s[len-3]=='e'||s[len-3]=='i'||s[len-3]=='o'||s[len-3]=='u')
    72             {
    73                 if(s[len-2]=='a'||s[len-2]=='e'||s[len-2]=='i'||s[len-2]=='o'||s[len-2]=='u')
    74                     if(s[len-1]=='a'||s[len-1]=='e'||s[len-1]=='i'||s[len-1]=='o'||s[len-1]=='u')
    75                         f = false;
    76             }
    77             else
    78             {
    79                 if(s[len-2]!='a'&&s[len-2]!='e'&&s[len-2]!='i'&&s[len-2]!='o'&&s[len-2]!='u')
    80                     if(s[len-1]!='a'&&s[len-1]!='e'&&s[len-1]!='i'&&s[len-1]!='o'&&s[len-1]!='u')
    81                         f = false;
    82             }
    83         }
    84         if(!f) cout << "<" << s << "> is not acceptable.
    ";
    85         else cout << "<" << s << "> is acceptable.
    ";
    86     }
    87     return 0;
    88 }
    View Code
  • 相关阅读:
    python 批量文件重命名
    python 各种转义字符
    python 生成器
    python 迭代器 itertools模块中常用工具函数
    python 内建迭代函数 iter()
    python 迭代器
    python 常用标准库简介
    python 包及其文件的调用
    python 导入模块或函数
    python 手工抛出异常
  • 原文地址:https://www.cnblogs.com/Taskr212/p/9566335.html
Copyright © 2011-2022 走看看