• nyoj 48-小明的调查作业(set)


    48-小明的调查作业


    内存限制:64MB 时间限制:1000ms Special Judge: No
    accepted:15 submit:29

    题目描述:

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

    输入描述:

    输入有2行,第1行为1个正整数,表示所生成的随机数的个数:
    N
    第2行有N个用空格隔开的正整数,为所产生的随机数。

    输出描述:

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

    样例输入:

    10
    20 40 32 67 40 20 89 300 400 15

    样例输出:

    8
    15 20 32 40 67 89 300 400

    分析:
      利用set的去重、排序特性直接解决问题

    核心代码:
      
     1 set <int> my_set;
     2 pair <set<int>::iterator, bool> pr;
     3 set <int> :: iterator iter;
     4 for(int i = 0; i < t; ++ i)
     5 {
     6     scanf("%d", &temp);
     7     pr = my_set.insert(temp);
     8     if(!temp) cnt ++;
     9 }
    10 for(iter = my_set.begin(); iter != my_set.end(); ++ iter)
    11     printf("%d ", *iter);

    C/C++代码实现(AC):

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <cmath>
     6 #include <stack>
     7 #include <map>
     8 #include <queue>
     9 #include <set>
    10 
    11 using namespace std;
    12 const int MAXN = 1010;
    13 
    14 int main()
    15 {
    16 
    17     int t, temp, i, cnt = 0;
    18     scanf("%d", &t);
    19     set <int> my_set;
    20     set <int> ::iterator iter;
    21     pair <set<int>::iterator, bool> pr;
    22     for(int i = 0; i < t; ++ i)
    23     {
    24         scanf("%d", &temp);
    25         pr = my_set.insert(temp);
    26         if (!pr.second) cnt ++;
    27     }
    28     printf("%d
    ", t - cnt);
    29     for(iter = my_set.begin(); iter != my_set.end(); ++ iter, ++ i)
    30         if(i == my_set.size() - 1)
    31             printf("%d
    ", *iter);
    32         else
    33             printf("%d ", *iter);
    34     return 0;
    35 }
    
    
  • 相关阅读:
    10多媒体
    胡凡-01
    概念
    算法
    07Axios
    05VueCli
    04Vue.js路由系统
    03生命周期
    《穷人思维》学习感悟
    《基金》学习感悟之二
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/9101887.html
Copyright © 2020-2023  润新知