zoukankan      html  css  js  c++  java
  • 統計數字(2007年NOIP全国联赛提高组)

    题目描述 Description

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

    输入描述 Input Description

    第1行是整数n,表示自然数的个数。
    第2~n+1 行每行一个自然数。

    输出描述 Output Description

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

    样例输入 Sample Input

    8
    2
    4
    2
    4
    5
    100
    2
    100

    样例输出 Sample Output

    2 3
    4 2
    5 1
    100 2

    数据范围及提示 Data Size & Hint

    【限制】
    40%的数据满足:1<=n<=1000
    80%的数据满足:1<=n<=50000
    100%的数据满足:1<=n<=200000,每个数均不超过1 500 000 000(1.5*10^9)

    sort排序+map存出現次數。

    代碼展示:

    #include<map>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    long long n,a,b,s[300000];
    map <long long,int> ngs;
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
    cin>>a;
    if(!ngs[a]) s[++b]=a;
    ++ngs[a];
    }
    sort(s+1,s+b+1);
    for(int i=1;i<=b;i++)
    cout<<s[i]<<" "<<ngs[s[i]]<<endl;
    return 0;
    }

    此題甚水~

  • 相关阅读:
    各地电信运营商插广告赚钱,北京联通也不甘落后
    也谈Server Limit DOS的解决方案
    Still Believe
    无奈小虫何
    好朋有也有类别
    无为而治
    青鸟随想
    落寞时分
    网站开发学习路线和资料
    C++实例 添加快捷键表
  • 原文地址:https://www.cnblogs.com/J-william/p/6036009.html
Copyright © 2011-2022 走看看