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


相关推荐

  • C语言的文件操作_C语言调用文件

    C语言的文件操作_C语言调用文件文件打开与关闭C文件操作用库函数实现,包含在stdio.h中。文件使用方式:打开文件→文件读/写→关闭文件系统自动打开和关闭三个标准文件:标准输入——键盘 stdin标准输出——显示器 stdout标准出错输出—–显示器 stderr文件读写操作当我们把文件打开之后,就可以对它进行读与…

    2022年8月18日
    8
  • Pycharm怎么改背景颜色(超详细)「建议收藏」

    Pycharm怎么改背景颜色(超详细)「建议收藏」1.首先打开Pycharm,点击file(文件),在点击settings(设置)点击Editor(编辑器),点击ColorScheme(色彩方案),再点击ConsoleColors(控制台颜色)打开控制台颜色之后,看Scheme(方案),下拉找到你自己喜欢的颜色,在下面的框框里面可以看到你换好的颜色的样子,随后再点击OK。最后再点击yes,我们的背景颜色就换好了哈哈哈哈哈希望可…

    2022年6月20日
    60
  • Server.MapPath 的使用方法

    Server.MapPath 的使用方法Server.MapPath的使用方法用法:1.Server.MapPath("/")应用程序根目录所在的位置如C:\Inetpub\wwwroot\2.Serve

    2022年6月30日
    24
  • 全网最细讲解 | 一文看懂开源自动化神器 n8n

    全网最细讲解 | 一文看懂开源自动化神器 n8n

    2026年3月15日
    3
  • 有关R6034错误的思考

    有关R6034错误的思考作者 朱金灿来源 http blog csdn net clever101 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 我们有时会遇到 R6034 错误 工程明明编译通过 但是运行时却出现 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 网上的解决办法很多 但是有效的不多 特别是对阐述这个问题的本质的很少 今天就这个问题谈谈我的粗浅看法 不当及不全面地请大神们赐教 大家知道 操作系统是处在硬件和应用程序之间的一个中间层 应用程序运行时需要用到的库

    2026年3月20日
    1
  • js判断是否为数组的方式

    js判断是否为数组的方式1 instanceofin 用于判断引用数据类型 检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上 有则返回 true 否则返回 false 就是判断对象属于什么类型 letvalue letvalue1 letvalue2 123 letvalue3 温情 functionisAr val if valinstanceo false returnf

    2026年3月19日
    2

发表回复

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

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