地址:http://acm.hdu.edu.cn/showproblem.php?pid=1039
题意:判断密码是否可行。满足三个条件:1.至少一个元音字母。2.连续三个字母不能同时为元音或辅音。3.连续两个字母不能相同,但是不包括"ee"和"oo"。
mark:无。
代码:
#include <stdio.h> #include <string.h> int yy(char a) { if(a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u') return 1; return 0; } int pd(char a[]) { int i,l; l = strlen(a); for(i = 0; a[i]; i++) if(yy(a[i])) break; if(!a[i]) return 0; for(i = 0; i < l-2; i++) { if(yy(a[i]) && yy(a[i+1]) && yy(a[i+2]) || !yy(a[i]) && !yy(a[i+1]) && !yy(a[i+2])) return 0; if(a[i] == a[i+1] && a[i] != 'e' && a[i] != 'o') return 0; } if(a[i] == a[i+1] && a[i] != 'e' && a[i] != 'o') return 0; return 1; } int main() { char a[30]; while(scanf("%s", a), strcmp(a, "end")) { printf("<%s> ", a); puts(pd(a) ? "is acceptable." : "is not acceptable."); } return 0; }