L1-058 6翻了 (15 分)
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 分)相关推荐
- 7-104 6翻了 (15 分)
7-104 6翻了 (15 分) "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&qu ...
- L1-058 6翻了 (15 分)循环的妙用
L1-058 6翻了 题目 代码 题目 L1-058 6翻了 (15 分) "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9& ...
- 12行代码AC——L1-058 6翻了(15分)
立志用更少的代码做更高效的表达 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了&quo ...
- L1-058 6翻了 (15 分)-PAT 团体程序设计天梯赛 GPLT
"666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...
- 团体程序设计天梯赛-练习集L1-058 6翻了 (15 分)
文章目录 前言 一.C语言解答 二.Python解答 总结 前言 "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9" ...
- 6翻了 (15 分)
"666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...
- L1-058 6翻了 (15分)
题目描述: "666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意 ...
- 2019_团体程序设计天梯赛-L1-2 6翻了(15 分)
字符串处理 样例 输入样例 it is so 666 really 6666 what else can I say 6666666666 输出样例 it is so 666 really 9 wha ...
- L1-058 6翻了 (15分)(简洁)
"666"是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字"9",意思是"6翻了",实在太厉害的意思.如果你以 ...
最新文章
- 安卓通讯录系统mysql_Android手机通讯录项目开发--联系人数据库contacts2.db介绍
- python中的for循环
- 安利一波veronica老师
- BZOJ2705 [SDOI2012]Longge的问题 欧拉函数
- SAP odata消费失败的故障排错
- SQLServer之深度分析Select
- 目标跟踪学习之MDNet
- 萨纳斯耿文强:光伏管控智能化亟待统一标准
- ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版
- Android系统信息获取 之五:系统语言信息(续)-语言地区和简写对照表
- RabbitMQ学习——常见概念详解
- 老大:用脚本实现Nginx日志每天切分的功能?我:脱了裤子放屁!
- 一文读懂腾讯云“AI即服务”战略新品“智能云”
- Mblock使用时钟中断显示4段数码管的值
- 开启Apache一直出现443端口被占用
- 笔记本开机速度怎么计算机,笔记本开机加速的步骤_如何给笔记本电脑开机提速-win7之家...
- 【Collection、List、泛型、数据结构】
- 使用 GOLANG 发送邮件
- 苹果xr配置_看看下面这些对比,你就知道苹果x和xr哪个好?
- Unity 基础 之 在 UGUI 上简单实现VideoPlayer视频播放的功能,简单暂停播放/显示视频名称/显示时长/拖拽播放等
热门文章
- 如何在Fedora 上dnf安装Node.js
- 表格与合并之Excel如何快速合并多个表格数据
- 内事不决问张昭,外事不决问周瑜,“ 排序 ”不决问威少
- java计算机毕业设计大学生校园兼职系统源码+数据库+系统+lw文档+部署
- 用树莓派搜寻地外文明
- 查询某个表空间下所有的表的空间占用情况
- 一个工厂有m条流水线
- 04Java异常-3. 异常处理方式之try..catch
- openfeign集成Hystrix的备选方案处理
- 【python PDF解析】python 读取PDF文件内容