我要通过
题目的难点也就是条件三,如果没有理解到位,总是会有条件过不了的。。。
#include <stdio.h>
int judge(char *a)
{
int flag = 0, other = 0;
int p = 0, t = 0, i = 0;
int q = 0, z = 0, h = 0;
while(a[i])
{
if(a[i] == 'A')
if(flag == 0)
q++;
else if(flag == 1)
z++;
else
h++;
else if(a[i] == 'P')
p++, flag = 1;
else if(a[i] == 'T')
t++, flag = 2;
else
other++;
if(t == 1 && p == 0)
return 0;
i++;
}
if(!other && z && q*z == h && p == 1 && t == 1)
return 1;
return 0;
}
int main(void)
{
int n = 0;
char a[101] = {0};
scanf("%d", &n);
getchar();
while(n--)
{
gets(a);
if(judge(a))
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
总结:注意题目字眼。如果。。。