hdu 2577 模拟
2024-09-01 05:20:37
#include<stdio.h>
#define N 200
char s[N];
int judgeup(char c) {
if(c>='A'&&c<='Z')
return 1;
return 0;
}
int judgelo(char c) {
if(c>='a'&&c<='z')
return 1;
return 0;
}
int main() {
int lock,i,j,sum,n,h;
scanf("%d",&n);
while(n--) {
scanf("%s",s);
sum=0;lock=0;
for(i=0;s[i];i++) {
if(lock==0) {
if(judgelo(s[i])) {
sum++;
continue;
}
h=0;
for(j=i;s[j];j++) {
if(judgeup(s[j]))
h++;
else break;
}
if(h>=2) {
sum=sum+1+h;
i=j-1;
lock=1;
}
else {
sum+=2;
i=j-1;
}
}
else {
if(judgeup(s[i])) {
sum++;
continue;
}
h=0;
for(j=i;s[j];j++) {
if(judgelo(s[j]))
h++;
else
break;
}
if(h>=2) {
sum=sum+1+h;
i=j-1;
lock=0;
}
else {
sum+=2;
if(s[j]==0)//注意这个这组数据AAaAaAa
lock=0;
i=j-1;
}
}
}
if(lock==1)
sum++;
printf("%d\n",sum);
}
return 0;
}
最新文章
- 关于docker
- CSS实现的手风琴特效
- ECharts学习(2)--饼状图之南丁格尔图
- Android消息机制
- 从scrapy使用经历说开来
- Spring IoC小结
- IOS&;swift开发常用的网站
- 【 D3.js 高级系列 — 7.0 】 标注地点
- ActiveMQ可靠性机制
- YII CJson类
- apache动态编译与静态编译
- 201521123006 《java程序设计》 第9周学习总结
- C#调用windows api 实现打印机控制
- 解析js中作用域、闭包——从一道经典的面试题开始
- ansible命令应用基础
- kafka 重新分配partition
- 结对项目——四则运算GUI项目
- Go基础系列:Go实现工作池的两种方式
- laravel 数据库获取值的常用方法
- (转)在Eclipse中创建Maven多模块工程