#include<iostream>
#include<string.h>
using namespace std;
//数组都放在外面
int rightnum[100010]={0};//编译器自动补0
char str[100010];
int main() {
int leftnumt=0;
// memset(rightnum,0,sizeof(rightnum));
scanf("%s",str);
int len=strlen(str);
int sum=0;
int i;
for(i=0;i<len;i++){
// if(i>=len)break;
if(i>0) rightnum[i]=rightnum[i-1];
if(str[i]=='P')rightnum[i]++;
}
for(i=len-1;i>=0;i--){
if(str[i]=='T'){
leftnumt=leftnumt+1;
}
// else leftnumt=leftnumt;
else if(str[i]=='A'){
sum=(sum+(rightnum[i]*leftnumt))%1000000007;
//下面的写法是错误的
//sum+=(rightnum[i]*leftnumt)%1000000007;
}
}
// sum%=1000000007;
printf("%d\n",sum);
return 0;
}
PATB 1040
最新推荐文章于 2022-02-15 21:05:43 发布