PAT 乙级 1003 我要通过,卡在第 0 测试点了。请帮看一下

PAT 乙级 1003 我要通过,卡在第 0 测试点了。请帮看一下

问题描述:

下面是我的代码。想不到什么测试用例了。
#include<stdio.h>
int main(){
int n,cnt1,cnt2,cnt3,p,t,b;
char c;

scanf("%d\n",&n);
for (int i=1;i<=n;i++) {
    p=b=t=1;
    cnt1=cnt2=cnt3=0;
    while (scanf("%c",&c)&&c!='\n') {
        if (c!='P'&&c!='A'&&c!='T') {
            printf("NO\n");
            b=0; 
            break;
        }
        if (c=='P') {
            p--;
        } else if (c=='T') {
            t--;
        }
        if (c!='P'&&p==1) {
            cnt1++;
        }
        if (c!='T'&&t==1) {
            cnt2++;
        }
        cnt3++;
   }
    if (b==1) {
        if ((cnt1*(cnt2-cnt1-1)==(cnt3-cnt2-1))&&cnt2-cnt1-1>0&&p==0&&t==0&&cnt2>cnt1) {
            printf("YES\n");
    } else {
            printf("NO\n");
        }
    }
}

}