70,012
社区成员




#include <stdio.h>
#include <string.h>
// 解题关键 (len_a)P(len_b)T(len_c)
// 例:AAPATAA, len_a=2,len_b=1,len_c=2
// 判断条件:len_c = len_a * len_b,并且len_b>=1。
//judge,符合要求,返回1,否则返回0
int judge(char str[]) {
int len_a, len_b, len_c;// 'A' 的个数
char* p, * t;
//字符串中有非'P'、'A'、'T'字符,不符合要求
for (char* s = str; *s != '\0'; s++) {
if (*s != 'P' && *s != 'A' && *s != 'T')
return 0;
}
// 找出'P','T' 在字符串中的位置
p = strchr(str, 'P');
t = strchr(str, 'T');
//未找到字符'P','T' 或者'T'在'P'之前,说明不符合要求
if (p == NULL || t == NULL || p > t) return 0;
//求a,b,c 长度
len_a = p - str;
len_b = t - p - 1;
len_c = strlen(t + 1);
//根据条件,进行判断
if (len_b >= 1 && len_c == len_a * len_b)
return 1;
else
return 0;
}
int main()
{
int n;
char str[10][101];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", str[i]);
if (judge(str[i]) == 1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}