HDU 3788 zoj问题

                 ZOJ问题



Problem Description
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。

是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
 

 

Input
输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于等于1000;
 

 

Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
 

 

Sample Input
zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
 

 

Sample Output
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Wrong Answer
Wrong Answer
 
就是前面的o的个数乘以中间o的个数等于后面o的个数,并保证o的个数不为0且"z","j"的个数只有一个.
 
代码:
 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     char s[1005];
 8     int i,j;
 9     int count1,count2,count3;
10     while(scanf("%s",s)!=EOF)
11     {
12         count3=count1=count2=0;
13         int len=strlen(s);
14         for(i=0;i<len;i++)
15         if(s[i]=='z')count1++;
16         else if(s[i]=='j')count2++;
17         else count3++;
18         if(count1!=1||count2!=1||count3==0)
19         {
20             printf("Wrong Answer\n");
21             continue;
22         }
23         for(i=0;i<len;i++)
24         if(s[i]=='z')break;
25         for(j=len-1;j>=0;j--)
26         if(s[j]=='j')break;
27         if(i*(j-i-1)==len-j-1)
28         printf("Accepted\n");
29         else
30         printf("Wrong Answer\n");
31     }
32     return 0;
33 }

 

 

posted on 2015-07-25 20:53    阅读(559)  评论(0编辑  收藏  举报

导航