[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。

posted @ 2023-04-10 22:17  XnobodyT  阅读(33)  评论(0)    收藏  举报