您的位置:首页 > 其它

PAT-B1003. 我要通过!(20)(数学)

2016-03-05 23:07 113 查看
注意分析P T之间A的个数关系。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;

#define MAX 100+10
char str[MAX];

int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int N;
scanf("%d", &N);
getchar();
while (N--)
{
gets(str);
int num_p = 0, num_a = 0, num_t = 0;
int loc_p, loc_t, len = strlen(str), f = 0;
for (int i = 0; i < len; i++)
{
if (str[i] == 'P')
{
num_p++;
loc_p = i;
}
else if (str[i] == 'A')
num_a++;
else if (str[i] == 'T')
{
num_t++;
loc_t = i;
}
else
f = 1;
}

if (1 == f || num_p != 1 || !num_a || num_t != 1)
printf("NO\n");
else if (loc_p >= loc_t)
printf("NO\n");
else
{
int x = loc_p, y = loc_t-loc_p-1, z = len-1-loc_t;
if (x == z-x*(y-1))
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: