0
点赞
收藏
分享

微信扫一扫

1040 有几个PAT

一ke大白菜 2022-01-27 阅读 56
c语言c++
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    char str[100010];
    cin>>str;
    int countp=0,countt=0;
    int length=strlen(str);
    int flag[length][2];
    int count=0;
    int p=0,t=length-1;
    while(true)
    {
      if(str[p]!='P') p++;
      else break;
    }
    while(true)
    {
      if(str[t]!='T') t--;
      else break;
    }
    for(int i=t;i>=p;i--)
    {
        if(str[i]=='T')
        {
            countt++;
        }
        flag[i][1]=countt;
    }
    for(int i=p;i<=t;i++)
    {
        if(str[i]=='P')
        {
            countp++;
        }
        flag[i][0]=countp;
    }
    for(int i=p;i<=t;i++)
    {
        if(str[i]=='A')
        {
            count+=flag[i][0]*flag[i][1];
            count%=1000000007;         
        }
    }
    cout<<count;
    return 0;
}
举报

相关推荐

0 条评论