充满恶意的单词

Description

Ryan经常吐槽Rnc的发音,但是有一天Rnc的嘲讽模式全开,打算让Ryan涨涨姿势。 Rnc为Ryan准备了许多许多的单词,这些单词可以很长很长(hippopotomonstrosesquippedaliophobia [长单词恐惧症]),还可以大小写混杂(MaLIcE)。 Ryan认为有些单词是正常的,而另外一些单词则充满了Rnc的恶意。 Ryan认为如果一个单词包含了连续的两个或以上的元音(a,e,i,o,u)且这些元音不全相同,那么这个单词就充满了恶意。(比如goal和beauty等等) Ryan还认为如果一个单词包含了连续三个或以上的辅音(除了元音) ,这个单词也充满了恶意。(比如street和first等等) 看到这里聪明的你一定知道Ryan来找你帮什么忙了,是的,就是判断Rnc给的单词是否充满了恶意,是则输出YES,否则输出NO。 PS:在本题中,y在任何情况下都认为是辅音。

Input

第一行是数据组数T (T≤500)。 对于每组数据,有一行,只包含大小写混合的单词,长度不超过50。

Output

对于第k组数据,输出一行"Case #k: "然后输出你认为这个单词是否是充满了Rnc的恶意,是则输出YES,否则输出NO.

Sample Input

2 Need TRicKY

Sample Output

Case #1: NO Case #2: YES

Source

第八届北京交通大学ACM程序设计竞赛

 1 #include <iostream>
 2 #include <string.h>
 3 using namespace std;
 4 char temp[]="aeiouAEIOU";
 5 bool PanDuanIsYuanyin(char s)
 6 {
 7     bool isYuanYIN =false ;
 8     for(int j=0;j<strlen(temp);j++)
 9     {
10         if(s==temp[j])
11         {
12             isYuanYIN= true;
13             break;
14         }
15     }
16     return isYuanYIN;
17 }
18 int main()
19 {
20     int count;
21     cin>>count;
22     int sum=count;
23     while(count--)
24     {
25         char str[200];
26         cin>>str;
27         int num=1;
28         char LastNum=str[0];
29         bool biaoji=false;
30         for(int i=1;i<strlen(str);i++)
31         {
32             if(PanDuanIsYuanyin(str[i]))
33             {
34                 if(PanDuanIsYuanyin(LastNum))
35                 {
36                     if(toupper(str[i])!=toupper(LastNum))    
37                     {
38                         num++;
39                     }
40                     else
41                     {
42                         num=1;
43                     }
44                     if(num>=2)
45                     {
46                         biaoji=true;
47                         break;
48                     }
49                 }
50                 else{
51                     num=1;
52                 }
53             }
54             else 
55             {
56                 if(PanDuanIsYuanyin(LastNum))
57                 {
58                     num=1;
59                 }
60                 else{
61                     num++;
62                     if(num>=3)
63                     {
64                         biaoji=true;
65                         break;
66                     }
67                 }
68             }
69             LastNum=str[i];
70         }
71         if(biaoji){
72             cout<<"Case #"<<sum-count<<": YES"<<endl;
73         }
74         else{
75             cout<<"Case #"<<sum-count<<": NO"<<endl;
76         }
77     }
78     return 0;
79 }

 

你可能感兴趣的:(单词)