PTA 乙级 1040 有几个PAT (25分) C/C++
作者:互联网
注意本题A和T是可以重复使用的,只有P不可重复使用
暴力算法很容易超时
C/C++
1 #include<iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 int p = 0, a = 0; 8 long sum = 0; 9 string str; 10 cin >> str; 11 for (int i = 0; i < str.length(); ++i){ 12 if (str[i] == 'P') ++p; //统计A前面的P的个数 13 else if (str[i] == 'A') a += p; //T前面所有的A前面P的个数相加 14 else if (str[i] == 'T') sum += a; //出现PAT总数 15 } 16 cout << sum % 1000000007; //按题目要求取余 17 18 }
标签:25,1040,PAT,int,sum,C++,else,str 来源: https://www.cnblogs.com/SCP-514/p/13383358.html