PAT 乙級 1040. 有幾個PAT(25)

1040. 有幾個PAT(25)

時間限制
120 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
作者
CAO, Peng

字符串APPAPT中包含了兩個單詞“PAT”,其中第一個PAT是第2位(P),第4位(A),第6位(T);第二個PAT是第3位(P),第4位(A),第6位(T)。

現給定字符串,問一共可以形成多少個PAT?

輸入格式:

輸入只有一行,包含一個字符串,長度不超過105,只包含P、A、T三種字母。

輸出格式:

在一行中輸出給定字符串中包含多少個PAT。由於結果可能比較大,只輸出對1000000007取餘數的結果。

輸入樣例:
APPAPT
輸出樣例:
2



參考了:http://blog.csdn.net/ice_camel/article/details/44263451

//PAT-1-1040
#include <stdio.h>
#include <string.h>
int main() {
    char s[200000];
    scanf("%s",s);
    long long int count_T=0;
    long long int count_AT=0;
    long long int count_PAT=0;
    int len = strlen(s);

    for (int i=len-1; i>=0; i--) {
        if (s[i]=='T') {
            count_T++;
        }else if(s[i]=='A'){
            count_AT+=count_T;
        }else if(s[i]=='P'){
            count_PAT+=count_AT;
        }
    }
    printf("%lld",count_PAT%1000000007);
    return 0;
}



發佈了48 篇原創文章 · 獲贊 11 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章