题目描述

GuoZQ正在打字,需要打的字只有大写和小写字母。他发现他在打字的时候,如果遇见大写字母,他可以先打开CapsLock键,使得CapsLock指示灯亮起来,即默认输入大写,这样他直接打上去的字母就是大写字母;他还可以用另一种办法,那就是在保证CapsLock灯关闭的状态下,即默认输入小写,使用Shift键+字母键的组合形式来输入大写字母。如果GuoZQ遇到的了一连串的大写字母,聪明的他可能先将CapsLock打开,然后连续输入这些大写字母,然后再关掉CapsLock。现在他发现,这两种写法都很好玩,但是对于一个给定的字符串,他想知道最少按多少次键能写完?而且GuoZQ的强迫症会使他保证打完字后CapsLock灯要关掉哦!开始的时候CapsLock是关闭的。

输入格式

多组输入数据,每组一个字符串,长度不为0且不超过100。输入以文件尾结束。

输出格式

对于每组输入数据,输出最少需要按键几次,每组输出占一行。
注意2个组合键算2次按键操作。

输入样例

Pirates
HDUacm
HDUACM

输出样例

8
8
8

/*
重点解决大写字母连续与不连续的情况
*/
#include<iostream>
#include<string.h>
using namespace std;
char sj[105];
int gx=0;       //更新下标
int lxdx(int x,int len)
{int res=1;       //进入函数时已有一个大写字母for(int i=x;i<len;i++){if(sj[i+1]>='A'&&sj[i+1]<='Z'){res++;gx=i;       //更新下标}else{return res;}}
}
int main()
{while(cin>>sj){int res=0;int len=strlen(sj);for(int i=0;i<len;i++){if(sj[i]>='A'&&sj[i]<='Z'){int lxsj=lxdx(i,len);if(lxsj>=2){res=lxsj+2;i=gx+1;      //大写字母连续时更新下标+1,下次循环从下一位开始,不懂手写推演“HDUacm”}else{res=lxsj+1;}}else if(sj[i]>='a'&&sj[i]<='z'){res++;}}cout<<res<<endl;}return 0;
}

题库 1178:CapsLock相关推荐

  1. ACM大量习题题库及建议培养计划

    ACM大量习题题库 ACM大量习题题库  现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO h ...

  2. ACM题库以及培养策略

    ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...

  3. 计算机组成原理题库(唐朔飞)

    计算机组成原理题库 ~~02|01|1|2|A0400047_010_1|871 ^^通常划分计算机发展时代是以( )为标准的. A.所用电子器件 B.运算速度 C.计算机结构 D.所用语言 ^^A ...

  4. 在计算机的应用领域 cat的中文全称,计算机基础知识题库.xls

    计算机基础知识题库.xls 序号题目 1 一个完整的计算机系统应包括 ( ) . 系统硬件和系统软件 硬件系统和软件系统 主机和外部设备 主机.键盘.显示器和辅存 2 在下列叙述中,正确的一条是 ( ...

  5. java判断素数1037_ACM离线题库超级全

    [实例简介] 超级多的题库有离线的适合没网时做,ACMer必备,有杭电OJ,北大OJ [实例截图] [核心代码] 804f1873-5659-4f1d-bc49-31fa9b551299 └── 题库 ...

  6. 2017年全国计算机一级选择题,2017年全国计算机一级选择题题库

    2017年全国计算机一级选择题题库 电子器件是计算机系统的物质基,计算机复杂逻辑的最基层线路为"与门"."或门"和"反相器".以下是yjby ...

  7. 计算机四级网络工程题库,2016计算机四级网络工程师题库

    2016计算机四级网络工程师题库 一.选择题 1. 以下关于OSPF协议技术特征的描述中,哪个是错误的? A.OSPF协议使用层次结构的区域划分 B.它将一个自治系统内部划分成若干区域与主干区域(ba ...

  8. 《Python程序设计》题库(2)

    侵权联系我删除: [写在这里,方便右键百度搜索!] <Python程序设计>题库 填空题 Python安装扩展库常用的是_______工具.(pip) Python标准库math中用来计算 ...

  9. Golang正则笔记 :使用正则表达式处理题库文本

    前言 由于企业内部的一些考试需要,有些同事要时常通过一个word格式的题库文件来查询相应题目,但在手机上用word进行查询,总觉得操作上很不方便.借着这个契机,应用Golang和Kotlin开发了一个 ...

最新文章

  1. Eclipse中配置约束
  2. 【译】function.caller 被认为是有害的
  3. 项目四-用循环求(1)
  4. 判断目录是否存在,若不存在即创建-Python
  5. 消费者驱动的微服务契约测试套件Spring Cloud Contract
  6. 今天的中巴等各式车子的企业即时通讯
  7. mysql8.0.12怎么配置_MySQL8.0.12安装及配置
  8. yum 安装mysql 5.0_CentOS 通过 yum 安装 Mysql 5.0
  9. 2012/7/26给Extjs grid中的列自定义渲染方式
  10. sql 链接 oracle 查询,Oracle学习之路-SQL篇-连接查询
  11. 浅谈BCD码同二进制转换
  12. 乐高Mindstorms使用ev3dev进行编程
  13. 五种IO模型简介以及IO多路转接之select
  14. 全面理解ERP和APS:用饭局的例子说明,MRP 还是APS
  15. 星际无限 | 2021年IPFS应该关注的重点是什么?
  16. java 横向 打印出来_java jacob调用打印,word,excel横向打印
  17. Mac升级pip3 | pip install --upgrade pip
  18. Geant4不完全学习指南8(物理列表的使用)
  19. docker-部署lnmp
  20. era翻译_英语单词era是什么意思,英文单词查询era,在线单词era翻译

热门文章

  1. JSP住宅小区物业管理系统(源代码+开题报告+论文+答辩PPT)
  2. 新手搭建Redis服务器
  3. java 解决相互依赖_Maven项目常见问题实战(一) 解决相互依赖
  4. USB 高速握手和USB全速握手电平分析
  5. hwclock 和 date 的爱恨情仇终极总结
  6. python大作业80个_大黄蜂35个彩蛋解析!!你必看的80年代大风暴
  7. python十大语法_精华-Python十大语法有哪些?
  8. 【SSM】第三课 超市订单管理平台--供应商管理功能
  9. 第一个Java程序“hello Woed”
  10. 2010上海工博会上的宜科展台