PAT乙级 有几个PAT(25)
2015-12-26 13:18
274 查看
题意:给定一个字符串,字符串中只包含pat,计算其中一共有几个pat,如appapt里面就有2个pat。
刚开始还现在想需要用什么算法,后来发现只要递推就ok,设置三个变量,pnum、panum、patnum,分别存储p、pa、pat的数量,只需计算一下就ok。
#include "iostream"
#include "stdio.h"
#include "string.h"
using namespace std;
int main()
{
int pnum = 0,panum = 0,patnum = 0;
char c;
string str;
cin>>str;
int len = str.size();
for(i=0;i<len;i++)
{
if(str[i] == 'P')
pnum++;
else if(str[i] == 'A')
{
panum += pnum;
panum %= 1000000007;
}
else
{
patnum += panum;
patnum %= 1000000007;
}
}
cout<<patnum<<endl;
return 0;
}
刚开始还现在想需要用什么算法,后来发现只要递推就ok,设置三个变量,pnum、panum、patnum,分别存储p、pa、pat的数量,只需计算一下就ok。
#include "iostream"
#include "stdio.h"
#include "string.h"
using namespace std;
int main()
{
int pnum = 0,panum = 0,patnum = 0;
char c;
string str;
cin>>str;
int len = str.size();
for(i=0;i<len;i++)
{
if(str[i] == 'P')
pnum++;
else if(str[i] == 'A')
{
panum += pnum;
panum %= 1000000007;
}
else
{
patnum += panum;
patnum %= 1000000007;
}
}
cout<<patnum<<endl;
return 0;
}
相关文章推荐
- 列式存储
- 自定义圆角点击变色TextView
- 2015年总结
- 感想之二
- 利用Service完成桌面的悬浮窗口
- Fragment使用总结
- leetcode98---Validate Binary Search Tree
- SVN使用教程说明
- 马哥linux学习笔记:centos7.x中rpm命令详解
- [EN] TensorFlow Examples
- 3083: 遥远的国度
- Java基础学习总结(1)——equals方法
- Java基础学习总结(1)——equals方法
- 一种开放平台代理访问方法及装置
- [BZOJ1006]神奇的国度
- Leetcode: Walls and Gates
- 25个Java机器学习工具&库
- 线程池相关
- [Hadoop] Hadoop 链式任务 : ChainMapper and ChainReducer的使用
- 个人博客作业week1