/*
pta甲乙上的题感觉都很巧妙,这个题最大的问题在于读题,最核心的公式是(t-p-1)*(p)==(x.length()-t-1),中间(多余的)*前面=后面
这段代码不难理解,但用map容器统计字母的思路非常值得学习,非常巧妙
*/
# include<iostream>
# include<string>
# include<map>
using namespace std;
int main(void)
{
int n,t=0,p=0;
cin >> n;
string x;
while (n--)
{
map<char, int>m;
t = 0;
p = 0;
cin >> x;
for (int i = 0; i < x.size(); i++)
{
m[x[i]]++;
if (x[i] == 'T')
t = i;
if (x[i] == 'P')
p = i;
}
if (m['T'] == 1 && m['P'] == 1 && m['A'] !=0 && m.size() == 3 && t - p !=1&&(t-p-1)*(p)==(x.length()-t-1) )
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}
1003 pta乙级(我要通过)
最新推荐文章于 2024-09-09 12:31:15 发布