ZOJ-3311

来源:互联网 发布:逸晗网络视频编辑 编辑:程序博客网 时间:2024/05/23 13:01

好吧,表示规则读了N遍也没读懂,看了大神的解释才明白。。附上:

ZOJ串检验,逻辑等价变换,命题等价于:有且仅有一个 Z,有且仅有一个 J,J 在 Z 后面且不能紧跟在后面,另外,中间夹杂的三段 O 分别有 a, b, c 的长度,必须满足 a + b = c。

#include<stdio.h>#include<string.h>int main(){    char s[100];    while (gets(s) != NULL)    {        int cz = 0, cj = 0, iz, ij, i;        for (i = 0; s[i] != '\0'; i++)        {            if (s[i] == 'Z')            {                cz++;                iz = i;            }            if (s[i] == 'J')            {                cj++;                ij = i;            }        }        int ac = cz == 1 && cj == 1 && ij - iz > 1                && ij - 1 == strlen(s) - ij - 1;        printf(ac ? "Accepted\n" : "Wrong Answer\n");    }    return 0;}


0 0
原创粉丝点击