解题代码
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main() {
int n, p = 0, t = 0;
cin >> n;
for (int i = 0; i < n; i++) {
string s;
cin >> s;
map<char, int> m;
for (int j = 0; j < s.size(); j++) {
m[s[j]]++;
if (s[j] == 'P') p = j;
if (s[j] == 'T') t = j;
}
if (m.size()==3 && m['P']==1 && m['T']==1 && m['A'] && t - p - 1 != 0 && p * (t - p - 1) == s.length() - 1 - t)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
测试结果
问题整理
1.基础的题目。
2.注意判断正确的条件。