#include<stdio.h>
#include<string.h>
int main(){
int len,i,t=0,at=0,pat=0;
char str[100000];
gets(str);
len = strlen(str);
for(i=len-1;i>=0;i--){
if(str[i]=='T'){
t++;
}
if(str[i]=='A'){
at=(at+t)%1000000007;
}
if(str[i]=='P'){
pat=(pat+at)%1000000007;
}
}
printf("%d",pat);
return 0;
}
总结:
重点是要从后往前找。注意at和pat需要%1000000007 不然两个测试点错误。