专栏文章

题解:P1059 [NOIP2006 普及组] 明明的随机数

P1059题解参与者 3已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@miqi6dgc
此快照首次捕获于
2025/12/04 05:12
3 个月前
此快照最后确认于
2025/12/04 05:12
3 个月前
查看原文

做题思路

这题又让我们排序,又让我们去重,考虑到数字大小不超过一千,我们可以开个桶数组 cntcntcnticnt_i 表示数字 ii 在序列中出现的个数,然后遍历桶,如果发现 cnti>0cnt_i>0,记录答案。
code:
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,count[1005]={0},tf[1005]={0},tmp,sum=0;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>tmp;
        if(tf[tmp]==0){
            count[tmp]++;
            tf[tmp]=1;
        }    
    }
    for(int i=0;i<1005;i++)if(tf[i]>0)sum++;
    printf("%d\n",sum);
    for(int i=0;i<1005;i++)if(count[i]>0)printf("%d ",i);
    return 0;
}

评论

3 条评论,欢迎与作者交流。

正在加载评论...