当前位置:首页 > 题解目录 > 正文内容

【题解】统计自然数

亿万年的星光5年前 (2021-06-06)题解目录15032

【题目描述】

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

【输入描述】

        输入包含n+1行:         第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

【来源】NOIP2007年提高组

【题目分析】

  1.   桶排很难拿满分,数据太大了

  2. 可以先用sort排完之后再处理数据


【参考答案1】

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[200010],n,t=1;
int main() {
	scanf("%d",&n);
	for(int i=1; i<=n; i++) scanf("%d",&a[i]);
	sort(a+1,a+n+1);
	for(int i=1; i<=n+1; i++) {
		if(a[i]==a[i-1]) ++t;
		else if(i!=1) {
			printf("%d %d\n",a[i-1],t);
			t=1;
		}
	}
	return 0;
}

【参考答案2】

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int n,i,k,cnt=0,j;
int main()
{
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    sort(a,a+n);
    for(i=0;i<n;i++)
    {
        if(i==0)
        {
           j=a[i];
           cnt=1;
           continue;
        }
        if(j!=a[i])
        {
            cout<<j<<" "<<cnt<<endl;
            j=a[i];
            cnt=1;
        }
        else if(j==a[i])cnt++;
    }
    cout<<j<<" "<<cnt<<endl;
    return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解】区间和

1.区间和(sum.cpp)【描述】输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007【输入】第一行是一个整数Q后面的Q行每行有...

【题解】母牛的故事

【题解】母牛的故事

【题目描述】有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?【输入描述】输入数据由多个测试实例组成,每个测试实例占一行...

2021年青岛市程序设计竞赛试题(初中组)决赛

2021年青岛市程序设计竞赛试题(初中组)决赛

A.趣味三角(triangle.cpp) 【题目描述】 今天,新高一的OIer们第一次进入了机房。z老师想让他们喜欢上OI,于是给了他们每个人一个三角形。 这时候,小q秃发奇想,...

【题解】小X与机器人

【题解】小X与机器人

【题目描述】小X的老师很喜欢围棋。众所周知,围棋的棋盘有19行19列,共有361个交叉点。为方便起见,我们把这些行列按顺序编号为1~19,并用(x, y)表示第x列第y行的位置。例如下图中,A用(16...

【题解】电缆线(2019青岛市程序设计竞赛)

【问题描述】在郊区有N座通信基站,P条双向电缆,第 i 条电缆连接基站 A_i 和 B_i。特别地,1号基站是通信公司的总站,N号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i...

【题解】使每位学生都有座位的最少移动次数

【题目描述】一个房间里有 n 个 空闲 座位和 n 名 站着的 学生,房间用一个数轴表示。给你一个长度为 n&...