1040 有几个PAT (25 分)
辣么就简单啦, 只需要先遍历字符串数一数有多少个T然后每遇到一个T呢~countt–; 每遇到一个P呢,countp++; 然后一遇到字母A呢就countt * countp~把这个结果累加到result中最后输出 结果就好啦对了别忘记要对10000000007取余哦~~~~/ #include<stdio.h> #include<string.h> int main() { long int i,countt=0,countp=0,sum=0;//测试点3和4是定义成长整型变量; char ch[100001];//因字符串长度不超过10^5; gets(ch); for(i=0;i<strlen(ch);i++) { if(ch[i]= =‘T’) countt++; } for(i=0;i<strlen(ch);i++) { if(ch[i]= =‘P’) countp++; else if(ch[i]= =‘T’) countt- -; else if(ch[i]==‘A’) sum=sum+countp*countt; } printf("%d",sum%1000000007); return 0; }
发布日期:2021-06-29 22:19:44
浏览次数:2
分类:技术文章
本文共 864 字,大约阅读时间需要 2 分钟。
1040 有几个PAT (25 分)
字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?
输入格式:
输入只有一行,包含一个字符串,长度不超过10 5 ,只包含 P、A、T 三种字母。输出格式:
在一行中输出给定字符串中包含多少个 PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。输入样例:
APPAPT 输出样例: 2 /析:要想知道构成多少个PAT, 那么遍历字符串后对于每一A, 它前面的P的个数和它后面的T的个数的乘积就是能构成的PAT的个数。 然后把对于每一个A的结果相加即可转载地址:https://dingshijie.blog.csdn.net/article/details/87426641 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月04日 19时42分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux png转jpg (convert命令)
2019-04-30
NAS (Network Attached Storage 网络附属存储)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
Ninja
2019-04-30
lmdb数据库的读取与转换(一) —— 基本操作
2019-04-30
opencv相关操作(cv2) (python)
2019-04-30
lmdb数据库的读取与转换(二) —— 数据集操作
2019-04-30
Lua语言
2019-04-30
Python __doc__获得模块的文档字符串内容
2019-04-30
Python sys.path和模块搜索路径
2019-04-30
github.io网页无法打开(连接不是私密连接)
2019-04-30
git submodule
2019-04-30
linux中source、sh、bash、./有什么区别
2019-04-30
vscode git
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2FSK
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——AM
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——DSB
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——SSB
2019-04-30