#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
char s[100005];
class LR{
public:
int cnt_p;
int cnt_t;
};
vector<class LR> list;
int main(){
cin.getline(s, 100005);
int size = strlen(s);
int p = 0, t = 0;
for (int i = 0; i < size; i++){
if (s[i] == 'P'){
p++;
}
else if (s[i] == 'A'){
LR tmp;
tmp.cnt_p = p;
tmp.cnt_t = 0;
list.push_back(tmp);
}
}
int index = list.size() - 1;
for (int i = size - 1; i >= 0; i--){
if (s[i] == 'T')
t++;
else if (s[i] == 'A')
list[index--].cnt_t = t;
}
size = list.size();
int sum = 0;
for (int i = 0; i < size; i++){
sum += list[i].cnt_p*list[i].cnt_t;
sum %= 1000000007;
}
cout << sum;
}
PAT 1093. Count PAT's (25)
最新推荐文章于 2021-07-11 09:27:02 发布