编码问题(升级版)
题目描述
设有一个数组A:int A[N-1];数组中存放的元素为0到N-1之间的整数,且A[i]≠Aj。
例如:N=6时,A=(4,3,0,5,1,2)
此时,数组A的编码定义如下:
A[0]的编码为0
A[i]的编码为:在a[0],A[1],…A[i-1]中比A[i]的值小的个数(i=1,2,…,N-1)
所以上面数组A的编码为:B=(0,0,0,3,1,2)
程序要求解决以下问题:
①给出数组A后,求出其编码;
②给出数组A的编码后,求出A中的原数据。
若输入1,表示求出其编码,紧接着是n,表示有n个数字,接着是用空格分开的n个数字;
若输入2,表示求出其原数据,紧接着是n,表示有n个数字,接着是用空格分开的n个数字;
输出对应的结果,每种情况占一行.
样例输入1
1 6
4 3 0 5 1 2
样例输出1
0 0 0 3 1 2
样例输入2
2 6
0 0 0 3 1 2
样例输出2
4 3 0 5 1 2
信息
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 14
- 已通过
- 1
- 通过率
- 7%
- 上传者