题目名称 | 3805. [JZOI 2022 day3]数列 |
---|---|
输入输出 | jzoi2022_sequence.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试数据 | 10 |
题目来源 |
|
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:6, 提交:7, 通过率:85.71% | ||||
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
100 | 0.000 s | 0.00 MiB | C++ |
|
0 | 0.005 s | 0.00 MiB | C++ |
本题关联比赛 | |||
NOIP2023模拟赛5 |
关于 数列 的近10条评论(全部评论) |
---|
jzoi2022_sequence.in
输出文件:jzoi2022_sequence.out
简单对比给定一个正整数 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 项的数字字符串。
7
13112221
对于其中 20\% 的数据,保证 n\ ≤\ 10。
对于其中 100\% 的数据,保证 1\ ≤\ n\ ≤\ 25。