#include <stdio.h>
#include <string.h>
int main()
{
char c[10][100];
int i,j,n;
int count_P,count_A,count_T,pos_P,pos_T;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
//scanf("%s",c[i]);
gets(c[i]);
}
for(i=0;i<n;i++){
count_P = 0;
count_A = 0;
count_T = 0;
pos_P = 0;
pos_T = 0;
for(j=0;j<strlen(c[i]);j++)
{
//printf("strlen=%d\n",strlen(c[i]));
//printf("%c",c[i][j]);
if(c[i][j]=='P')
{
count_P++;
pos_P = j;
}
if(c[i][j]=='A')
{
count_A++;
}
if(c[i][j]=='T')
{
count_T++;
pos_T = j;
}
}
if(count_P+count_A+count_T != strlen(c[i]) || pos_T-pos_P<=1 || count_P>1 || count_T>1 || pos_P*(pos_T-pos_P-1)!=strlen(c[i])-pos_T-1)
printf("NO\n");
else
printf("YES\n");
}
}
PAT 1003 我要通过!
最新推荐文章于 2025-07-01 22:29:08 发布
本文介绍了一个PAT考试中常见的字符串匹配问题及其解决方案。该程序通过扫描输入的字符串来判断其是否符合特定的“PAT”模式:即一个字符序列由一个‘P’开始,中间任意数量的字符(不含‘P’或‘T’),并以一个‘T’结束,且从‘P’到‘T’的距离必须等于序列中除去‘P’和‘T’以外的所有字符的数量加一。文章详细展示了如何使用C语言实现这一逻辑。
986

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



