有多少个PAT

原创 2015年07月06日 18:06:11
#include<iostream>
#include<string>
using namespace std;
const int maxn = 100100;
int p[maxn],t[maxn];//p[i]表示第i位前(包括i)有多少P,t[i]表示i位之后有多少T
int main(){
string s;
cin>>s;
long long  ans=0;
int len=s.length();
for(int i=0;i<len;i++){
if(s[i] == 'P'){
if(i==0) 
p[i]++;
else
p[i] = p[i-1]+1;
}else{
if(i>0)
p[i] = p[i-1];
else
p[i]=0;
}




}


for(int i=len-1;i>=0;i--){
if(s[i] == 'T'){
if(i==len-1)
t[i]++;
else
t[i]=t[i+1]+1;
}else{
if(i==len-1)
t[i]=0;
else
t[i] = t[i+1];
}
}
for(int i=0;i<len;i++){
if(s[i] == 'A'){
ans+=p[i]*t[i];
}
}




cout<<ans%1000000007;
system("pause");
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#编程中的66个好习惯,你有多少个

1.   避免将多个类放在一个文件里面。 2.   一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。 3.   一个文件最好不要超过500行的代码(不包括机器产生的...
  • xlb14
  • xlb14
  • 2011-10-14 11:19
  • 74

统计Jar包中包含了多少个Java类

统计Jar包中包含了多少个Java类

n的阶乘结果中末尾有多少个零?

题目:n的阶乘中一共有多少个零? 解答:产生零的结果只能有一种可能性那就是2*5=10,然而n的阶乘本质上是可以拆解为很多2和5以及其他不包含2和5的乘数的积,例如5的阶乘:1*2*3*4*5=1*2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)