题目链接:https://www.patest.cn/contests/pat-a-practise/1093
简单题
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int maxn =100100;
const int mod=1000000007;
string s;
int P,T;
ll ans=0;
int main(){
cin>>s;
int n=s.length();
for(int i=0;i<n;i++)if(s[i]=='T')T++;
for(int i=0;i<n;i++){
if(s[i]=='T')T--;
if(s[i]=='P')P++;
if(s[i]=='A'){
ans+=(P*T)%mod;
ans%=mod;
}
}
cout<<ans<<endl;
return 0;
}
本文提供了一道 PAT A 类竞赛题目 1093 的 C++ 解决方案。通过遍历字符串并计算特定字符组合出现次数的方法,实现了对问题的有效求解。代码中使用了标准模板库简化操作。
494

被折叠的 条评论
为什么被折叠?



