统计数字

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:35:42
Description

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

Input

输入包含n+1行;
第一行是整数n,表示自然数的个数;
第2至n+1每行一个自然数。

Output

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

Sample Input

8
2
4
2
4
5
100
2
100

Sample Output

2 3
4 2
5 1
100 2

我的程序是:
#include <stdio.h>
__int64 s[10001];
__int64 x[10001],y[10001];
int main()
{

__int64 n,m,max,l,i,j,k,t,h;
scanf("%I64d",&n);
if(n==0) return 0;
else
{scanf("%I64d",&s[0]);
x[0]=s[0];
y[0]=1;
m=1;
for(i=1;i<n;i++)
{
scanf("%I64d",&s[i]);
for(j=0;j<m;j++)
if(s[i]==x[j])

冒泡必定超时.....
错在哪方面啊??
是WA ,还是超时,还是输出格式错误?
一般runtime error是因为内存问题,可能是内存不够,也可能是因为指针越界问题。你的程序很可能是因为内存调用问题。比如用递归写组合数,数一大就会出现中途异常。
你改进一下算法吧

我运行了一下是可以的啊?你是指哪里错了啊?请指出来!