题目名称 400. 编码问题
输入输出 code.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2010-01-18加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:33, 提交:41, 通过率:80.49%
Gravatarztx 100 0.014 s 1.29 MiB C++
Gravatar 100 0.016 s 0.29 MiB C++
Gravatarztx 100 0.016 s 0.30 MiB C++
GravatarJSX 100 0.017 s 0.29 MiB C++
Gravatarfflyt 100 0.017 s 0.29 MiB C++
Gravatar苏轼 100 0.020 s 0.17 MiB Pascal
Gravatar 100 0.020 s 0.29 MiB C++
GravatarHouJikan 100 0.027 s 0.31 MiB C++
Gravatar嘻嘻 100 0.034 s 0.27 MiB C++
Gravatar11111111 100 0.034 s 0.27 MiB C++
本题关联比赛
20120217
201001-line
关于 编码问题 的近10条评论(全部评论)

400. 编码问题

★☆   输入文件:code.in   输出文件:code.out   简单对比
时间限制:1 s   内存限制:128 MiB
【问题描述
    设有一个数组 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