您的位置:首页 > 其它

sdut acm 又见回文

2016-12-09 16:30 295 查看


Problem Description

    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。现在呢,就是让你判断输入的字符串是否是回文串。


Input

    有多组输入,每行输入一串字符,保证字符串长度不会大于 100000,字符串由大小写英文字母和空格组成,以字符串“2013”作为结束标志。


Output

    每行输出一个字符串,如果输入是回文串,输出“YES”,否则输出“NO”(注意:判断的时候空格是不作判断的,详见样例)。


Example Input

aaaa
ggg g
lozxvxoMJBCHsTXooXTsHCBJMoxvxzol
i am a good acmer
2013



Example Output

YES
YES
YES
NO

code:
#include<stdio.h>
#include<string.h>
int main()
{
    int i, n, k = 1, p;
    char a[200000], b[200000], c[200000];
    while(gets(a)!=NULL)
    {
        k = 1;
        int t = 0, flag = 1;
        k = strcmp(a,"2013");
        if(k == 0) return 0;
        else
        {
            n = strlen(a);
            for(i = 0; i<n; i++)
            {
                if(a[i]!=' ')
                {
                    b[t] = a[i];
                    t++;
                }
            }
            p = t-1;
            for(i = 0;i<t;i++)
            {
                c[p] = b[i];
                p --;
            }
            flag = strcmp(b,c);
            if(flag==0) printf("YES\n");
            else printf("NO\n");
        }
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: