博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法学习之路|有几个PAT
阅读量:6119 次
发布时间:2019-06-21

本文共 712 字,大约阅读时间需要 2 分钟。

字符串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
解题思路

先计算P的数量。

遇到A,则PA+=P;

与到T,则PAT+=PA;

#include
#include
using namespace std;int ans=0;int main(){ string use; cin>>use; int p=0,pa=0,pat=0; for(string::iterator i=use.begin();i!=use.end();i++){ if(*i=='P'){ p++; p%=1000000007; } else if(*i=='A'){ pa+=p; pa%=1000000007; } else if(*i=='T'){ pat+=pa; pat%=1000000007; } } cout<

转载地址:http://qzqka.baihongyu.com/

你可能感兴趣的文章
云时代架构阅读笔记之四
查看>>
WEB请求处理一:浏览器请求发起处理
查看>>
Lua学习笔记(8): 元表
查看>>
PHP经典算法题
查看>>
LeetCode 404 Sum of Left Leaves
查看>>
醋泡大蒜有什么功效
查看>>
hdu 5115(2014北京—dp)
查看>>
数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)...
查看>>
PHP读取日志里数据方法理解
查看>>
第五十七篇、AVAssetReader和AVAssetWrite 对视频进行编码
查看>>
Vivado增量式编译
查看>>
一个很好的幻灯片效果的jquery插件--kinMaxShow
查看>>
微信支付签名配置正确,但返回-1,调不出支付界面(有的手机能调起,有的不能)...
查看>>
第二周例行报告
查看>>
多线程条件
查看>>
黄聪:VMware安装Ubuntu10.10【图解】转
查看>>
Centos 6.x 升级openssh版本
查看>>
公式推♂倒题
查看>>
vue实现点击展开,点击收起
查看>>
如何使frame能居中显示
查看>>