讨论 / 大牛看看哪错了
dingming 2013-01-27 19:55:00
点我顶贴 收藏 删除
测试结果1: 通过本测试点|有效耗时172:ms

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

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

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

测试结果5: 测试结果错误.错误结果为:66 276

101 270

88 270

19 270

93 267

正确结果应为:66 276

88 270

19 270

101 270

93 267

测试结果6: 通过本测试点|有效耗时156:ms

测试结果7: 测试结果错误.错误结果为:130 292

45 292

10 292

171 276

143 276

正确结果应为:10 292

45 292

130 292

171 276

143 276

测试结果8: 测试结果错误.错误结果为:93 280

13 280

26 275

136 273

140 271

正确结果应为:13 280

93 280

26 275

136 273

140 271

测试结果9: 通过本测试点|有效耗时156:ms

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

提交代码: var n,i,j,k:integer;

a,b,c,d,s:array[1..1000]of integer;

begin

readln(n);

for i:=1 to n do

begin

readln(a[i],b[i],c[i]);

s[i]:=a[i]+b[i]+c[i];

d[i]:=i;

end;

for i:=1 to n-1 do

for j:=i+1 to n do

begin

if s[i]<s[j] then begin k:=s[i];s[i]:=s[j];s[j]:=k;k:=d[i];d[i]:=d[j];d[j]:=k;end;

if s[i]=s[j] then if a[i]<a[j] then begin k:=s[i];s[i]:=s[j];s[j]:=k;k:=d[i];d[i]:=d[j];d[j]:=k;end;

if (s[i]=s[j])and(a[i]=a[j]) then if d[i]>d[j] then begin k:=s[i];s[i]:=s[j];s[j]:=k;k:=d[i];d[i]:=d[j];d[j]:=k;end;

end;

for i:=1 to 5 do

writeln(d[i],’ ’,s[i]);

end.

#1 a380599812@2008-11-09 01:37:00
回复 删除
号码交换出问题了...
#2 987654321@2009-05-01 01:20:00
回复 删除
总分同的话看语文,语文还同就输出学号小的

#3 zzjnmg@2009-10-02 18:34:00
回复 删除
应是交换的问题

#4 nxy-2@2013-01-27 19:55:00
回复 删除
交换有错
查看更多回复
提交回复