zoukankan      html  css  js  c++  java
  • 【牛客-16643】统计数字(简单排序)

    统计数字


    题目描述:

    某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
    输入描述:
    第1行是整数n,表示自然数的个数。
    第2~n+1行每行一个自然数。输出描述:输出m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

    输入
    8
    2
    4
    2
    4
    5
    100
    2
    100
    输出
    2 3
    4 2
    5 1
    100 2

    备注:

    40%的数据满足:1 ≤ n ≤ 1000
    80%的数据满足:1 ≤ n ≤ 50000
    100%的数据满足:1 ≤ n ≤ 200000,每个数均不超过1500000000(1.5*10^9)

    题目链接:

    https://ac.nowcoder.com/acm/problem/16643(先注册)

    一开始想着用a[10005]存自然数,b[a[i]]存每个自然数的个数,但是总是不能通过,就换成map<ll,ll>了

    AC代码

    #include <iostream>
    #include <cstdio>
    #include <fstream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstring>
    #include <map>
    #include <stack>
    #include <set>
    #include <numeric>
    const int INF=0x3f3f3f;//无穷大
    using namespace std;
    typedef long long ll;
    map<ll, ll>num;
    int main()
    {
        ll n;
        cin >>n;
        while(n--)
        {
            ll x;
            cin >>x;
            num[x]++;
        }
        for(map<ll,ll>::iterator it=num.begin(); it!=num.end(); it++)//遍历map
            cout<<it->first<< " " <<it->second << endl;
        return 0;
    }
  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/sky-stars/p/10951823.html
Copyright © 2011-2022 走看看