HDU - 3788 ZOJ问题

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
#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

char s[1005];

int main()
{
    int len;
    int i;
    int a, b, c;
    while (gets(s)){
        len = strlen(s);
        a = b = c = 0;
        i = 0;
        while (i < len){
            if (s[i] == 'z')
                a = i;
            else if (s[i] == 'j'){
                b = i;
                break;
            }
            i++;
        }
        // 原式的 a * b == c 且 b > 0
        if (a*(b-a-1)==(len-b-1) && (b-a-1)>0)
            printf("Accepted\n");
        else
            printf("Wrong Answer\n");
    }
    return 0;
}
发布了359 篇原创文章 · 获赞 371 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/Aibiabcheng/article/details/105353935