问题 26838. -- 倒置表

26838: 倒置表

时间限制: 1 Sec  内存限制: 128 MB
献花: 14  解决: 1
[献花][花圈]

题目描述

{ A1,A2,……}是一个排列的集合{ 1,2,n }。给定序列Aa1,a2,a3....an,如果i<jai>aj(ai,aj)称为序列A

一个倒置。

之后引出了序列的倒置表

例如:给出序列A 5,9,1,8,2,6,4,7,3

则其倒置表为:2 3 6 4 0 2 2 1 0

这里倒置表的第一个数据是2,则表示在序列A中与1形成倒置的有两个即:(5,1) (9,1),以此类推。。

也所以你的任务是将其倒置表的排列,或反之亦然,从一个反演表转换到相应的置换。

输入

输入包含多个测试用例。每个测试用例包含两行。

第一行包含一个整数(1 < = N < = 9)这表明置换/颠倒的元素数量表。                                                                  

第二行始于足下特征“P,这意味着接下来的N个整数形式排列,或“I,也就是说,接下来的N个整数形式一个倒置表。

以下是N个整数,用空格分开。输入终止行包含N = 0。

输出

对于每个输入输出一行隔一个空格.如果输入是一个排列,输出将相应的反演表;如果输入是一个反演表,你的输出将

会相应的置换。

样例输入

9
P 5 9 1 8 2 6 4 7 3
9
I 2 3 6 4 0 2 2 1 0
0

样例输出

2 3 6 4 0 2 2 1 0
5 9 1 8 2 6 4 7 3

提示

来源

[献花][花圈]