PAT 几个pat
来源:互联网 发布:淘宝举报中心网址 编辑:程序博客网 时间:2024/06/07 14:59
题目描述
字符串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所以它的前边一定要先有P,在有PA,最后才能形成PAT。那么在出现A之前我先统计出现多少次P,那么就能出现多少次PA,然后到T的时候看有多少个PA,就有多少个PAT。
代码:
#include<iostream>#include<string>using namespace std;int main(){const int mod = 1000000007;int p = 0;int pa = 0;int pat = 0;string STR;cin >>STR;int i = 0;while (i<STR.length()){char CH = STR[i++];if (CH == 'P'){p++;p = p%mod;}else if (CH == 'A'){pa += p;pa = pa%mod;}else if (CH == 'T'){pat += pa;pat = pat%mod;}}cout << pat << endl;return 0;}
阅读全文
0 0
- PAT 几个pat
- PAT-B1040. 有几个PAT
- PAT 1040 有几个PAT
- PAT 1040. 有几个PAT
- PAT 1040.有几个PAT
- PAT 1040有几个PAT
- PAT B1040. 有几个PAT
- pat 1040. 有几个PAT
- 1040 有几个PAT
- 1040、有几个PAT
- 1040. 有几个PAT
- PAT1040有几个PAT
- pat1040:有几个PAT
- 1040. 有几个PAT
- 1040 有几个PAT
- 1040 有几个PAT
- 1040 有几个PAT
- 1040. 有几个PAT
- 程序员面试心得及如何看待培训班
- JDBC规范
- 总结2
- Putty远程登录VMware虚拟机Linux(Ubuntu)
- QT学习第一天-----基本操作
- PAT 几个pat
- 大数据的发展,伴随的将是软件工程师的渐退,算法工程师的崛起
- java script 如何将盒子里的东西布局360度。
- luogu P1006 传纸条
- strtok实现
- C# 开发的网络数据包抓取的的实现
- 什么是自定义MVC框架?
- 访问数据库的技术
- astron设计模式学习手记之门面模式