欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【PAT乙级】1040 有几个PAT (25 分)

发布时间:2025/3/20 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【PAT乙级】1040 有几个PAT (25 分) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


题目地址

#include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int mod=1e9+7; int p[N],t[N]; int main(void) {string s; cin>>s;s="0"+s;for(int i=1;i<s.size();i++){if(s[i]=='P') p[i]=p[i-1]+1;else p[i]=p[i-1];if(s[i]=='T') t[i]=t[i-1]+1;else t[i]=t[i-1];}t[s.size()]=t[s.size()-1];int ans=0;for(int i=1;i<s.size();i++) if(s[i]=='A') ans=(ans+p[i-1]*(t[s.size()]-t[i]))%mod;cout<<ans;return 0; }

总结

以上是生活随笔为你收集整理的【PAT乙级】1040 有几个PAT (25 分)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。