1093.Count PAT's

1093.Count PAT's

求解思路

逆序遍历输入字符串,记录每个A后面T的个数,每个P后面AT的个数

C++源码

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string pat;
    int sumA = 0, sumT = 0, sumAT = 0;
    long long sumPAT = 0;
    cin>>pat;
    for(int i = pat.length() - 1; i >= 0; i--)
    {
        if(pat[i] == 'T')
        {
            sumT++;
        }
        else if(pat[i] == 'A')
        {
            sumA++;
            sumAT += sumT;
        }
        else if(pat[i] == 'P')
        {
            sumPAT += sumAT;
        }
    }
    cout<<sumPAT%1000000007<<endl;
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容