题目描述:
-
对给定的字符串(只包含’z',’o',’j'三种字符),判断他是否能AC。
是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个’o’ 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个’o'或者为空;
-
输入:
-
输入包含多组测试用例,每行有一个只包含’z',’o',’j'三种字符的字符串,字符串长度小于等于1000。
-
输出:
-
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
#include "stdio.h" #include "string.h" int checkstring(char *str); int main() { char ch[100]; while(scanf("%s",ch)!=EOF) { if(checkstring(ch)) printf("Accepted\n"); else printf("Wrong Answer\n"); } return 0; } int checkstring(char *str) { int temp=strlen(str); int i=0,j=temp-1; while(str[i++]=='o'&&i<temp) ;//获取z的位置 while(str[j--]=='o'&&j>=0); //获取j的位置 if(i<=(temp-1-j)&&str[i-1]=='z'&&str[j+1]=='j') //开头o的个数不大于和结尾o的个数 { for(int t=i;t<=j;t++) { if(str[t]!='o') return 0; } return 1; } return 0; }
测试:
输入:zoj 输出:Accepted
ozojo Accepted
oozoojoo Accepted