PAT (Basic Level) Practice (中文)1040 有几个PAT (25 分)

原题

1040 有几个PAT (25 分)

代码

#include <iostream>
using namespace std;
int main(){
    string s;
    cin>>s;
    int p=0,t=0,sum=0;
    for(int i=0;i<s.size();i++){
        if(s[i]=='T') ++t;
    }
    for(int i=0;i<s.size();i++){
        if(s[i]=='P') ++p;
        else if(s[i]=='T') --t;
        else{
            sum+=p*t;
            sum%=1000000007;
        }
    }
    cout<<sum<<endl;
}

思路参考柳神

上一篇:PTA 乙级 1040 有几个PAT (25分) C/C++


下一篇:PAT乙级1040题解