1040. 有几个PAT(25)- PAT乙级真题

1040. 有几个PAT(25)- PAT乙级真题1040.有几个PAT(25)字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对…

大家好,又见面了,我是你们的朋友全栈君。

 字符串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

分析:要想知道构成多少个PAT,那么遍历字符串后对于每一A,它前面的P的个数和它后面的T的个数的乘积就是能构成的PAT的个数。然后把对于每一个A的结果相加即可~~辣么就简单啦,只需要先遍历字符串数一数有多少个T~~然后每遇到一个T呢~countt–;每遇到一个P呢,countp++;然后一遇到字母A呢就countt * countp~~~把这个结果累加到result中~~~~最后输出结果就好啦~~对了别忘记要对10000000007取余哦~~~~

PS:假设神奇的你对每次都遇到的神奇的为什么要对1000000007取模感兴趣,戳前面那个链接即可~~^_^ 

#include <iostream>
#include <string>
using namespace std;
int main() {
    string s;
    cin >> s;
    int len = s.length(), result = 0, countp = 0, countt = 0;
    for (int i = 0; i < len; i++) {
        if (s[i] == 'T')
            countt++;
    }
    for (int i = 0; i < len; i++) {
        if (s[i] == 'P') countp++;
        if (s[i] == 'T') countt--;
        if (s[i] == 'A') result = (result + (countp * countt) % 1000000007) % 1000000007;
    }
    cout << result;
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133520.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月1日 下午9:40
下一篇 2022年5月1日 下午9:40


相关推荐

  • tracert 原理_公道杯原理图解

    tracert 原理_公道杯原理图解Tracert原理

    2026年3月11日
    7
  • sqlserver数据库数据迁移_mysql 数据库迁移

    sqlserver数据库数据迁移_mysql 数据库迁移前言:在我们开发某些项目后,难免会遇到更换服务器,重新部署数据库的时候,那么问题来了?究竟怎么如何操作才能达到最佳效果;起源:(1):起初仅仅是为了测试用,所以迁移的时候不必把数据库中的数据全部迁移过去,仅仅需要数据库的架构即可;(2):某些时候需要更换服务器,那么此时已经在内部存储了大量数据了,此时只能把架构+数据全部迁移过来;解说:以本地“Login”数据库为例,帮助大…

    2022年10月19日
    6
  • WDM设备驱动程序开发平台

    WDM设备驱动程序开发平台编写硬件设备驱动程序一直是一种具有很强挑战性的复杂工作 即便是编写过具有相当难度 Win32 程序的开发人员 在编写设备驱动程序时也必须去应对种种不适 需要 洗脑 编写设备驱动程序很象在执行一项艰巨的任务 没有窗口 没有消息需要处理 很难对源代码进行调试设置 几乎所有支持库都无法调用 更糟的是 由于设备驱动程序属于操作系统的信任部分 于是很容易伤害系统 对此开发人员却往往缺乏一种保护手段去防止进程和

    2026年3月26日
    2
  • maven坐标Dependencies和Exclusions详解

    maven坐标Dependencies和Exclusions详解1 概念介绍 Dependencies 是可选依赖 OptionalDepe Exclusions 是依赖排除 DependencyEx 2 Dependencies 1 当一个项目 A 依赖另一个项目 B 时 项目 A 可能很少一部分功能用到了项目 B 此时就可以在 A 中配置对 B 的可选依赖 举例来说 一个类似 hibernate 的项目 它支持对 mysql oracl

    2026年3月19日
    2
  • 设计模式(八)装饰器模式Decorator(结构型)

    设计模式(八)装饰器模式Decorator(结构型)设计模式 八 装饰器模式 Decorator 结构型 1 概述若你从事过面向对象开发 实现给一个类或对象增加行为 使用继承机制 这是所有面向对象语言的一个基本特性 如果已经存在的一个类缺少某些方法 或者须要给方法添加更多的功能 魅力 你也许会仅仅继承这个类来产生一个新类 这建立在额外的代码上 通过继承一个现有类可以使得子类在拥有自身方法的同时

    2026年3月19日
    1
  • Latex中插入多张图片,实现并排排列或者多行多列排列

    Latex中插入多张图片,实现并排排列或者多行多列排列最近需要用latex插入多张图片,达到这么一个效果。但是我原来只插入过一张图片(图片内容来源于网络;是国漫一人之下的宝儿姐。强推这部国漫~),代码如下,效果如图:\begin{figure}\centering\includegraphics[height=4.5cm,width=9.5cm]{111.eps}\caption{pic1}\label{2}\end{figu…

    2022年5月1日
    269

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号