讨论 / 为什么不对,大牛看看
wjzzm 2008-11-26 06:40:00
点我顶贴 收藏 删除
测试结果1: 通过本测试点|有效耗时172:ms

测试结果2: 通过本测试点|有效耗时63:ms

测试结果3: 通过本测试点|有效耗时63:ms

测试结果4: 通过本测试点|有效耗时47:ms

测试结果5: 测试结果错误.错误结果为:21 29 24 53 60 15 92 61

正确结果应为:21 29 24 53 60 15 7 61

测试结果6: 运行错误|普通保护错误

测试结果7: 运行错误|普通保护错误

测试结果8: 运行错误|普通保护错误

测试结果9: 运行错误|普通保护错误

测试结果10: 运行错误|普通保护错误

提交代码: program s1;

var a:array[1..10000,1..2]of longint;

e:array[1..10]of integer;

i,j,k,o,l,n,m:longint;

begin

read(n,k);

for i:=1 to 10 do read(e[i]);

readln;

for i:=1 to n do

begin

a[i,1]:=i;

read(a[i,2]);

end;

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i,2]<a[j,2] then

begin

l:=a[i,1];

a[i,1]:=a[j,1];

a[j,1]:=l;

l:=a[i,2];

a[i,2]:=a[j,2];

a[j,2]:=l;

end;

for i:=1 to n do a[i,2]:=a[i,2]+e[(i-1) mod 10+1];

for i:=1 to n-1 do

for j:=i+1 to n do

if (a[i,2]<a[j,2]) or ((a[i,2]=a[j,2]) and (a[j,1]<a[i,1])) then

begin

l:=a[i,2];

a[i,2]:=a[j,2];

a[j,2]:=l;

l:=a[i,1];

a[i,1]:=a[j,1];

a[j,1]:=l;

end;

for i:=1 to k-1 do write(a[i,1],’ ’);

write(a[k,1]);

end.

#1 sonic016@2008-11-25 23:09:00
回复 删除
冒泡能过就奇怪了……

没学过QSORT?

#2 shuizilong96@2008-11-26 06:40:00
回复 删除
好像连排序都错了。。。
查看更多回复
提交回复