首页 > 代码库 > 充满恶意的单词
充满恶意的单词
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 else41 {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 }
充满恶意的单词
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。