我的个人网站 Cheese的个人主页http://www.cheese.ren/
文章来源 PAT 乙级 1003 我要通过!-Cheese的个人博客http://blog.cheese.ren/23
欢迎交换友链 :-)
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
while (n--) {
string str;
cin >> str;
bool is_ok=true, p_flag=false, t_flag=false;
int p_pos=-1, t_pos=-1;
for (int i=0; i<str.length(); i++) {
if (str[i] == 'P' || str[i] == 'A' || str[i] == 'T') {
if (str[i] == 'P') {
if (p_flag) {
is_ok = false;
break;
}
p_pos = i;
p_flag = true;
}
else if (str[i] == 'T') {
if (t_flag) {
is_ok = false;
break;
}
t_pos = i;
t_flag = true;
}
}
// the char is not 'P' or 'A' or 'T'
else {
is_ok = false;
break;
}
}
if (is_ok) {
int a, b, c;
a = p_pos;
b = t_pos - p_pos - 1;
c = str.length() - t_pos - 1;
if (a == 0 && c == 0 && b == 0) {
is_ok = false;
}
else if (a * b != c)
is_ok = false;
}
printf("%s\n", is_ok ? "YES":"NO");
}
return 0;
}