题意:每次操作可以加一个C或者一个P,第i次需要花费i-1个能量,最后字符串中,每包含一个CCPC能量就加1,问最多能有多少能量。
思路:分析后可以知道,每加一个C或者一个P,最后只能加一个CCPC,而第一次是免费加的,后面最小要花费1个能量,所以我们只加一次。
CCPC,子串有CCP、CPC、CCC。
所以我们考虑碰到这三种的时候直接加。
注意两点,
1、对于CCC,如果原串是CCCPC这样,我们就不能加。加了一个又破坏了一个等于没加。
2、对于CCP,如果原串是CCPC,那么直接跳到最后一个C的位置,不然下一个位置到了CPC加上去的话,也是加了一个又破坏了原来的一个

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e2+5;
const ll mod=1e9+7;
int main(){int T;while(cin>>T){while(T--){int n;string s;cin>>n>>s;int ans=0;for(int i=0;i+3<n;i++){if(s[i]=='C' && s[i+1]=='C' && s[i+2]=='P' && s[i+3]=='C') ++ans;}for(int i=0;i+2<n;i++){if(s[i]=='C' && s[i+1]=='P' && s[i+2]=='C') { ///CPC++ans;break;}if(s[i]=='C' && s[i+1]=='C' && s[i+2]=='P') { ///CCPif(i+3<n){//原串是CCPC 直接跳到最后一个C的位置,这里i+=2 因为循环i会自增1if(s[i+3]=='C') {i+=2;continue;}}++ans;break;}if(s[i]=='C' && s[i+1]=='C' && s[i+2]=='C') { ///CCCif(i+4<n){if(s[i+3]=='P' && s[i+4]=='C') continue;//原串不是CCCPC}   ++ans;break;}}cout<<ans<<endl;}}return 0;
}

2017秦皇岛CCPC E - String of CCPC相关推荐

  1. ZOJ 3985 2017CCPC秦皇岛 E:String of CCPC

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3985 题意: 给你一个只包含C和P的字符串,你每次可以在其中添加 ...

  2. 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)

    题意:给出n个队伍,m个座位,q次A题的队伍与时间,下一行是n个队伍的坐的位置,再下面q行就是第x个队再第y秒A出一道题,然后有一个机器人,开始位置由你选,他每走一步 他就会向右走一格,走到m的时候会 ...

  3. 2017病毒感染监测(string,BF,附思路与可能WA解析)

    描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的.现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒.为方便研究,研究者 ...

  4. 2021中国大学生程序设计竞赛(CCPC),烤仔与你不见不散!

    今天也是见到超多学霸的一天呢! 因为,CCPC 的参赛选手们来看烤仔啦!北京航空航天大学.北京交通大学等高校共 95 名总决赛参赛选手在 5 月 28 日来到 Conflux 参观.交流. 由中国大学 ...

  5. 2017CCPC秦皇岛 M:Safest Buildings

    CCPC 2017秦皇岛 简单题, 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3993 题意: 给你一个圆心为 ...

  6. java string 异或_Java源码——String

    最近在研究java的源代码,但是由于自己英语水平有限,所以想使用中文注释的方式把源码里的方法全部重写 一遍,下面是楼主整理出来的一小部分.我把整体的项目托管到GitHub上了,欢迎大家前去交流学习. ...

  7. string拆分为int_拆分为流

    string拆分为int 我正在为我工​​作的公司准备正则表达式教程更新. 原始教程创建于2012年,从那时起Java发生了一点变化. 有新的Java语言版本,尽管Java中的正则表达式处理仍不完善( ...

  8. redis在php中的应用(string篇)

    string(字符串) 1.SET Redis SET 命令用于设置给定 key 的值.如果 key 已经存储其他值, SET 就覆写旧值,且无视类型. 语法: redis 127.0.0.1:637 ...

  9. sql server新增列_SQL Server 2017中的新增功能

    sql server新增列 SQL Server 2017 is considered a major release in the history of the SQL Server life cy ...

最新文章

  1. cadence 添加自己设计的pad方法
  2. Spring+Mybatis多数据源配置(一)——MySQL与Oracle通过配置切换
  3. IDEA 2021.3 重磅发布!远程开发 (Beta) 、机器学习、故障自检、体验优化......
  4. cocos2D创建一组单选按钮菜单
  5. 字符串属性和函数的使用
  6. paip.C#.net 悬浮窗口的建立总结
  7. 大数运算经典:棋盘上的米粒。
  8. 全球水储量分布图matlab代码,中国水能资源储量及分布特点分析(图)
  9. 计算机408专业考研真题,2021年计算机考研408历年真题及答案
  10. 常用加密算法--对称加密算法
  11. (python)基于GUI编写摄氏度转华氏度
  12. golang框架gin的日志处理和zap lumberjack日志使用
  13. Caj转pdf有哪些不收费的转换方法?
  14. 鸟哥的私房菜——BASHShell
  15. html2canvas生成PDF并下载的解决方案
  16. 结构预测、功能注释、分子对接 —— 这个网站全包了
  17. buck电路的工作原理
  18. jQuery (筛选文档处理)
  19. 林大5.1训练赛补题
  20. tanx的n次方不定积分递推方法

热门文章

  1. ubuntu双系统时间同步_解决Ubuntu19.10和windows双系统时间同步问题方法
  2. 百姓网发帖机,发帖机是什么来的
  3. 计算机信息系统处置预案,计算机信息系统应急处置预案.doc
  4. inkscape如何裁剪_科学网—如何在Inkscape图中输入LaTeX公式? - 李金磊的博文
  5. 怎样写软文中的“爆文”
  6. 在Vue+Element ui 项目中如何使用iconfont(阿里图标库)中的图标
  7. 从一个技术人的炫酷简历,聊聊我公司的技术栈
  8. 三国赵云传1---辅助研究
  9. win7怎么设置计算机的性能,win7怎么提升电脑性能
  10. DropBox免费网盘