有几个PAT
来源:互联网 发布:天行去广告软件 编辑:程序博客网 时间:2024/04/27 19:58
题目描述
字符串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
#include <stdio.h>#include<iostream>using namespace std;#define N 100007#define M 1000000007int main( void ){string str;getline(cin,str);int ta[N]={0};int sum=0,k=0;for(int i=1;i<str.length();i++) { if(str[i-1]=='P') { ta[i]=1+ta[i-1];//从左边开始,统计处于第i位置的左边(不包含i位置)有多少个'P' } else { ta[i]=ta[i-1]; } } for(int i=str.length()-1;i>=0;i--) { if(str[i]=='T')//从右边开始统计’T'的个数(不包含i位置本身) { k++; } else if(str[i]=='A')//如果是‘A',ta[i]*k%M 就是这个’A'可以构成的PAT数目 { sum=(sum+ta[i]*k)%M; } } cout<<sum;return 0;}
阅读全文
0 0
- 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
- 1040. 有几个PAT
- Java多线程编程-(18)-借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference
- Java设计模式个人总结(四)最终章
- 前端页面有那三层构成,分别是什么?作用是什么?
- Linux简介
- font-size:0;
- 有几个PAT
- imageloader的简单使用
- 添加表格的方法
- retrofit请求网络数据 将代码封装到工具包中
- 数据库工程师小白系统培训 中级进阶提升精品学习
- Angular
- 标签上title属性与alt属性的区别是什么
- 再见,OI!!!!!
- 省市二级联动