C程式 PAT 1040 有幾個PAT

2021-09-25 20:56:15 字數 810 閱讀 3461

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

輸入只有一行,包含乙個字串,長度不超過10​5​​,只包含pat三種字母。

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

思路分析1:常規思路,從頭開始掃瞄字串,找到『p』,然後就去找從此往後的『a』,然後『t』;這樣做需要三層迴圈,時間複雜度是o(

**:

#include #include int max = 100000;

int main( ) }}

} }printf("%lld",count);

return 0;

}

思路分析2:從字串尾部開始查詢,該位置是『t』,則是該位置之後『t』的個數,若是『a』,之後有幾個『t』便能組成幾個「at」,依次累加便能得到總的「at」數目,若是『p』,則該位置之後有幾個「at」便能組成幾個「pat」,累加便能得到總的「pat數目」,時間複雜度為o(n)。

#include #include #include int max=100000;

int main( )

printf("%lld",count);//輸出結果

return 0;

}

PAT 1040 有幾個PAT 25 分

現給定字串,問一共可以形成多少個 pat?輸入只有一行,包含乙個字串,長度不超過10 5,只包含 p a t 三種字母。在一行中輸出給定字串中包含多少個 pat。由於結果可能比較大,只輸出對 1000000007 取餘數的結果。一開始打算用三層for迴圈暴力解題,但是一看到字串長度,遂放棄了這個想法...

PAT 1040 有幾個PAT 25分

現給定字串,問一共可以形成多少個 pat?輸入格式 輸入只有一行,包含乙個字串,長度不超過10 5 只包含 p a t 三種字母。輸出格式 在一行中輸出給定字串中包含多少個 pat。由於結果可能比較大,只輸出對 1000000007 取餘數的結果。輸入樣例 輸出樣例 2題目分析 一開始很容易想到反覆...

PAT 1040 有幾個PAT C語言實現

現給定字串,問一共可以形成多少個pat?輸入只有一行,包含乙個字串,長度不超過10 5 只包含p a t三種字母。在一行中輸出給定字串中包含多少個pat。由於結果可能比較大,只輸出對 1000000007 取餘數的結果。2 include includeint main gets str long ...