博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1040 有几个PAT
阅读量:4324 次
发布时间:2019-06-06

本文共 1014 字,大约阅读时间需要 3 分钟。

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

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

输入格式:

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

输出格式:

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

输入样例:

APPAPT

输出样例:

2
 
思路:先从头到尾遍历一遍字符串,在每个A处标记为这个A之前的P的数量,然后再从后到前遍历,每找到一个T,统计一次数量,直到遇到A进行计算,记得边算边mod......
 
1 #include
2 #include
3 #include
4 #include
5 #define mod 1000000007 6 #define max 100001 7 int main() 8 { 9 char str[max];10 gets(str);11 int len=strlen(str);12 int left_P[len],count=0;13 memset(left_P,0,sizeof(int));14 for(int i=0;i
=0;i--)24 {25 if(str[i]=='T')26 count++;27 else if(str[i]=='A')28 {29 sum+=left_P[i]*count;30 sum%=mod;31 }32 }33 printf("%d\n",sum);34 return 0;35 }

 

 

转载于:https://www.cnblogs.com/xwl3109377858/p/10475137.html

你可能感兴趣的文章
压八位高精度 高精操作大全
查看>>
进程、线程、协程和GIL(二)
查看>>
dockerfile语法规则
查看>>
模块的导入
查看>>
《Inside C#》笔记(八) 接口
查看>>
kafka介绍
查看>>
java类加载机制及方法调用
查看>>
《大话西游》:我的意中人是一个盖世英雄
查看>>
iOS 清除xcode缓存和生成文件
查看>>
为什么幻灯片画布不居中
查看>>
flask模板应用-javaScript和CSS中jinja2 --
查看>>
react-native 调用原生方法
查看>>
查看Mac系统所有USB设备信息 解决android studio无法识别真机问题
查看>>
20145238 《信息安全系统设计基础》第2周学习总结
查看>>
android 获取日期
查看>>
HDU-1018 BigNumber(斯特林近似)
查看>>
Excel公式——单元格前加固定字符串
查看>>
BZOJ.4738.[清华集训2016]汽水(点分治 分数规划)
查看>>
testNG框架的四种传参方式
查看>>
stark组件开发之URL别名的设置
查看>>