输入
首先输入一个数字T,表示有T组数据
每组数据输入一行字符串,仅包含大小写字母(不超过1000字符)
输出
如果这些字符可以组成一个对称的字符串输出Yes
否则输出No
样例
2
AACC
Aabb
Yes
No
题目解析:
统计所有字母的个数如果是如果只有一个字母的总个数是奇数或者都是偶数,那么就是Yes,否则就是No
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 1005
#define INF 100000
int main()
{
int T;
freopen("1.in", "r", stdin);
freopen("1.out", "w", stdout);
scanf("%d", &T);
while(T--)
{
int i, a[30]= {0}, b[30]= {0}, k=0;
char s[maxn];
scanf("%s", s);
for(i=0; s[i]; i++)
{
if(s[i]>='a' && s[i]<='z')
a[s[i]-'a']++;
else
b[s[i]-'A']++;
}
for(i=0; i<26; i++)
{
if(a[i] % 2)k++;
if(b[i] % 2)k++;
}
if(k>1)
printf("No ");
else
printf("Yes ");
}
return 0;
#include<string.h>
#include<stdlib.h>
#define maxn 1005
#define INF 100000
int main()
{
int T;
freopen("1.in", "r", stdin);
freopen("1.out", "w", stdout);
scanf("%d", &T);
while(T--)
{
int i, a[30]= {0}, b[30]= {0}, k=0;
char s[maxn];
scanf("%s", s);
for(i=0; s[i]; i++)
{
if(s[i]>='a' && s[i]<='z')
a[s[i]-'a']++;
else
b[s[i]-'A']++;
}
for(i=0; i<26; i++)
{
if(a[i] % 2)k++;
if(b[i] % 2)k++;
}
if(k>1)
printf("No ");
else
printf("Yes ");
}
return 0;
}