-
题目描述:
-
对给定的字符串(只包含'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”。
-
样例输入:
-
zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
-
样例输出:
-
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
九度论坛上的参考代码:
#include<stdio.h>
#include<string.h>
char s[1001];
int main()
{
int num1,num2,num3;
char *p;
while(scanf("%s",s)!=EOF) //若改成gets(s)就会wa,为什么?
{
num1 = num2 = num3 = 0;
p = s;
if( !strcmp("zoj",s) ) { printf("Accepted\n"); continue; }
while( (*p)=='o' ) { num1++; p++; }
if((*p) == 'z'){
p++;
while((*p) == 'o'){num2++; p++;}
if((*p) == 'j') {
p++;
while((*p) == 'o') {num3++; p++;}
if(!(*p) && num2>0 && num3==num1*num2) {printf("Accepted\n");continue;}
}
}
printf("Wrong Answer\n");
}
return 0;
}