AcWing 1633:外观数列

【题目来源】
https://www.acwing.com/problem/content/1635/

【题目描述】
外观数列是指具有以下特点的整数序列:

D, D1, D111, D113, D11231, D112213111, ...
其中 D 是一个 [0,9] 范围内的不等于 1 的整数。
序列的
第 n+1 项是对第 n 项的描述。比如:
第 2 项 D1,表示第 1 项 D 有 1 个 D。所以第 2 项就是 D1;
第 3 项 D111,表示第 2 项 D1 有 1 个 D(对应 D1)和 1 个 1(对应 11)。所以第 3 项就是 D111。
第 4 项是 D113,表示第 3 项 D111 有 1 个 D(对应 D1)和 3 个 1(对应 13)。所以第 4 项就是 D113。
第 5 项是 D11231,表示第 4 项 D113 有 1 个 D(对应 D1)、2 个 1(对应 12)和 1 个 3(对应 31)。所以第 5 项就是 D11231。
其他各项,以此类推。当然,这个定义对 D=1 也成立。
本题要求你推算任意给定数字 D 的外观数列的第 N 项。

【输入格式】
共一行包含两个整数 D 和 N。

【输出格式】
在一行中给出数字 D 的外观数列的第 N 项。

【数据范围】
0≤D≤9,
1≤N≤40

【输入样例】
1 8

【输出样例】
1123123111

【算法分析】
整数 d → 字符 ‘d‘ 的转换代码为:d+‘0‘。例如:2+'0' 的结果为 ‘2’。代码参考如下:

#include <bits/stdc++.h>
using namespace std;const int maxn=12;
char t[maxn],s[maxn];
int i,j;int main() {int x;cin>>x;while(x) {t[i]=x%10+'0'; //int to char using +'0'i++;x=x/10;}cout<<t<<endl;i-=1;while(i>=0) {s[j]=t[i]; //core codej++;i--;}cout<<s<<endl;return 0;
}/*
in:
678out:
876
678
*/

详见:https://blog.csdn.net/hnjzsyjyj/article/details/140345590

● 语句 string s="", s+=d+'0'; 不能写成 string s+=d+'0';​​​​​​​​​​​​​​ 语句,否则系统会提示 s 没有初始化。当然,语句 string s="", s+=d+'0';​​​​​​​​​​​​​​ 等价于 string s=to_string(d);

【算法代码】

#include <bits/stdc++.h>
using namespace std;int n;
string d;void solve() {string t="";int len=d.length();for(int i=0; i<len; i++) {int cnt=0, j=i;char ch=d[i];while(d[j]==ch) {cnt++;j++;}t+=ch;t+=(cnt+'0'); //int to chari=j-1;}d=t;
}int main() {cin>>d>>n;for(int i=1; i<=n-1; i++) {solve();}cout<<d<<endl;return 0;
}/*
in:1 8
out:1123123111
*/



【参考文献】
https://blog.csdn.net/will130/article/details/49641289
https://www.acwing.com/solution/content/68229/
https://www.acwing.com/solution/content/19695/





 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程语言成长经历:探索、挑战与蜕变

编程语言成长经历&#xff1a;探索、挑战与蜕变 在数字化时代&#xff0c;编程语言无疑成为了连接人与机器的重要桥梁。回首我的编程语言成长经历&#xff0c;仿佛是一段充满探索、挑战与蜕变的旅程。 四个方面&#xff1a;初识编程的迷茫与好奇 当我第一次接触编程语言时&a…

Ubuntu与Windows通过WIFI与以太网口共享网络,Ubuntu与Windows相互ping通,但ping百度失败

Linux开发板&#xff08;正点原子阿尔法_IMX6U&#xff09;与Ubuntu的文件传输SCP 报错 SSH: no matching host key type found. Their offer: ssh-rsa-CSDN博客 前面的文章提到了如何将Ubuntu与Windows通过WIFI共享网络给以太网&#xff0c;从而实现Linux开发板、Ubuntu、Win…

香港优才计划续签难吗?一次性说清楚优才续签要求,不在香港居住也能续签成功!

香港优才计划续签难吗&#xff1f;这个问题对考虑申请优才的人来说&#xff0c;还是挺重要的。我们申请优才&#xff0c;最关注的2个问题&#xff0c;一个是获批&#xff0c;还有一个就是续签了。 毕竟我们费那么大功夫申请优才&#xff0c;可不只是为了一个为期3年的香港临时…

数据结构第20节 快速排序以及优化

快速排序是一种非常高效的排序算法&#xff0c;由英国计算机科学家托尼霍尔&#xff08;Tony Hoare&#xff09;在1960年代发明。它使用分治法&#xff08;Divide and Conquer&#xff09;策略来把一个序列分为较小的部分&#xff0c;然后递归地排序这些部分。 快速排序的基本…

Python 实现Word文档中提取表格数据并转换为CSV和JSON格式

python实现Word文档中提取表格数据 前言1.解析Word文档中的表格2.保存表格数据3.处理文件夹中的多个Word文档4.总结 前言 在日常工作中&#xff0c;我们经常需要处理大量的Word文档&#xff0c;其中包含各种表格数据。手动整理这些表格不仅耗时且容易出错。因此&#xff0c;开…

如何分析软件测试中发现的Bug!

假如你是一名软件测试工程师&#xff0c;每天面对的就是那些“刁钻”的Bug&#xff0c;它们像是隐藏在黑暗中的敌人&#xff0c;时不时跳出来给你一个“惊喜”。那么&#xff0c;如何才能有效地分析和处理这些Bug&#xff0c;让你的测试工作变得高效且有趣呢&#xff1f;今天我…

MongoDB - 集合和文档的增删改查操作

文章目录 1. MongoDB 运行命令2. MongoDB CRUD操作1. 新增文档1. 新增单个文档 insertOne2. 批量新增文档 insertMany 2. 查询文档1. 查询所有文档2. 指定相等条件3. 使用查询操作符指定条件4. 指定逻辑操作符 (AND / OR) 3. 更新文档1. 更新操作符语法2. 更新单个文档 updateO…

【ElasticSearch】ES 5.6.15 向量插件支持

参考 : https://github.com/lior-k/fast-elasticsearch-vector-scoring 下载插件 安装插件 插件目录&#xff1a; elasticsearch/plugins, 安装后的目录如下 plugins└── vector├── elasticsearch-binary-vector-scoring-5.6.9.jar└── plugin-descriptor.properties修…

linux中如何开启多个mysql进城并且单独设置密码和端口

在 Linux 系统中&#xff0c;默认情况下 MySQL&#xff08;或 MariaDB&#xff0c;一个流行的 MySQL 分支&#xff09;不直接支持在同一台机器上运行多个 MySQL 实例&#xff0c;每个实例使用不同的端口和独立的密码系统。但是&#xff0c;你可以通过配置多个 MySQL 实例&#…

web安全及内网安全知识

本文来源无问社区&#xff08;wwlib.cn&#xff09;更多详细内容可前往观看http://www.wwlib.cn/index.php/artread/artid/7506.html Web安全 1、sql注入 Web程序中对于用户提交的参数未做过滤直接拼接到SQL语句中执行&#xff0c;导致参数中的特殊字符破坏了SQL语句原有逻…

简述多云互联原理,客户公私云池互通的产品是什么?

多云互联原理基于企业或组织使用多个不同的云服务提供商的基础设施和服务&#xff0c;以实现最佳的运营效率、弹性和成本效益。这种策略允许用户避免供应商锁定&#xff0c;分散风险&#xff0c;并利用不同云服务商的特定优势&#xff0c;例如价格、地理位置、功能或性能。 多云…

jvm 07 GC算法,内存池,对象内存分配

01 垃圾判断算法 1.1引用计数算法 最简单的垃圾判断算法。在对象中添加一个属性用于标记对象被引用的次数&#xff0c;每多一个其他对象引用&#xff0c;计数1&#xff0c; 当引用失效时&#xff0c;计数-1&#xff0c;如果计数0&#xff0c;表示没有其他对象引用&#xff0c;…

【LeetCode】字母异位词分组

目录 一、题目二、解法完整代码 一、题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, …

51单片机-第一节-LED和独立按键

一、点亮LED&#xff1a; 首先包含头文件 <REGX52.H> 随后令P2为0xFE。(此时二进制对应1111 1110&#xff0c;为0 的LED亮&#xff0c;故八个灯中的最后一个亮起)。 注&#xff1a;P2为控制LED的8位寄存器。 void main() {P2 0xFE;//1111 1110while(1){} } 二、L…

递归 汉诺塔-java

汉诺塔传说&#xff1a; 汉诺塔&#xff08;又称河内塔&#xff09;问题是源于印度一个古老传说的益智玩具。 大梵天创造世界的时候做了三根金刚石柱子&#xff0c;在一个柱子从下往上按照大小顺序摞着64片圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱…

跨境电商自养号测评干货分享:从环境搭建到安全养号

跨境电商测评&#xff08;补单&#xff09; 测评补单这个词对于大部分跨境卖家来说都很熟悉&#xff0c;因为补单对于卖家来说算是一种低成本&#xff0c;高回报的推广营销方式&#xff0c;对于商品流量&#xff0c;转化率&#xff0c;关键词质量分&#xff0c;链接权重都起到…

ACL 2024 Accepted Paper 浅浅分析

7月7日&#xff0c;晴。 ACL 2024的接受论文列表终于姗姗来迟&#xff0c;全网没有搜到相关解析&#xff0c;那我只能先吃个螃蟹了。 借助ChatGPT的辅助编程&#xff0c;我对于其论文和作者进行了一些浅浅的分析&#xff0c;主要从词云、主题类型、作者发表数量3个方面对于主…

Node.js如何在Windows安装?

文章目录 主要特点&#xff1a;使用场景&#xff1a;安装方法验证是否安装成功 Node.js 是一个开源、跨平台的JavaScript运行环境&#xff0c;由Ryan Dahl于2009年创建。它允许开发者在服务器端运行JavaScript代码。Node.js 基于Chrome V8 JavaScript引擎构建&#xff0c;其设计…

CTF php RCE(三)

0x07 日志文件包含 判断类型 使用kali curl -I urlF12 打开F12开发者工具&#xff0c;选中之后F5刷新查看server类型即可 配置文件 直接包含或者访问如果有回显就是&#xff0c; NGINX&#xff1a;NGINX 的配置文件通常位于 /etc/nginx/ 目录下&#xff0c;具体的网站配…

【Lua】lua实现C# continue效果

1. repeat…until和break for i 1, 5 dorepeatif i 3 thenbreakendprint(i)until true end--[[1245 ]]2. 使用goto for i 1, 5 doif i 3 thengoto continueendprint(i, " no continue")::continue:: end--[[1 no continue3 no continue4 no continue5 no c…