1093 Count PAT’s (25 分)
思路
找找逻辑,不需要暴力
一遍循环即可~
为了防止溢出需要在每一步添加取%再加,而不是只对结果取%
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int len = s.length();
int Pnum = 0,P_allnum = 0,PAnum = 0,PA_allnum = 0,all = 0;
for(int i =0;i<len;i++)
{
if(s[i]=='P'){
Pnum+=1;P_allnum+=1;}
else if(s[i]=='A'){
PA_allnum+=P_allnum;PAnum+=P_allnum;Pnum=0;}
else {
all=(PA_allnum+all)%1000000007;PAnum=0;}
}
cout<<all<<endl;
}