切换到宽版
  • 14466阅读
  • 17回复

[在线等]关于04年合并果子的问题,请问我的程序有甚么问题 [复制链接]

上一主题 下一主题
离线水的味道
只看该作者 10 发表于: 2006-11-16
维护一个堆
离线408423211
只看该作者 11 发表于: 2006-11-16
我不是很会,但觉得冒泡排序是不是更好,排的同时算
离线dog_yj
只看该作者 12 发表于: 2006-11-26
基数排序或者Heap....
离线ybb
只看该作者 13 发表于: 2006-11-27
引用第8楼zhuang2006-11-14 20:12发表的:
我写了个,用快排和插排,速度也过得去.
program fruit;
var a:array[0..10000] of longint;
  f:text;
.......

给你300000的数据 还能过吗?
离线雨中浪子
只看该作者 14 发表于: 2006-11-27
我用C编的,你也可以看看
#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"

FILE *fp;
int n,a[101],i,j,k,t=0,f=1,q,s;

in()
{fp=fopen("hebingguozi.in","r");
fscanf(fp,"%d",&n);
for(i=1;i<=n;i++)
fscanf(fp,"%d",&a);
fclose(fp);
}
out()
{fp=fopen("hebingguozi.out","w");
fprintf(fp,"%d",t);
fclose(fp);
}

main()
{in();
for(i=2;i<=n;i++)
{for(j=1;j<i;j++)
{if(a<a[j])
  {q=a;
  for(k=i;k>j;k--)
  a[k]=a[k-1];
  a[k]=q;
  }  
}
}
for(s=1;s<n;s++)
{a[1]=a[1]+a[2];
t=t+a[1];
for(i=2;i<n;i++)
  a=a[i+1];
a[n-s+1]=10000;
for(j=1;j<i;j++)
{if(a[1]>a[j]&&a[1]<=a[j+1])
  {q=a[1];
  for(k=1;k<j;k++)
  a[k]=a[k+1];
  a[k]=q;
  }
}
}
out();  
}
离线hy6210cs
只看该作者 15 发表于: 2007-02-04
8楼的好凶呀
离线hy6210cs
只看该作者 16 发表于: 2007-02-04
9楼的~是不是从3医院跑出来的~太嚣张了~~~~```严重鄙视你~~~~~~~~~~~~~~~
离线hy6210cs
只看该作者 17 发表于: 2007-02-14
我的头都有点晕了~~~~
快速回复
限100 字节
 
上一个 下一个