15,440
社区成员
发帖
与我相关
我的任务
分享
#include<stdlib.h>
#include<stdio.h>
int main()
{
int x(int a, int b, int c);
int y(char w[]);
int i,num,b1=0, b2=0, b3=0,c[10];
int j;
char b[100];
scanf_s("%d", &num);
for (i = 0;i < num;i++)
{
scanf_s("%s",b);
if (y(b) == 0) { c[i] = 0;continue; }
for (j = 0;b[j] != 'P';j++)if(b[j]=='A')b1++;
for (j = b1 + 1;b[j] != 'T';j++)if (b[j] == 'A')b2++;
for (j = b2 + 1;b2 != '\0';j++)if (b[j] == 'A')b3++;
c[i] = x(b1, b2, b3);
}
for (i = 0;i < num;i++)
{
if (c[i] == 1)printf("Yes");
else printf("No");
}
system("pause");
return 0;
}
int x(int a, int b, int c)
{
if (b ==0) return 0;
if (b - 1 == 1 && a == c) return 0;
if ( x (a, b - 1, c - a) == 1) return 1;
}
int y(char w[])
{
int i;
for (i = 0;w[i] != '\0';i++)
{
if (w[i] != 'P'&&w[i] != 'A'&&w[i] != 'T') return 0;
}
return 1;
}
这一段代码找不出问题。。就是pat上的1003题