首页 > 代码库 > NYOJ 752 又见回文串

NYOJ 752 又见回文串

又见回文串

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

    回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。今天,PIAOYI又遇见一个关于字符串的题:两人玩一个游戏,给一个字符串,两人轮流删除字符串中的任意一个字符,当某人删除字符后,若该字符串可以经过重新整理后是一个回文串,则他获胜。当两人足够聪明均不出现操作失误的情况,先手是否可以获胜。

输入
多组测试数据,输入一个字符串(所有字符串长度小于10000大于1,且都是小写字母)
输出
若先手获胜输出 Yes , 否则输出 No。每组输出结果占一行。
样例输入
aabb
abc
样例输出
Yes
No
AC码:
#include<stdio.h>
char str[10005];
int main()
{
	int i,count[26],num;
	while(~scanf("%s",str))
	{
		for(i=0;i<26;i++)
			count[i]=0;
		num=0;
		for(i=0;str[i]!='\0';i++)
		{
			count[str[i]-'a']++;
		}
		for(i=0;i<26;i++)
		{
			if(count[i]%2==1)
				num++;
		}
		if(num<=2)
			printf("Yes\n");
		else
		{
			printf("%s\n",num%2==1?"No":"Yes");
		}
		
	}
	return 0;
}