离散化

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

struct node
{
    int value;
    int no;
}arr[1000];

bool cmp(node x,node y)
{
    return x.value<y.value;
}
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&arr[i].value);
        arr[i].no=i;
    }
    sort(arr+1,arr+1+n,cmp);
    for(int i=1;i<=n;i++)
    {
        arr[arr[i].no].value=i;
    }
    for(int i=1;i<=n;i++)
        printf("%d ",arr[i].value);
    printf("\n");
    return 0;
}

  

posted @ 2013-01-31 22:16  wconvey  阅读(147)  评论(0编辑  收藏  举报