#include
using namespace std;
#include
//从后往前遍历,遇到T 记录T的个数,若遇到A 则记录AT的个数,遇到P 则记录PAT的个数
int main()
{
string s;
cin >> s;
long sum;
int cur_sum; //记录某一时刻PAT个数
int num_T; //记录T的个数
sum = cur_sum = num_T = 0;
for (int i = s.size() - 1; i >= 0; i–) {
if (s.at(i) == ‘T’) {
num_T++;
}
if (s.at(i) == ‘A’) {
cur_sum = cur_sum + num_T;//当前位置AT个数为当前T的个数和上一个位置的AT个数之和
}
if (s.at(i) == ‘P’) {
sum = sum + cur_sum;//当前位置PAT个数为当前AT个数和上一个位置PAT个数之和
}
}
cout << sum% 1000000007;
return 0;
}
相关文章: