> 文章列表 > 1040 有几个PAT

1040 有几个PAT

1040 有几个PAT


1040 有几个PAT


字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT

输入格式:
输入只有一行,包含一个字符串,长度不超过10的5次方,只包含 PAT 三种字母。

输出格式:
在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。

输入样例:

APPAPT

输出样例:

2
代码长度限制									    							16 KB
时间限制																		200 ms
内存限制																		64 MB
/*1040 有几个PAThttps://pintia.cn/problem-sets/994805260223102976/exam/problems/994805282389999616
*/#include <iostream>int main()
{std::string str;    std::cin>>str;//记录A前面的Pde个数,记录PA数,记录PAT数int countP=0,countA=0,countT=0;for(int i=0;i<str.length();i++){if(str[i]=='P')countP++;else if(str[i]=='A')countA+=countP;else if(str[i]=='T')countT+=countA;}std::cout<<countT%1000000007;
}