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

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

输入格式:

输入只有一行,包含一个字符串,长度不超过1,只包含 PAT 三种字母。

输出格式:

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

输入样例:

APPAPT

输出样例:

2
#include<cstdio>
#include<cstring>
const int maxn = 100010;
const int MOD = 1000000007;
char str[maxn];
int leftNumP[maxn] = {0};int main(){scanf("%s",str);int len = strlen(str);for(int i = 0; i < len; i++){if(i > 0){leftNumP[i] = leftNumP[i - 1];}if(str[i] == 'P'){leftNumP[i]++;}}int ans = 0,rightNumT = 0;for(int i = len; i >= 0; i--){if(str[i] == 'T') rightNumT++;if(str[i] == 'A') ans = (ans + rightNumT * leftNumP[i]) % MOD;}printf("%d",ans);return 0;
} 

转载于:https://www.cnblogs.com/wanghao-boke/p/10337722.html

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. 1040 有几个PAT (25 分)

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

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

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

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

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

  8. 1040 有几个PAT (25分)

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

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

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

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

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

最新文章

  1. 并发和并行的区别_多核、多处理器、并发、并行、超线程概念总结
  2. AB1601 烧写程序后上电后无反应
  3. 面试官 100% 会严刑拷打的 CMS 垃圾回收器,下次面试就拿这篇文章怼回去!
  4. java hadoop2.6.0 读取文件报错_java 程序访问hdfs错误 hadoop2.2.0
  5. 停止Java线程,小心interrupt()方法
  6. php moodle mysql_PHP+XAMPP+MYSQL:从MOODLE数据库提取数据并利用jpgraph生成柱状成绩对比图...
  7. 使用Spring Boot Operator部署SpringBoot到K8S
  8. Android多线程任务优化1:探讨AsyncTask的缺陷
  9. CentOS 使用spawn-fcgi配置Nginx+PHP 启动脚本
  10. PAT 乙级1014 福尔摩斯的约会(C语言)
  11. Linux桌面图形化安装详解
  12. CMD应用 qtp/winshell/cmd的交互
  13. matlab中英文文献,matlab外文文献
  14. 全链路日志追踪系统介绍与思考
  15. 内存Available 是怎么计算的
  16. 前言——前端转型之殇
  17. 如何屏蔽电脑微信自动更新
  18. C++Primer基础部分
  19. 694.27公斤何登骥360搜索热头条 北方旱作国稻种芯功能水稻
  20. 第二章 编程初步 Ivor Horton

热门文章

  1. [回归分析][10]--相关误差的问题
  2. EF Code First 简单的示例
  3. solaris配置php,Solaris下安装Oracle_启动Oracle及监听
  4. aspx写入mysql_Asp.net用户登陆数据库验证与注册写入数据库
  5. linux 切换root_Linux运维服务篇:流量监控工具iftop部署及详细参数分享
  6. mysql 5.7 mirror_Centos7 Docker离线部署Mysql5.7
  7. c cuda 指定gpu_GPU并行编程:熟练使用CUDA C语言
  8. webservice接口_webservice服务器端发票识别接口
  9. CSDN挑战编程——《数学问题》
  10. C++统计微妙级时间消耗(chrono)