编码问题

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 code.in 输出文件 code.out
【问题描述
    设有一个数组 A : ARRAY[0..N-1] OF INTEGER ;数组中存储的元素为 0-N-1 之间的整数,且 A[I] ≠ A[J] ( 当 I ≠ J) 时。
例如: N=6 时,有:( 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 的原数据。

【输入格式】
    输入由若干行组成:
第一行有两个整数,m,n(1≤n,m≤100);n表示数组长度,m表示问题个数。
下面有2*m行,每两行是一个问题,每个问题的第一行是一个数字s,s=1时表示根据数据求编码,s=2时表示根据编码求数据,第二行是n个数,中间用空格隔开。
【输出格式】
    输出数据有m行,每行表示一个问题的答案。
【输入输出样例】
输入文件名:code.in
2 6
1
4 3 0 5 1 2
2
0 0 0 3 1 2
输出文件名:code.out
0 0 0 3 1 2
4 3 0 5 1 2