PAT乙级1003(c语言)
因为这个代码很多思路来自另一个大佬,故不再过多注释,仅作为做题记录。
#include <stdio.h>
#include <string.h>
int main()
{
int n,c1,c2,c3,t,p,np,nt;
scanf("%d",&n);
getchar();
if(n>10 && n<0)
{
printf("数据不合法");
}
else
{
char a[101];
for(int i=0;i<n;i++)
{
scanf("%s",a);
t=0;
p=0;
np=0;
nt=0;
int qt=0;
for(int j=0;j<strlen(a);j++)
{
if(a[j]=='P')
{
p=j;
np++;
}
else if(a[j]=='T')
{
t=j;
nt++;
}
else if(a[j]!='A' && a[j]!=" ")
{
qt++;
}
}
c1=p;
c2=t-p-1;
c3=strlen(a)-t-1;
if(nt!=1 || c1*c2!=c3 || np!=1 || qt!=0 || t-p<=1)
printf("NO\n");
else
printf("YES\n");
}
}
return 0;
}
2063

被折叠的 条评论
为什么被折叠?



