1040 有几个PAT (25 分)
字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。

现给定字符串,问一共可以形成多少个 PAT?

输入格式:
输入只有一行,包含一个字符串,长度不超过10
5
,只包含 P、A、T 三种字母。

输出格式:
在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。

输入样例:
APPAPT
输出样例:
2

#include<iostream>
using namespace std;
int main(){string s;cin >> s;int len = s.length();int leftNumP[100005] = { 0 };for (int i = 0; i < len; i++) {if (i > 0) leftNumP[i] = leftNumP[i - 1];if (s[i] == 'P') leftNumP[i]++;}int ans = 0, rightNumT = 0;for (int j = len - 1; j >= 0; j--) {if (s[j] == 'T') rightNumT++;else if (s[j] == 'A') ans = (ans + leftNumP[j] * rightNumT) % 1000000007;}cout << ans;return 0;
}

1040 有几个PAT (25 分)相关推荐

  1. C++学习之路 | PTA乙级—— 1040 有几个PAT (25 分)(精简)

    1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位§,第 4 位 ...

  2. 1040 有几个PAT (25 分)

    1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 ...

  3. 1040 有几个PAT (25 分) -- 测试点3 测试点4

    1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 ...

  4. PAT 乙级 1040 有几个PAT (25分)

    1040 有几个PAT (25分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位§,第 4 位( ...

  5. 【PAT】乙级 1040 有几个PAT (25 分) c++

    1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位§,第 4 位 ...

  6. 1040 有几个PAT (25分)——18行代码AC

    立志用更少的代码做更高效的表达 PAT乙级最优题解-->传送门 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T):第二个 P ...

  7. 1040 有几个PAT (25分)

    字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T). 现 ...

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

    题目地址 #include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int mod=1e9+7; int ...

  9. 1153 Decode Registration Card of PAT (25分)

    1153 Decode Registration Card of PAT (25分) 题意: 给出一组学生的准考证号和成绩 准考证号组成为:考试等级(TAB),考场号(从101到999),考试日期(y ...

最新文章

  1. Swift中 !和 ?的区别及使用与Swift的Guard语句
  2. 查找所有的(字符相同但顺序不同) Find All Anagrams in a String
  3. 剑指offer 算法 (分解让复杂问题简单)
  4. bzoj 2535: [Noi2010]Plane 航空管制2【拓扑排序+堆】
  5. 操作系统中的多级队列调度
  6. 前端学习(1579):React使用步骤
  7. (转)分布式锁的几种使用方式(redis、zookeeper、数据库)
  8. chrome vue插件_VS Code 前端常用插件推荐
  9. Linux 服务器停止当前运行的程序,实验,代码
  10. 使用 ODBC .NET 提供程序和 Visual C# .NET 执行 SQL 参数化存储过程
  11. 【DigSci 科学数据挖掘大赛】冠军方案关键技术解析
  12. 有了它,从此走上炫酷的编码之路!
  13. service network restart重启失败_NodeManager 启动失败问题处理
  14. 软件GUI测试中的关注点
  15. 计算机网络原理最详细解说
  16. 通过libxml2的xpath解析xml
  17. Linux系统中关闭超线程,超线程加快Linux操作系统的速度怎么样?
  18. HTTP取消SSL认证
  19. BDC的执行模式与更新模式
  20. 椭圆参数方程,椭圆离心角和圆心角的关系

热门文章

  1. 大疆 android 简书,实测大疆智图与CC(Smart3D)三维建模、正射拼图对比
  2. 想学CNC编程的一定要看过来
  3. tableau各种精典示例经验总结02
  4. 用python让excel 飞起来(数据处理与分析操作)
  5. 关于支持电脑登录选项设置
  6. 微信开发——网页授权
  7. 【大数据搜索引擎案例汇总】
  8. 小巫的Android视频教学出来啦,欢迎大家关注和指正!!!
  9. java医院管理系统源码_医院管理信息系统
  10. 单个vue组件的打包和动态引入