PAT 1084 外观数列(20)(代码+思路+推荐测试用例)
1084 外观数列(20 分)
外观数列是指具有以下特点的整数序列:
d, d1, d111, d113, d11231, d112213111, ...
它从不等于 1 的数字 d
开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d
,所以就是 d1
;第 2 项是 1 个 d
(对应 d1
)和 1 个 1(对应 11),所以第 3 项就是 d111
。又比如第 4 项是 d113
,其描述就是 1 个 d
,2 个 1,1 个 3,所以下一项就是 d11231
。当然这个定义对 d
= 1 也成立。本题要求你推算任意给定数字 d
的外观数列的第 N 项。
输入格式:
输入第一行给出 [0,9] 范围内的一个整数 d
、以及一个正整数 N(≤ 40),用空格分隔。
输出格式:
在一行中给出数字 d
的外观数列的第 N 项。
输入样例:
1 8
输出样例:
1123123111
PS:
初看这道题目,好眼熟,是不是很像 P1078的压缩字符串,岂止是像,那边的代码拿过来改一下就能用,这里题目说N<=40,这不是间接的告诉我们用递归么???哈哈,机智如我。
注意:1、确定好压缩次数。
2、有可能直接输出第一项(即不用压缩)(1分的测试点)。
推荐测试点:
in:
123 1
out:
123
#include <iostream>
#include<string>
using namespace std;
string compress(string s, int n) {
if (n == 1) //直到n=1时,不需要压缩
return s;
string cs; //压缩字符串
int count = 1;
for (int i = 0; i < s.length(); i++) {
if (s[i] == s[i + 1]) //与后一个进行比较
count++;
else {
cs += s[i];
cs += to_string(count);
count = 1;
}
}
s = cs;
return compress(s, n - 1); //递归再压缩一次
}
int main() {
string str;
int n;
cin >> str >> n;
cout << compress(str, n);;
return 0;
}
PAT 1084 外观数列(20)(代码+思路+推荐测试用例)的更多相关文章
- PAT乙级:1084 外观数列 (20分)
PAT乙级:1084 外观数列 (20分) 题干 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d ...
- PAT Basic 1084 外观数列 (20 分)
外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...
- PAT 1020 月饼 (25)(精简版代码+思路+推荐测试用例)
1020 月饼 (25)(25 分)提问 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是 ...
- PAT 1084 外观数列
https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120 外观数列是指具有以下特点的整数序列: d, ...
- 1084 外观数列 (20 分)C语言
外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, ... 它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述. ...
- PAT 乙级 1084. 外观数列 (20) 【字符串】
题目链接 https://www.patest.cn/contests/pat-b-practise/1084 思路 用字符串模拟 然后要注意一点 它是连续的 才并在一起 就比如说 d, d1, d1 ...
- PAT(B) 1084 外观数列(Java)
题目链接:1084 外观数列 (20 point(s)) 题目描述 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, - 它从不等于 ...
- PAT 1024 科学计数法 (20)(精简版代码+思路+推荐测试样例)
1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+, ...
- PAT 1044 火星数字(20)(思路+代码)
1044 火星数字(20)(20 分) 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jl ...
随机推荐
- Spark standalone运行模式
Spark Standalone 部署配置 Standalone架构 手工启动一个Spark集群 https://spark.apache.org/docs/latest/spark-standalo ...
- hbase建表时 ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
其实解决不难,是因为时钟不同步,把每个节点切换到root用户下同步时钟就好了,在重启hbase!
- 5S后返回首页
<!DOCTYPE html> <html> <head> <title>5S后返回首页</title> <meta http-equ ...
- leetcode933
public class RecentCounter { Queue<int> Q; public RecentCounter() { Q = new Queue<int>() ...
- discuz 修改积分策略( 在周期中添加"每周" )
在 source/admincp/admincp_credits.php 文件中, ctrl+f 搜索 $lang['setting_credits_policy_cycletype_1'] 处, ...
- Spring boot 配置文件 使用占位符号
配置文件占位符 1:使用随机数 ${random.value}.${random.int}.${random.long} ${random.)}.${random.,]} 2: 占位符获取之前配置的值 ...
- JetBrains产品永久破解
吃水不忘挖井人,本博客转自:https://www.cnblogs.com/jyiqing/p/7699649.html 目的: 本人使用idea和webstorm进行开发,无奈正版实在是太贵了,只能 ...
- nginx 无法访问root权限的文件内容
问题: 按照的nginx,nginx配置的user 是 nginx,nginx 是root用户启动的. 文件夹A放的那啥是root用户上传的文件. 可 nginx 无法访问 到 文件. 方法: ...
- kernel TCP time wait bucket table overflow
# 故障描述 有一个需求是实时分析API接口访问日志,提取token去数据库查询对应的uid,然后收集一些指标存入到hbase中. 当程序执行一会后会被系统杀死 Killed ! # 故障排查 .CP ...
- Haskell语言学习笔记(42)Bifunctor
Bifunctor class Bifunctor p where bimap :: (a -> b) -> (c -> d) -> p a c -> p b d bim ...