数组模式生成
题目背景
题目描述
给定一个整数 n≥0,创建一个长度为 nimesn 的数组,其模式如下所示(以 n=3 为例):{0,0,1,0,2,1,3,2,1}(添加空格是为了显示 n 个组)。
该数组可以看作由 n 个组组成,每个组的长度为 n。设 A 为该数组,A[idx] 为其在索引 idx 处的值。
对于索引为 idx 的元素,设 k=⌊idx/n⌋ 为组索引(从 0 开始计数),j=idx(modn) 为组内索引(从 0 开始计数)。
A[idx] 的值确定如下:
- 如果 j=n−1,则 A[idx]=1。
- 否则(j<n−1):
设 val=n−j。
设 min_k=n−1−j。
如果 k≥min_k,则 A[idx]=val。
否则(k<min_k),则 A[idx]=0。
输入格式
输入以如下格式从标准输入中给出。
一个整数 n。
输出格式
输出以如下格式输出到标准输出中。
生成的数组,以整数列表的形式输出。
样例
3
[0, 0, 1, 0, 2, 1, 3, 2, 1]
2
[0, 1, 2, 1]
4
[0, 0, 0, 1, 0, 0, 2, 1, 0, 3, 2, 1, 4, 3, 2, 1]
样例解释
数据范围
每个测试用例的时间限制为 1 秒,内存限制为 1024 KiB。