PAT A1093は、PATの[シミュレーション]をカウント

タイトル説明

リンク
文字列PATのどのくらいを計算します

分析

期限切れに暴力
どのように多くのPATの体質を知るために、各Aの文字列を横断した後PATの数は、Tの数Pの前で、その背後にある数の積は、構成することが可能である
文字を横断する必要性をどのように多くの文字列の数の数T

コード

#include<bits/stdc++.h>
using namespace std;

int main(){
    const int maxn = 1e5+10;
    char s[maxn];
    int cnt = 0;
    scanf("%s", s);
    int len = strlen(s);
    int p,a,t;
    p = a = t = 0;
    for(int i=0;i<len;i++){
        if(s[i] == 'T') t++;
    }
    for(int i=0;i<len;i++){
        if(s[i] == 'P') p++;
        if(s[i] == 'T') t--; //在遇到A前遇到的t都不算
        if(s[i] == 'A') cnt =  (cnt + (p*t)%1000000007)%1000000007;
    }
    printf("%d\n",cnt);

}

おすすめ

転載: www.cnblogs.com/doragd/p/11459392.html