[NOIP2006]明明的随机数
第一天开始刷题,难度还是有的,磨了2个小时,写了三个题,这次先写一个最简单的题的题解。
#include <bits/stdc++.h>
using namespace std;
int n;
int a[101], b[101];
int main(){
cin >> n;
int cnt=0;
for(int i=0; i<n; i++){
cin >> a[i];
}
sort(a, a+n);
for(int i=0; i<n; i++){
if(a[i] !=a [i+1]){
b[cnt] = a[i];
cnt++;
}
}
cout << cnt <<endl;;
for(int i=0; i<cnt; i++){
cout << b[i] << " ";
}
return 0;
}
简而言之,思路就是先排序,再去重。
出错了两次:
1.输出cnt的时候忘了换行
2.最后输出数组的时候,边界是i=cnt,我一开始写成了i=n。