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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2

暴力也能做O(n^3)的复杂度
#include<bits/stdc++.h>
using namespace std;
int main()
{
char c[];
scanf("%s",c);
int l=strlen(c); long long time=;
for(int i=;i<l;i++)
{
if(c[i]=='P')
{
for(int j=i+;j<l;j++)
{
if(c[j]=='A')
{
for(int k=j+;k<l;k++)
{
if(c[k]=='T')
{
time++;
}
}
}
}
}
}
int t=;
printf("%lld",time%t);
return ;
}

然后写了一个这个

#include<bits/stdc++.h>
using namespace std;
int main()
{
char c[];
scanf("%s",c);
int l=strlen(c);
long long numt,numat,numpat;
numt=numat=numpat=;
for(int i=;i<l;i++)
{
if(c[i]=='P')
numt++;
else if(c[i]=='A')
{
numat+=numt;
}
else
{
numpat+=numat;
}
}
int t=;
printf("%lld",numpat%t);
return ;
}

O(n)的复杂度

 

最新文章

  1. eclipse maven web环境搭建
  2. java加密算法之AES小记
  3. 字符串匹配(KMP算法)
  4. paper 91:边缘检测近期最新进展的讨论
  5. 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感[转]
  6. .net 安装remoting服务
  7. ASP.NET 委托,异步调用例子 .
  8. c++ 类的定义和使用
  9. 10 Easy Steps to a Complete Understanding of SQL
  10. UNIX域协议(无名套接字)
  11. ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)
  12. 使用Java代码发送邮件
  13. css多列居中
  14. 走你!Github 开源整合
  15. ros自定义消息的时候报错ImportError: No module named em
  16. Sequel简介
  17. Oracle查询client编码集
  18. Could not load file or assembly &#39;Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...
  19. bzoj 4397: [Usaco2015 dec]Breed Counting -- 前缀和
  20. encoder-decoder环境部署问题

热门文章

  1. jquery 通过ajax 提交表单
  2. java会不会出现内存泄露
  3. handler message messagequeue详解
  4. android系统启动框架、Activity界面显示过程详解
  5. [RK3288][Android6.0] 调试笔记 --- 替换系统签名【转】
  6. 百度API从经纬度坐标到地址的转换服务
  7. Python:深浅拷贝
  8. 自适应布局all样式
  9. HihoCoder 1570 : 小Hi与法阵(简单几何)
  10. linux文件查找(find,locate)