PAT BASIC 1040. 有几个PAT(25)

啊啊啊,很简单的题目,本来不打算保存这种等级的题目,但是自我感觉这道题的代码真是写得很简洁啊

传送门http://www.patest.cn/contests/pat-b-practise/1040

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int P;
 5 int PA;
 6 int PAT;
 7 int main()
 8 {
 9     string str;
10     P = PA = PAT = 0;
11     cin>>str;
12     for(auto c : str)
13     {
14        switch(c)
15        {
16            case 'P':P++;break;
17            case 'A':PA = (PA + P)%1000000007;break;
18            case 'T':PAT = (PAT + PA)%1000000007;break;
19            default:break;
20        }
21     }
22     cout<<PAT<<endl;
23     return 0;
24 }

 

posted @ 2015-06-30 16:17  ebina_nanan  阅读(166)  评论(0编辑  收藏  举报