#include<iostream>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
#include<bits/stdc++.h>

using namespace std;

int main(void){
    string s0, s1, s2, s6;
    long long sum=0;
    int count=0;
    vector<long long> vec0, vec1, vec2, vec6;
    cin>>s0;
    if(s0[0]=='P')
        vec1.push_back(1);
    else
        vec1.push_back(0);
    for(int i=1; i<s0.size(); i++){
        if(s0[i]=='P')
            vec1.push_back(vec1[i-1]+1);
        else
            vec1.push_back(vec1[i-1]);
    }
    if(s0[s0.size()-1]=='T')
        vec2.push_back(1);
    else
        vec2.push_back(0);
    
    for(int i=(s0.size()-2); i>=0; i--){
        if(s0[i]=='T')
            vec2.push_back(vec2[count++]+1);
        else
            vec2.push_back(vec2[count++]);
    }
    reverse(vec2.begin(), vec2.end());

    for(int i=0; i<s0.size(); i++){
        if(s0[i]=='A')
            sum += (long long)vec1[i]*vec2[i];
    }
    sum = sum%1000000007;
    cout<<sum;
    return 0;
}

GitHub - ZouJiu1/PAT: 浙江大学PAT题目解答内容icon-default.png?t=M4ADhttps://github.com/ZouJiu1/PAT

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐