问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include
using namespace std;
#include
#include
int startA(string a)
{
for (int i = 0; i < a.size(); i++)
{
if (a[i] == 'P')
{
return i;
}
}
}
int middleA(string a, int b)
{
int j = 0;
for (int i = (b + 1); i < a.size(); i++)
{
if (a[i] == 'T')
{
return j;
}
j++;
}
}
bool check(string a)
{
for (int i = 0; i < a.size(); i++)
{
if (a[i] != 'P' && a[i] != 'A' && a[i] != 'T')
{
return false;
}
}
return true;
}
int main()
{
int n;
cin >> n;
vector V;
for (int j = 1; j <= n; j++)
{
string temp;
cin >> temp;
V.push_back(temp);
}
for (vector<string>::iterator it = V.begin(); it != V.end(); it++)
{
int a = startA((*it));
/*cout << "前面A有"<<a << endl;*/
if (check((*it)))
{
int mid=middleA((*it), a);
/*cout <<"中间A有"<< mid << endl;*/
if (mid == 0)
{
cout << "NO" << endl;
continue;
}
if (a * mid == ((*it).size() - (a + mid + 2)))
{
cout<<"YES"<<endl;
}
else
{
cout << "NO" << endl;
}
}
else
{
cout << "NO" << endl;
}
}
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
给我显示测试点四不正确,测试的结果都是对的,我这边哪里有问题?