下面是我的代码。想不到什么测试用例了。
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
int num = 0,i = 0,j = 0;
int result[10]={0};
int flag = 1;
int length=0;
scanf("%d",&num);
for (i = 0; i < num; i++){
char s[101];
scanf("%s",s);
int cnt_P=0,cnt_T=0; //P、T 的个数
int pos_P=-1,pos_T=-1; //P、T的位置
length = (int)strlen(s);
for(j=0;j<length;j++){
if(s[j]=='P'){
pos_P = j;
cnt_P++;
}
else if(s[j]=='T'){
pos_T=j;
cnt_T++;
}
else if(s[j]!='A'){
flag=0;
break;
}
if(flag && cnt_P == 1 && cnt_T == 1 ){
int l_A = 0, c_A = 0, r_A = 0; //左中右 A 的个数
l_A = pos_P;
c_A = pos_T - pos_P - 1;
r_A = length - pos_T - 1;
if (c_A > 0 && l_A * c_A == r_A) {
result[i]=1;
}
}
}
}
for (i=0;i<num;i++) {
if(result[i]==1){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}