• nyoj 255-C小加 之 随机数 (map)


    255-C小加 之 随机数


    内存限制:64MB 时间限制:3000ms 特判: No
    通过数:15 提交数:18 难度:1

    题目描述:

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

    输入描述:

    第一行输入整数T(1<T<10)表示多少组测试数据,
    每组测试数据包括2行,
    第1行为1个正整数,表示所生成的随机数的个数:N(0<N≤100)
    第2行有N个用空格隔开的正整数,为所产生的随机数。
    (随机数为题目给定的,不需要ACMer生成)

    输出描述:

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

    样例输入:

    1
    10
    20 40 32 67 40 20 89 300 400 15

    样例输出:

    8
    15 20 32 40 67 89 300 400

    C/C++  AC:

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <cmath>
     6 #include <stack>
     7 #include <set>
     8 #include <map>
     9 #include <queue>
    10 #include <climits>
    11 
    12 using namespace std;
    13 int n;
    14 
    15 int main()
    16 {
    17     cin >>n;
    18     while (n --)
    19     {
    20         int m, ans;
    21         scanf("%d", &m);
    22         ans = m;
    23         map <int, int> my_map;
    24         map <int, int> ::iterator iter;
    25         pair <map <int, int> ::iterator, bool> pr;
    26         while (m --)
    27         {
    28             int temp;
    29             scanf("%d", &temp);
    30             pr = my_map.insert(pair<int, int>(temp, 0));
    31             if (!pr.second)
    32                 ans --;
    33         }
    34         cout <<ans <<endl;
    35         for (iter = my_map.begin(); iter != my_map.end(); ++ iter)
    36             printf("%d ", *iter);
    37         cout <<endl;
    38     }
    39 }
  • 相关阅读:
    刚装的vs无法运行正确的程序
    选择正确的C/C++ runtime library
    【转】how can i build fast
    【转】关于增量链接(incremental linking)
    VS升级后的配置问题
    获得system32等系统文件权限
    Java Web总结二十三发送邮件
    Java Web总结二十二投票系统
    Java Web总结二十一Listener监听器
    Java Web总结二十Filter、装饰设计模式
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/9334670.html
Copyright © 2020-2023  润新知