1040 有几个PAT (25分)/1093 Count PAT's (25分)

 

#include<cstdio>
#include<cstring>

const int maxn=100010;
const int MOD=1000000007;
char str[maxn];
int leftnump[maxn]={0};

int main()
{
   //gets(str);  只在纯C里才能通关PTA的点
   scanf("%s",str);//注意这里。
    int len=strlen(str);
    
    for(int i=0;i<len;i++)
    {
        if(i>0);
        {
            leftnump[i]=leftnump[i-1];
        }
        if(str[i]=='P'){
            leftnump[i]++;
        }
    }
    
    int ans=0,rightnumt=0;
    for(int i=len-1;i>=0;i--)
    {
        if(str[i]=='T'){
            rightnumt++;
        }
        else 
            if(str[i]=='A'){
                ans=(ans+leftnump[i]*rightnumt)%MOD;
            }
    }
    printf("%d",ans);
    return 0;
    
}

 

posted @ 2020-07-18 08:04  我来到,我看见  阅读(124)  评论(0)    收藏  举报