/*
先排序,然后用序号来代替
*/
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int value;
int pos;
}a[100];
bool cmp(node a,node b)
{
return a.value<b.value;
}
int main()
{
int b[100];
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].value);
a[i].pos=i;
}
sort(a+1,a+1+n,cmp);
int id=1;
for(int i=1;i<=n;i++)
{
//b[a[i].pos]=
if(i!=1 && a[i].value!=a[i-1].value)
id++;
b[a[i].pos]=id;
}
for(int i=1;i<=id;i++)
printf("%d",b[i]);
}
}
简单的一种离散化
最新推荐文章于 2023-11-27 22:30:34 发布