【模拟】Gym - 101190A - Abbreviation
让你把所有的“连续的仅有首字母大写的”词组用缩写表示,并且在后面用括号注明原词组。
#include<cstdio>
#include<cstring>
using namespace std;
char s[130];
bool iszimu(char c){
return ((c>='A' && c<='Z') || (c>='a' && c<='z'));
}
bool isbig(char c){
return (c>='A' && c<='Z');
}
bool issmall(char c){
return (c>='a' && c<='z');
}
bool check(int l,int r){
if(r-l+1==1){
return 0;
}
if(!isbig(s[l])){
return 0;
}
for(int i=l+1;i<=r;++i){
if(!issmall(s[i])){
return 0;
}
}
return 1;
}
void print(int l,int r){
for(int i=l;i<=r;++i){
putchar(s[i]);
}
}
void prin2(int l,int r){
for(int i=l;i<=r;++i){
if(isbig(s[i])){
putchar(s[i]);
}
}
printf(" (");
for(int i=l;i<=r;++i){
putchar(s[i]);
}
putchar(')');
}
int main(){
freopen("abbreviation.in","r",stdin);
freopen("abbreviation.out","w",stdout);
while(gets(s)){
int n=strlen(s),sta,cnt=0,end=-1,Sta,End=-1;
for(int i=0;i<n;++i){
if((i==0 || !iszimu(s[i-1])) && iszimu(s[i])){
sta=i;
}
if((i==n-1 || !iszimu(s[i+1])) && iszimu(s[i])){
if(check(sta,i) && (cnt==0 || (end==sta-2 && s[end+1]==' '))){
++cnt;
if(cnt==1){
Sta=sta;
End=end;
}
}
else if(check(sta,i)){
if(cnt>=2){
print(End+1,Sta-1);
prin2(Sta,end);
}
else if(cnt==1){
print(End+1,Sta-1);
print(Sta,end);
}
cnt=1;
Sta=sta;
End=end;
}
else{
if(cnt>=2){
print(End+1,Sta-1);
prin2(Sta,end);
}
else if(cnt==1){
print(End+1,Sta-1);
print(Sta,end);
}
print(end+1,i);
cnt=0;
}
end=i;
}
}
if(cnt>=2){
print(End+1,Sta-1);
prin2(Sta,end);
}
else if(cnt==1){
print(End+1,Sta-1);
print(Sta,end);
}
print(end+1,n-1);
puts("");
}
return 0;
}
【模拟】Gym - 101190A - Abbreviation的更多相关文章
- 【模拟】ECNA 2015 I What's on the Grille? (Codeforces GYM 100825)
题目链接: http://codeforces.com/gym/100825 题目大意: 栅栏密码.给定N(N<=10),密钥为一个N*N的矩阵,'.'代表空格可以看到,'X'代表被遮挡,还有密 ...
- 【模拟】NEERC15 G Generators(2015-2016 ACM-ICPC)(Codeforces GYM 100851)
题目链接: http://codeforces.com/gym/100851 题目大意: n个序列.每个序列有4个值x,a,b,c,之后按照x=(a*x+b)%c扩展无穷项. 求每个序列各取一个数之后 ...
- 【模拟】NEERC15 J Jump(2015-2016 ACM-ICPC)(Codeforces GYM 100851)
题目链接: http://codeforces.com/gym/100851 题目大意: 系统里生成一个字符串C,一开始告诉你字符串的长度N(偶数).接着你需要在n+500次内猜出这个字符串是什么. ...
- 【模拟】NEERC15 E Easy Problemset (2015-2016 ACM-ICPC)(Codeforces GYM 100851)
题目链接: http://codeforces.com/gym/100851 题目大意: N个人,每个人有pi个物品,每个物品价值为0~49.每次从1~n顺序选当前这个人的物品,如果这个物品的价值&g ...
- 【模拟】NEERC15 A Adjustment Office (2015-2016 ACM-ICPC)(Codeforces GYM 100851)
题目链接: http://codeforces.com/gym/100851 题目大意: 一个N*N的矩阵A,Ai,j=i+j,Q次操作,每次分两种,R r取出第r行还未被取的所有数,并输出和.C c ...
- 【模拟】BAPC2014 G Growling Gears (Codeforces GYM 100526)
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...
- Gym 100952C&&2015 HIAST Collegiate Programming Contest C. Palindrome Again !!【字符串,模拟】
C. Palindrome Again !! time limit per test:1 second memory limit per test:64 megabytes input:standar ...
- Gym 100952B&&2015 HIAST Collegiate Programming Contest B. New Job【模拟】
B. New Job time limit per test:1 second memory limit per test:64 megabytes input:standard input outp ...
- Gym 100646 Problem C: LCR 模拟题
Problem C: LCR 题目连接: http://codeforces.com/gym/100646/attachments Description LCR is a simple game f ...
随机推荐
- ASP.NET 设置DropDownList的当前选项
1.通过显示字符Text DropDownList.Items.FindByText("你的值").Selected=true; 如果在设置之前,进行过设置,应用如下格式: Dro ...
- Vue 定义组件模板的七种方式(一般用单文件组件更好)
在 Vue 中定义一个组件模板,至少有七种不同的方式(或许还有其它我不知道的方式): 字符串 模板字面量 x-template 内联模板 render 函数 JSF 单文件组件 在这篇文章中,我将通过 ...
- Sberbank Russian Housing Market比赛总结
第一次真正意义上参加kaggle比赛,都是工作之余看看别人的kernel,然后整理整理自己的分析代码. 总体来说,本次比赛对我而言更像一个入门比赛,更多的是走走kaggle比赛的整个流程,看看高手们都 ...
- 调用start()与run()的区别
1.调用start()方法: 通知“线程规划器”当前线程已经准备就绪,等待调用线程对象的run()方法.这个过程就是让系统安排一个时间来调用Thread中的run()方法,使线程得到运行,启动线程,具 ...
- c++设计模式系列----factory模式
问题: 假设我们要开发一个游戏--打怪物,首先,游戏有分等级,假设有初级,中级两个个等级(就不用flappy bird模式了,那个比较特殊,对一个玩家来说是难以具有持久吸引力的!),不同的等级怪物也是 ...
- IoT之车联网
一. 背景 这是一个笔者在实习公司策划的关于车联网的小项目,也是笔者参加某竞赛的作品<基于云平台的车内滞留儿童状况监测与处理>,本项目旨在为因各种原因导致儿童滞留车内热死.闷死的社会性事件 ...
- Every Tom,Dick and Harry. 不管张三李四。
1 every adj 每个,最大的,所有的,一切的 Every other girl except me is wearing jeans. 除了我之外的每个女孩都穿着牛仔裤. I have ...
- [New learn]GCD的基本使用
https://github.com/xufeng79x/GCDDemo 1.简介 介绍GCD的使用,介绍多种队列与同步异步多种情况下的组合运行情况. 2.基本使用步骤 如果使用GCD则一般也就两个步 ...
- Java Redis 连接池 Jedis 工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import re ...
- nginx配置文件的详细讲解
user nginx nginx; #定义Nginx运行的用户和用户组worker_processes 1; #nginx进程数,建议设置为等于CPU总核心数worker_rlimit_nofile ...