Note
-
以A为切入口,PAT个数等于A左侧P的个数*A右侧T的个数。
-
注意:取模mod的时候,不可以写成result+=(p*t)%100007;
正确写法:result = (result + countp * countt) % 1000000007;
Code:
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
int p=0,a=0,t=0,cnt=0;
cin>>str;
for(int i=0;i<str.length();i++){
if(str[i]=='T') t++;
}
for(int i=0;i<str.length();i++){
if(str[i]=='A') cnt=(cnt+(p*t))%1000000007;
if(str[i]=='P') p++;
if(str[i]=='T') t--;
}
cout<<cnt;
return 0;
}