PAT 1040 有幾個PAT
阿新 • • 發佈:2018-09-24
result har ret blank return http pri lan main
https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616
字符串 APPAPT
中包含了兩個單詞 PAT
,其中第一個 PAT
是第 2 位(P
),第 4 位(A
),第 6 位(T
);第二個 PAT
是第 3 位(P
),第 4 位(A
),第 6 位(T
)。
現給定字符串,問一共可以形成多少個 PAT
?
輸入格式:
輸入只有一行,包含一個字符串,長度不超過1,只包含 P
、A
、T
三種字母。
輸出格式:
在一行中輸出給定字符串中包含多少個 PAT
。由於結果可能比較大,只輸出對 1000000007 取余數的結果。
輸入樣例:
APPAPT
輸出樣例:
2
代碼:
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; char s[maxn]; int t = 0, p = 0; long long result; int main() { scanf("%s", s); int len = strlen(s); 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 --; if(s[i] == ‘A‘) result = (result + (t * p) % 1000000007) % 1000000007; } printf("%d\n", result); return 0; }
PAT 1040 有幾個PAT