• Vijos P1816 统计数字【序列处理】


    描述

    某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

    格式

    输入格式

    第1行是整数n(1<=n<=200000),表示自然数的个数。

    第2~n+1行每行一个自然数。

    输出格式

    输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

    样例1

    样例输入1

    8 
    2 
    4 
    2 
    4 
    5 
    100 
    2 
    100
    
    

    样例输出1

    2 3 
    4 2 
    5 1 
    100 2 
    
    

    限制

    每个测试点1s。

    来源

    NOIP2007提高组


    问题链接 Vijos P1816 统计数字

    问题分析

    这是一个简单的统计计算问题。

    构建map变量进行统计是一个比较简单的做法。

    程序说明

    (略)

    题记

    STL中的一下容器真是好东西。


    参考链接CCF201312-1 出现次数最多的数(100分)


    AC的C++程序如下:

    #include <iostream>
    #include <map>
    
    using namespace std;
    
    int main()
    {
        map<int, int> m;
        int n, v;
    
        // 输入数据,构建Map
        cin >> n;
        while(n--) {
            cin >> v;
            m[v]++;
        }
    
        // 输出结果
        for(map<int,int>::iterator it=m.begin(); it!=m.end(); it++)
            cout << it->first << " " << it->second << endl;
    
        return 0;
    }







  • 相关阅读:
    udev 禁止某些驱动自动加载
    AT91SAM9XEK ramdisk 启动笔记
    MTD 工具使用
    kmp问题
    野指针 空指针 通用指针
    manacher算法实现
    manacher算法
    strcpy和strlen
    冒泡排序
    C++的重载(overload)与重写(override
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563820.html
Copyright © 2020-2023  润新知