[PAT乙级]1040. 有几个PAT(25)
来源:互联网 发布:单片机时序图 编辑:程序博客网 时间:2024/04/30 04:01
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。由于结果可能比较大,只输出对1000000007取余数的结果。
输入样例:APPAPT输出样例:2
思路:
- 根据题意 ,要想知道有几个PAT,遍历所有的A,每个A所构成的PAT的数量 = 该A前P的数量 * 该A后T的数量
代码:
#include <iostream>#include <string>using namespace std;int main(){ string s; cin >> s; int p=0,a=0,t=0; int res=0; for(int i=0; i<s.size(); i++){ if(s[i] == 'T') t++; } for(int i=0; i<s.size(); i++){ if(s[i] == 'P') p++; if(s[i] == 'T') t--; if(s[i] == 'A') res = (res + (p*t)%1000000007)%1000000007; } cout << res << endl; return 0;}
思路来源
阅读全文
0 0
- PAT乙级 有几个PAT(25)
- PAT乙级—1040. 有几个PAT(25)-native
- 1040. 有几个PAT(25)-PAT乙级真题
- PAT乙级.1040. 有几个PAT(25)
- PAT 乙级 1040. 有几个PAT(25)
- PAT乙级 1040. 有几个PAT(25)
- PAT 乙级 1040. 有几个PAT(25)
- PAT乙级 1040. 有几个PAT(25)--数学问题
- [PAT乙级]1040. 有几个PAT(25)
- PAT乙级1040. 有几个PAT(25)
- pat 乙级 1040. 有几个PAT(25)
- PAT 乙级 1040. 有几个PAT(25)
- PAT乙级1040. 有几个PAT(25)
- PAT乙级真题 1040. 有几个PAT(25)
- 1040. 有几个PAT(25) PAT乙级真题
- 1040. 有几个PAT(25)PAT乙级&&1093. Count PAT's (25) PAT甲级
- [PAT-乙级]1040.有几个PAT
- 【PAT】1040. 有几个PAT(25)
- 多个ASP.NET站点如何通过ASP.NET State服务共享Session会话
- 暑假集训日记--8.3--搜索
- CSS命名实践
- bzoj 3441: 乌鸦喝水(说实话有生之年没有见过这么难的模拟)
- [剑指offer]矩形覆盖
- [PAT乙级]1040. 有几个PAT(25)
- 正则表达式部分
- 飞机票
- Android studio Gradle 实现友盟多渠道打包
- 部署应用到Tomcat服务器
- 强!
- windows10内置应用误删或者恢复
- C#操作字符串方法总结<转>
- Path