1. 程式人生 > >轉自 牛客 1040. 有幾個PAT(25)

轉自 牛客 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
https://www.nowcoder.com/questionTerminal/5e7d025e91ab468f909cb93d431b89c3


#include<iostream>

#include<string>
using namespace std;
int main()
{
char c; int p=0, pa=0, pat=0;
while(scanf("%c", &c) && c!=' ' && c!='\n') {
if(c == 'P') {
p++;
} else if(c == 'A') {
pa += p;
pa = pa%1000000007;
} else {
pat += pa;
pat = pat%1000000007;
}
}
printf("%d\n", pat);
return 0;
}