PAT有几个pat
題目描述
字符串APPAPT中包含了兩個單詞“PAT”,其中第一個PAT是第2位§,第4位(A),第6位(T);第二個PAT是第3位§,第4位(A),第6位(T)。
現給定字符串,問一共可以形成多少個PAT?
輸入描述:
輸入只有一行,包含一個字符串,長度不超過105,只包含P、A、T三種字母。
輸出描述:
在一行中輸出給定字符串中包含多少個PAT。由于結果可能比較大,只輸出對1000000007取余數的結果。
輸入例子:
APPAPT
輸出例子:
2
剛開始想用動態規劃,但是使用起來卻復雜了,看了推薦答案后,自愧不如。核心求pat的組成方式是疊加的,所以每遇到T的時候,pat都要增加一次,然而增加的次數卻是pa的組成總次數。
然而每次遇到a。pa的組合總次數就要加一次。增加的次數為到當前位置P的總次數。很巧妙的動態規劃。代碼如下:(僅限牛客ac)
總結
- 上一篇: Java 和Ajax的简单结合
- 下一篇: PAT条条大路通罗马