L1-058 6翻了 (15 分)

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!

本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。

输入格式:

输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。

输出格式:

从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。

输入样例:

it is so 666 really 6666 what else can I say 6666666666

输出样例:

it is so 666 really 9 what else can I say 27

 第一次看到这个题的时候,我就想到了那个什么KMP查找相同字符,想了好多,最后写不出来。哎,就这个水平,怎么参加考试啊,又是焦虑的一天。

然后看到大家都是使用的这种方法,太惊艳了。

#include<bits/stdc++.h>
using namespace std;int main() {string s;getline(cin,s);int num=0;int len=s.length();for(int i=0; i<=len; i++) {if(s[i]=='6') num++;else {if(num>9) cout<<"27";else if(num>3) cout<<"9";else {while(num--)cout<<"6";}cout<<s[i];num=0;}}return 0;
}

下面这个是使用了string中replace的函数。

【用法详解】C++ replace() 函数用法详解

还有这篇博客,使用的真好,自己懒得写了,把人家写好的代码搬过来了。

【PTA】6翻了

#include <iostream>
#include <bits/stdc++.h>
using namespace std;int main()
{string str="";getline(cin,str);int i=0;int cnt=0;while(i<str.length()){if(str[i]=='6'){cnt++;}else{cnt=0;}if(str[i+1]!='6'){if(cnt>9){str.replace(i-cnt+1,cnt,"27");i=0;}else if(cnt>3&&cnt<=9){str.replace(i-cnt+1,cnt,"9");i=0;//i=0很关键,当转化一串6后,下标可能已经超了,就不再执行。}}i++;}cout<<str;return 0;
}

正则表达式

s=regex_replace(s,regex(“666666666+”),“27”);
s=regex_replace(s,regex(“666+”),“9”);
会有俩测试点过不去

#include<bits/stdc++.h>
using namespace std;
int main()
{string s;getline(cin,s);s=regex_replace(s,regex("6{10,}"),"27");s=regex_replace(s,regex("6{4,}"),"9");cout<<s<<endl;return 0;
}

L1-058 6翻了 (15 分)相关推荐

  1. 7-104 6翻了 (15 分)

    7-104 6翻了 (15 分) "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&qu ...

  2. L1-058 6翻了 (15 分)循环的妙用

    L1-058 6翻了 题目 代码 题目 L1-058 6翻了 (15 分) "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9& ...

  3. 12行代码AC——L1-058 6翻了(15分)

    立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...

  4. L1-058 6翻了 (15 分)-PAT 团体程序设计天梯赛 GPLT

    "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...

  5. 团体程序设计天梯赛-练习集L1-058 6翻了 (15 分)

    文章目录 前言 一.C语言解答 二.Python解答 总结 前言 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9" ...

  6. 6翻了 (15 分)

    "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...

  7. L1-058 6翻了 (15分)

    题目描述: "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意 ...

  8. 2019_团体程序设计天梯赛-L1-2 6翻了(15 分)

    字符串处理 样例 输入样例 it is so 666 really 6666 what else can I say 6666666666 输出样例 it is so 666 really 9 wha ...

  9. L1-058 6翻了 (15分)(简洁)

    "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...

最新文章

  1. 安卓通讯录系统mysql_Android手机通讯录项目开发--联系人数据库contacts2.db介绍
  2. python中的for循环
  3. 安利一波veronica老师
  4. BZOJ2705 [SDOI2012]Longge的问题 欧拉函数
  5. SAP odata消费失败的故障排错
  6. SQLServer之深度分析Select
  7. 目标跟踪学习之MDNet
  8. 萨纳斯耿文强:光伏管控智能化亟待统一标准
  9. ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版
  10. Android系统信息获取 之五:系统语言信息(续)-语言地区和简写对照表
  11. RabbitMQ学习——常见概念详解
  12. 老大:用脚本实现Nginx日志每天切分的功能?我:脱了裤子放屁!
  13. 一文读懂腾讯云“AI即服务”战略新品“智能云”
  14. Mblock使用时钟中断显示4段数码管的值
  15. 开启Apache一直出现443端口被占用
  16. 笔记本开机速度怎么计算机,笔记本开机加速的步骤_如何给笔记本电脑开机提速-win7之家...
  17. 【Collection、List、泛型、数据结构】
  18. 使用 GOLANG 发送邮件
  19. 苹果xr配置_看看下面这些对比,你就知道苹果x和xr哪个好?
  20. Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等

热门文章

  1. 如何在Fedora 上dnf安装Node.js
  2. 表格与合并之Excel如何快速合并多个表格数据
  3. 内事不决问张昭,外事不决问周瑜,“ 排序 ”不决问威少
  4. java计算机毕业设计大学生校园兼职系统源码+数据库+系统+lw文档+部署
  5. 用树莓派搜寻地外文明
  6. 查询某个表空间下所有的表的空间占用情况
  7. 一个工厂有m条流水线
  8. 04Java异常-3. 异常处理方式之try..catch
  9. openfeign集成Hystrix的备选方案处理
  10. 【python PDF解析】python 读取PDF文件内容