PAT乙级1040 有几个PAT

题目:

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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2

分析:

对于一个'A',和他之前的n个'P'能形成n个'PA';

对于一个'T',和他之前的n个'PA'能形成n个'PAT';

代码思路是,遇到'P',对'P'的个数计数cntp;遇到'A'对'PA'的个数进行计数cntpa+=cntp;遇到'T'对'PAT'个数进行计数cntpat+=cntpa。我的代码从后往前数,思路一样。

代码:

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string s;
    cin >> s;
    long cnt_t = 0, cnt_at = 0, cnt_pat = 0;
    for(int i = s.length() - 1; i >= 0; i--)
    {
        if(s[i] == 'T')
        {
            cnt_t++;
        }
        else if(s[i] == 'A')
        {
            cnt_at += cnt_t;
        }
        else if(s[i] == 'P')
        {
            cnt_pat += cnt_at;
            if(cnt_pat >= 1000000007)
                cnt_pat %= 1000000007;
        }
    }
    cout << cnt_pat << endl;
    return 0;
}

#刷题记录#
PAT乙级 文章被收录于专栏

PAT乙级(Basic)刷题记录

全部评论
哈哈,这是面试题目吗
点赞 回复 分享
发布于 2023-02-13 22:12 湖北
感觉这题目真简单
点赞 回复 分享
发布于 2023-02-13 21:39 陕西

相关推荐

测试开发面经12.9一面自我介绍项目经历:围绕了项目经历进行提问,比如&nbsp;具体是做了哪一块,然后就介绍具体做了什么,优化了什么,有具体测试出优化了多少吗。然后根据简历上写的缓存一致性又深入聊了,然后就问我先更新数据库,再删除缓存,这一个是怎么做的,然后如果让我测试这个场景,会怎么设计测试用例。实习经历:然后就围绕实习经历进行提问,怎么找的这个实习,然后就介绍自己印象最深刻的一个项目,以及是怎么测试的,然后就是根据这个不断深挖,深问,问了功能测试是怎么测的,什么是埋点测试和接口测试,具体是怎么做的,怎么决定模拟并发的时候的并发数。游戏经历:根据游戏经历开始问,然后就问最近玩的游戏是什么,或者最想分享的一个游戏是什么,然后我就选择聊了英雄联盟,然后就开始聊了大概十分钟,比如:为什么是觉得想聊英雄联盟?你玩什么位置比较多?为什么喜欢玩打野?你对于打野这个位置的理解是什么?你最喜欢的一个英雄是什么?(我说了蜘蛛)然后就问&nbsp;你开局的思路是什么,你觉得玩蜘蛛是怎么赢游戏的,节奏是怎么样的如果你是设计师,你会如何设计来加强蜘蛛的打团能力。你觉得英雄联盟这游戏是怎么样的一个状态,未来会是怎么样的?你作为策划你会怎么做来让游戏更多人玩?其他问题:你的获奖经历,可以聊聊你蓝桥杯的获奖是怎么样准备的吗?其中遇到了什么困难?你后续有升学的打算吗?你有别的offer吗?反问:后续流程是怎么样的?游戏测试和软件测试有什么不同吗?体验很好,聊得很开心12.12二面:自我介绍然后围绕了实习经历进行非常细致的提问实习经历:介绍实习做了什么?具体什么业务排行榜这个是怎么测试的?封榜的逻辑是怎么设计的?发奖的逻辑是怎么样的,怎么设计测试用例,要考虑哪些?排行榜具体设计到的数据库表是怎么设计的?都有什么字段?之前那个公司的实习的薪资怎么样?转正的待遇如何?工作强度你觉得怎么样?设计测试用例的时候,leader帮你检查的时候主要是检查或者补充什么部分?有遗漏过什么吗?你觉得测试和测开有什么区别?注重的点是什么?你是怎么理解测试这个岗位,以及为什么想要来干测试?你对于自动化测试怎么理解?你会帮你前公司设计哪些提效的测试工具?如何实现?(聊了很久)如果版本大改,页面变动很大,那自动化的代码不能复用了,你如何处理?如何减小影响?游戏经历:喜欢玩什么游戏?(我答了英雄联盟)对于打野的理解怎么安排前期的野区路线和gank路线野核和节奏型打野这两种类型的打野,你觉得什么因素会影响他们的强弱。面试官问的特别细致,也会给出反应和回应,也会给出一些方向的提示,体验很好网易游戏(互娱)2026届实习生培养项目,2月25日震撼启航!️&nbsp;面向26届追梦人,你准备好了吗?如果你是2025年9月至2026年8月间毕业的闪耀新星,这将是你不容错过的舞台!📍招聘城市:广州、杭州、上海招聘岗位:涵盖5大类近40个岗位校招C位提前锁定、SSR级培训资源、一流的实习福利等你来~投递传送门:https://game.campus.163.com/m/home?st=YTE1ZTlhNDUtNmNlMC00ZTI5LWE2ZjUtZGMxNTNhNDhjNzlm内推码:【9QcfNR】内推码可帮助大家优先筛选或直通笔试!!(大家使用这个内推码投递,我才可以帮大家查询进度,跟进流程~) #内推码#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#校招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#暑期实习#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务