有多少个PAT
来源:互联网 发布:查询商品价格的软件 编辑:程序博客网 时间:2024/04/27 15:00
#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;
}
#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
- 有多少个PAT
- pat1040有多少个pat。如何解决超时问题
- 中国字一共有多少个?
- 查找有多少个串口
- 全世界有多少个国家
- 汉字总共有多少个
- 判断有多少个闰年
- 我国古代有多少个皇帝
- 一共有多少个三角形
- 数数有多少个矩形
- 0---130 统计一位数有多少个,三位数有多少个 ,10-19多少个 。。。。。90--99 多少个
- 计算文件里有多少个字和多少行
- 阶乘后面总共有多少个零
- 1000!后面有多少个0
- 100!的尾数有多少个零?
- 看看有多少个网站能帮到你
- C#泛型类,有多少个类?
- n!的尾数有多少个零?
- Linux Socket API Connect 函数详解
- GNOME3添加新应用图标
- android 获取手机网络信息相关内容
- swift 断言(assert)
- quick cocos2d-x 3.5打包安卓apk之Eclipse篇
- 有多少个PAT
- NYOJ 259 茵茵的第一课
- 学习bootstrap的过程中
- 实现滑动Tab页面
- 3D视频的播放
- JS 实现TextBox光标定位
- iOS开发 -- xib的使用
- Java PriorityQueue的使用方法
- jsp The method getServletContext() is undefined for the type in eclipse解决方法