关闭

有多少个PAT

标签: PAT
123人阅读 评论(0) 收藏 举报
#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;
}
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:258次
    • 积分:14
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档
    阅读排行