[2006年NOIP普及组] 明明的随机数

题目要求去重+排序,而且每个数最大不超过1000,所以我们就可以直接使用桶排。由于要先输出个数,再输出每个数

#include<bits/stdc++.h>
using namespace std;
int m,n,a[2000];//定义一个桶
int main()
{
cin>>n;
int x;
for(int i=1;i<=n;i++)
{
cin>>x;
a[x]++;//进行桶排
}
for(int i=0;i<=1000;i++)
if(a[i]!=0) m++;//计算不相同的随机数的个数
cout<<m<<endl;//先输出个数
for(int i=0;i<=1000;i++)
if(a[i]!=0) cout<<i<<" ";//输出排好序的不相同的随机数
return 0;
}

posted @ 2022-08-13 15:29  zjtofficial  阅读(55)  评论(0编辑  收藏  举报