1003 我要通过!
代码如下
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int n;
cin >> n;
while (n--)
{
string s;
cin >> s;
bool flag = true;
int a = 0, b = 0;
for (int i = 0; s[i]; i++)
{
if (s[i] == 'P' || s[i] == 'A' || s[i] == 'T')//APATTAA
{
if (s[i] == 'P')
{
a++;
}
if (s[i] == 'T' && a != 0)
{
b++;
}
if (s[i] == 'T' && a == 0)
{
//cout << "NO" << endl;
break;
}
}
else
{
//cout << "NO" << endl;
break;
}
}
if (a == 1 && b == 1)
{
int a = 0, b = 0, c = 0, d = 0, e = 0;
for (int i = 0; s[i]; i++)
{
if (s[i] == 'P')a++;
if (s[i] == 'T')b++;
if (s[i] == 'A' && a == 0 && b == 0)c++;
if (s[i] == 'A' && a == 1 && b == 0)d++;
if (s[i] == 'A' && a == 1 && b == 1)e++;
}
if ((c == 0 && e == 0 && d != 0) || (c * d == e && d != 0))
{
cout << "YES" ;
flag = false;
}
}
if (flag)cout << "NO";
if (n)cout << endl;
}
}
做的好头疼,题目看懂难,最后看了别人的注解才懂
写的时候还出来好多bug