您的位置:首页 > 其它

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: