美文网首页
ZCMU 1600: 卡斯丁狗要吃糖葫芦

ZCMU 1600: 卡斯丁狗要吃糖葫芦

作者: littlefox_ca93 | 来源:发表于2018-07-24 14:34 被阅读0次

    Time Limit: 1 Sec Memory Limit: 128 MB
    Submit: 194 Solved: 72

    Description
    卡斯丁狗喜欢吃糖葫芦(喜欢前面再加两个字“并不”),但是,但是,他很挑剔,他只吃这样的,就是这样的,就是,就是不管你从哪一头吃,看起来都是一样的,卡斯丁狗给你了一个很长的串,他记得这个很长的串有N个长度一样且满足上述的条件的串组成,你告诉他,他有没有记错。

    Input

    一个字符串,和一个数N(N<=1000)

    Output

    YES或者NO

    Sample Input

    abbatxxt 2

    abbatxtc 2

    Sample Output

    YES

    NO

    题解:

    问了同学之后会了,读题不仔细--"很长的串有N个长度一样且满足上述的条件的串组成"。首先如果串长度%n!=0,输出NO,其次判断字串是不是回文。

    代码:

    #include<stdio.h>
    #include<string.h>
    char s[1000];
    bool palindrome(int p,int b)
    {
        while(p<b)
        {
            if(s[p]!=s[b])
                return false;
            p++;
            b--;
        }
        return true;
    }
    int main()
    {
    
        int n;
        while(~scanf("%s%d",s,&n))
        {
            int l=strlen(s);
            int x=l/n;
            if(l%n!=0)
            {
                printf("NO\n");
                continue;
            }
            int flag=1;
            for(int i=0;i<n;i++)
            {
                int p=i*x;     //字串开头
                int b=i*x+x-1;   //字串结尾
                if(palindrome(p,b))
                    flag=1;
                else
                    flag=0;
            }
            if(flag)
                printf("YES\n");
            else
                printf("NO\n");
        }
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:ZCMU 1600: 卡斯丁狗要吃糖葫芦

          本文链接:https://www.haomeiwen.com/subject/gcoemftx.html