思路:
1.真正理解题目,由判定正确的条件中找到数学规律(a*(P与T中间的A数)=(T后的A数))
2.设置两层循环判断每次输入的字符串
3.如果已经知道列表中只有'P','A','T'三种数,则可以通过'P'与'T'的坐标,0坐标,数组长度判断三边的'A'数,从而进行分析
难点:找到数学规律
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,t,n,m,x1,x2;
char wxx[101];
scanf("%d",&t);
while(t){
scanf("%s",wxx);
for(i=0,n=0,m=0;wxx[i]!='\0';i++){
if(wxx[i]=='P'){
n++;
x1=i;
}
else if(wxx[i]=='T'){
m++;
x2=i;
}
else if(wxx[i]!='A'){
n=0;
break;
}
}
if(n==1&&m==1&&x2-x1>1&&x1*(x2-x1-1)==strlen(wxx)-x2-1)
printf("YES\n");
else
printf("NO\n");
t--;
}
return 0;
}