V587呵呵 2016-08-18 13:15 采纳率: 0%
浏览 1073

统计数字cpp求解为什么崩了

#include
#include
#include
#include
#include
using namespace std;
string a[200001];
long long b[200001]={0},ttime=0;
string v;
long long x;
long long n;
int u;
int main()
{
scanf("%d",&n);
cin>>a[1];
b[1]++;
for(int i=2;i<=n;i++)
{
cin>>a[i];
for(int j=1;j<=n;j++)
{
u=0;
for(int k=1;k<=n;k++)
{
if(a[i]==a[j] && i!=j){b[j]++;u=1;}
if(a[i]==a[j] && i!=j)break;
}
}
if(u!=1)b[i]++;
}
for(int i=1;i<=n;i++)
{
if(b[i]>=0)cout<<a[i]<<" "<<b[i]<<endl;
/*ttime++;
if(ttime%2==0)i+=2;加上这玩也对一分*/
}
return 0;
}
目描述
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

输入
输入文件count.in包含n+1行;
第一行是整数n,表示自然数的个数;
第2~n+1每行一个自然数。

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

  • 写回答

2条回答 默认 最新

  • cqbzcsq 2016-08-18 13:23
    关注

    是答案错误,还是超时?

    #include
    #include
    using namespace std;
    int main()
    {
    freopen("count.in","r",stdin);
    freopen("count.out","w",stdout);//freopen的输入输出
    int a[200005],n,i,x=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
    sort(a+1,a+n+1);
    a[n+1]=1500000099;
    for(i=1;i<=n;i++){
    if(a[i+1]>a[i]){
    printf("%d %d\n",a[i],x+1);
    x=0;
    }
    else
    x++;
    }
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?