POJ 1575 Easier Done Than Said? (简单模拟)

来源:互联网 发布:最小公倍数算法流程图 编辑:程序博客网 时间:2024/05/02 04:22

题目链接:POJ 1575 Easier Done Than Said?

题意:满足下面3个条件就是acceptable.反之 not。

1.至少一个元音。

2.没有三个连续的元音或是辅音。

3.没有两个连续相同的字母,除ee,oo.


感概啊,当年第一次做比赛,被卡死,现在遇到1A了。代码也没以前那么长。


AC代码:

#include<stdio.h>#include<string.h>int main(){char str[100];int len,i;int vis[300];memset(vis,false,sizeof vis);vis['a']=true;vis['e']=true;vis['i']=true;vis['o']=true;vis['u']=true;while(scanf("%s",str)!=EOF){if(strcmp(str,"end")==0)break;printf("<%s>",str);len=strlen(str);int mark=1,count=0;for(i=0;i<len;i++){if(!vis[str[i]])//不是元音count++;}if(count==len)mark=0;else//mark=1{for(i=0;i<len-2;i++){if((vis[str[i]]==vis[str[i+1]] && vis[str[i+1]]==vis[str[i+2]]))break;}if(i<len-2)mark=0;else{for(i=0;i<len-1;i++){if(str[i]==str[i+1]){if(str[i]!='e' && str[i]!='o')break;}}if(i<len-1)mark=0;}}if(mark)puts(" is acceptable.");elseputs(" is not acceptable.");}return 0;}/*eeooeetoo*/



1 0
原创粉丝点击