题目信息:

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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2

示例代码1:

这种是检测输入的字符串进行遍历,比较费时,提交超时。

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;
char str[100000];
void solve()
{int ct=0;for(int i=0;str[i];i++){if(str[i]=='P'){for(int j=i;str[j];j++){if(str[j]=='A'){for(int k=j;str[k];k++){if(str[k]=='T'){ct++;}}continue;}}continue;}}ct=ct%1000000007;cout<<ct<<endl;
}int main()
{cin>>str;solve();system("pause");return 0;
}

示例代码二:

这种方法是输入一个字符判断一下,是PAT中的哪一个,要检测PAT的个数,我们需要检测PA的个数,检测PA个数,需要知道P和A的个数。

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;void solve()
{char str;int nP=0,nPA=0,nPAT=0;while((str=getchar())!='\n'){if(str=='P'){nP++;}else if(str=='A'){if(nP)nPA+=nP;}else if(str=='T'){if(nPA)nPAT=(nPAT+nPA)%1000000007;}}cout<<nPAT<<endl;
}int main()
{solve();system("pause");return 0;
}

1040 有几个PAT相关推荐

  1. Pat乙级 1040 有几个PAT

    Pat乙级1040 有几个PAT 思路 代码 题目网址 https://pintia.cn/problem-sets/994805260223102976/problems/9948052823899 ...

  2. PAT (Basic Level) Practise 1040 有几个PAT(DP)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

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

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

  4. 1040 有几个PAT (25 分)

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

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

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

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

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

  7. 1040 有几个PAT (25 分)

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

  8. PAT-B 1040. 有几个PAT(25)

    1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...

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

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

  10. PAT 1040 有几个PAT python (无超时)

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

最新文章

  1. ios .framework动态库重签名
  2. 这个Python库可以偷懒,和import说再见!
  3. python环境搭建
  4. H5学习之旅-H5的样式(5)
  5. 获取eclipse 运行时,bundle的相对路径
  6. android 新特性笔记
  7. Linux查看关机时间
  8. 程序员的自我进化:终于明白试图依靠跳槽和转行解决自身问题的,只会越来越差
  9. .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
  10. Spring Boot笔记-JPA分页(后端分页)
  11. 前端中实时显示当前时间的js代码
  12. 可临摹的PSD分层模板,拆解上线,高逼格电商设计竟如此简单?
  13. EAC3 mantissa quantization(VQ GAQ)
  14. 通过bat文件加密文件夹,放入你的秘密小电影
  15. java的键盘输入交互
  16. AHU-727 美妙音乐 【DP】
  17. 在阿里(05)2022.04.19 周年啦
  18. 剑指Offer53-Ⅰ—在排序数组中查找数字
  19. leetcode股票买卖问题
  20. 让我们并肩作战—机房合作

热门文章

  1. javascript中encodeURI和decodeURI方法
  2. [Bzoj1597][Usaco2008 Mar]土地购买(斜率优化)
  3. angular6项目中使用echarts图表的方法(有一个坑,引用报错)
  4. iPads和iPhones的Media Queries(转载)
  5. python--时间日期
  6. git命令行常用操作及在linux下push到github项目中遇到的问题
  7. Ant—使用Ant构建简单Java项目(三)
  8. 理解Java - JDK动态代理原理
  9. android的子菜单是否支持嵌套,Android的两种菜单
  10. java 抽象类 静态变量_Java基础之 接口、抽象类、构造方法、setXxx,getXxx、静态变量和成员变量、代码块、this和super的区别、final关键字、重写与重载...