统计数字

    xiaoxiao2023-11-27  141

    题目描述

    某次科研调查时得到了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

    code

    #include<bits/stdc++.h> using namespace std; const int MAXN=200000+5; const int l=10001; int main() { int n,a[MAXN],i; cin>>n; for(int i=0; i<n; i++) cin>>a[i]; sort(a,a+n); int b[l][2]={0}; int last_number=-1,h=0; for( i=0;i<n;i++) { if(a[i] != last_number) { b[h][0] =a[i]; b[h][1]=1; last_number =a[i]; h++; } else { b[h-1][1]+=1; } } for(int j=0;j<h;j++) { cout<<b[j][0]<<" "<<b[j][1]<<endl; } }

     

    最新回复(0)