切换到宽版
  • 7884阅读
  • 6回复

NOIP2007第一题 [复制链接]

上一主题 下一主题
离线dai2012
 
只看楼主 正序阅读 0 发表于: 2007-11-21
这破题看起来好简单啊  为啥我只过1个点呢  分析一下  最好那为高手帮小弟把这题标答给做一下  谢谢!!!  这是我的程序
var f1,f2:text;
a,b:array[1..10000] of longint;
n,i,j,p:integer;
procedure read;
begin
assign(f1,'count.in');
reset(f1);
readln(f1,n);
for i:=1 to n do begin
readln(f1,a);
end;
close(f1);
end;
procedure quchong;
begin
for i:=1 to n do b:=1;
for i:=1 to n do begin
for j:=1 to n do begin
if (a=a[j])and(i<>j) then begin
b:=b+1;
a[j]:=0;
end;
end;
end;
end;
procedure paixu;
begin
for i:=1 to n do begin
for j:=i to n do begin
if a>a[j] then begin
p:=a;a:=a[j];a[j]:=p;
p:=b;b:=b[j];b[j]:=p;
end;
end;
end;
end;
procedure shuchu;
begin
assign(f2,'count.out');
rewrite(f2);
for i:=1 to n do begin
if a<>0 then writeln(f2,a,'  ',b);
end;
close(f2);
end;
begin
read;
quchong;
paixu;
shuchu;
end.
离线撇去浮华
只看该作者 6 发表于: 2007-11-24
我用的堆排
离线syc_pascal
只看该作者 5 发表于: 2007-11-24
回 4楼(liuzhijian) 的帖子
还有,楼主是提高组的,不是普及组的...
I KNOW I CAN!
你行,我也行!
你傻,我不傻!
全面落实社会主义骗分观,学习三个代表的成功骗分精神!
离线syc_pascal
只看该作者 4 发表于: 2007-11-24
从网上拉的拉...
I KNOW I CAN!
你行,我也行!
你傻,我不傻!
全面落实社会主义骗分观,学习三个代表的成功骗分精神!
离线bob
只看该作者 3 发表于: 2007-11-23
数据很大啦,得快排
离线syc_pascal
只看该作者 2 发表于: 2007-11-23
快排好啊,估计有人会用冒泡+不优化...
那样的话....
I KNOW I CAN!
你行,我也行!
你傻,我不傻!
全面落实社会主义骗分观,学习三个代表的成功骗分精神!
离线风乐火
只看该作者 1 发表于: 2007-11-22
我是学c的……
这提不是用 快排 吗?
我试过,快排1000000都能1s过
快速回复
限100 字节
 
上一个 下一个