正文

Permutation Recovery2007-09-02 21:04:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lingdlz/29072.html

分享到:

Permutation Recovery
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Problem description

Professor Permula gave a number of permutations of the n integers 1, 2, ..., n to her students. For each integer i (1 <= i <= n), she asks the students to write down the number of integers greater than i that appears before i in the given permutation. This number is denoted ai. For example, if n = 8 and the permutation is 2,7,3,5,4,1,8,6, then a1 = 5 because there are 5 numbers (2, 7, 3, 5, 4) greater than 1 appearing before it. Similarly, a4 = 2 because there are 2 numbers (7, 5) greater than 4 appearing before it.

John, one of the students in the class, is studying for the final exams now. He found out that he has lost the assignment questions. He only has the answers (the ai's) but not the original permutation. Can you help him determine the original permutation, so he can review how to obtain the answers?



Input
The input consists of a number of test cases. Each test case starts with a line containing the integer n (n <= 500). The next n lines give the values of a1, ..., an. The input ends with n = 0.

Output
For each test case, print a line specifying the original permutation. Adjacent elements of a permutation should be separated by a comma. Note that some cases may require you to print lines containing more than 80 characters.

Sample Input
8
5
0
1
2
1
2
0
0
10
9
8
7
6
5
4
3
2
1
0
0
Sample Output
2,7,3,5,4,1,8,6
10,9,8,7,6,5,4,3,2,1

/////  博客上没有东西,随便传一点,简单题耶 !!!!

#include <stdio.h>
int a[500],b[500],c[500];
int main(){
    int n,i,j;
    while(scanf("%d",&n) && n){
        for(i=0; i<n; i++){
            scanf("%d",&b[i]);
            c[i] = i;
        }
        for(i=0; i<n; i++){
            a[ c[b[i]] ]=i+1;
            for(j=b[i]; j<n-i; j++)
                c[j] = c[j+1];
        }
        for(j=0,n--; j<n; j++)
            printf("%d,",a[j]);
        printf("%d\n",a[j]);
    }
    return 0; 
}

 

阅读(2943) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册