题目名称 3805. [JZOI 2022 day3]数列
输入输出 jzoi2022_sequence.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravataryuan 于2022-11-24加入
开放分组 全部用户
提交状态
分类标签
模拟
分享题解
通过:6, 提交:7, 通过率:85.71%
Gravataryuan 100 0.000 s 0.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.000 s 0.00 MiB C++
Gravatar宇战 100 0.000 s 0.00 MiB C++
Gravatarムラサメ 100 0.000 s 0.00 MiB C++
Gravatardick 100 0.000 s 0.00 MiB C++
Gravatar超人 100 0.000 s 0.00 MiB C++
Gravatar宇战 0 0.005 s 0.00 MiB C++
本题关联比赛
NOIP2023模拟赛5
关于 数列 的近10条评论(全部评论)

3805. [JZOI 2022 day3]数列

★   输入文件:jzoi2022_sequence.in   输出文件:jzoi2022_sequence.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】

给定一个正整数 $n$ ,输出外观数列的第 $n$ 项。

外观数列是一个整数序列,从数字 $1$ 开始,序列中的每一项都是对前一项的描述。

你可以将其视作是由递归公式定义的数字字符串序列:

  $countAndSay(1)\ =\ \ "1"$

  $countAndSay(n)$ 是对 $countAndSay(n-1)$ 的描述,然后转换成另一个数字字符串。

前五项如下:

$1.$     $1$  

$2.$     $11$  

$3.$     $21$  

$4.$     $1211$  

$5.$     $111221$  

第一项是数字  $1$

描述前一项,这个数是 $1$ 即 “ 一 个 $1$ ”,记作  $11$

描述前一项,这个数是 $11$ 即 “ 二 个 $1$ ”,记作  $21$

描述前一项,这个数是 $21$ 即 “ 一 个 $2$ + 一 个 $1$ ”,记作  $1211$

描述前一项,这个数是 $1211$ 即 “ 一 个 $1$ + 一 个 $2$ + 二 个 $1$ ”,记作  $111221$

要描述一个数字字符串,⾸先要将字符串分割为最⼩数量的组,每个组都由连续的最多相同字符组成。

然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。要将描述转换为数字字符串,先将每组中的字符数量⽤数字替换,再将所有描述组连接起来。

【输入格式】

一个整数 $n$。表示外观数列的第 $n$ 项。

【输出格式】

外观数列第 $n$ 项的数字字符串。

【样例1输入】

7 

【样例1输出】

13112221

【数据规模与约定】

对于其中 $20\%$ 的数据,保证 $n\ ≤\ 10$。

对于其中 $100\%$ 的数据,保证 $1\ ≤\ n\ ≤\ 25$。

【来源】

焦作一中 NOIP 2022 模拟赛2022.11.24 pro1