• P1059 明明的随机数【去重排序】


    题目描述

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

    输入输出格式

    输入格式:

    输入有2行,第1行为1个正整数,表示所生成的随机数的个数:

    N 第2行有N个用空格隔开的正整数,为所产生的随机数。

    输出格式:

    输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

    输入输出样例

    输入样例#1: 复制
      10
      20 40 32 67 40 20 89 300 400 15
    
    输出样例#1: 复制
      8
      15 20 32 40 67 89 300 400
    

    说明

    NOIP 2006 普及组 第一题

    【代码】:

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        int n,a[1005];
        set<int> s;    //自带排序+去重
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            s.insert(a[i]);
        }
    
        cout<<s.size()<<endl;
        for(set<int>::iterator it = s.begin();it!=s.end();it++)//注意遍历使用迭代器
        {
            cout<<*it<<" ";
        }
        cout<<endl;
        return 0;
    }
    
    /*
    10
    20 40 32 67 40 20 89 300 400 15
     */
    View Code
  • 相关阅读:
    centos安装字体
    【C++ Primer | 15】访问控制与继承、继承中的类作用域
    树与二叉树 | 哈夫曼树
    【C++ Primer | 10】泛型算法
    【APUE | 03】文件I/O
    二叉树
    图论算法
    【深度探索C++对象模型 | 02】构造函数语意学
    【APUE | 08】进程控制
    c++重点理解
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7731709.html
Copyright © 2020-2023  润新知