讨论 / 一个大家可能忽略的问题(附有有AC代码)
烨毅 2011-07-07 22:53:00
点我顶贴 收藏 删除
最后一个测试数据没有问题,只是大家忽略了一种情况:

3

741 74 5

像这种情况,'741'明显大于'74',在排序的时候这里就会出现错误,原本最大的应是:747415,而忽略这点,直接排序的结果是:741745.

希望这对大家有所帮助!

下面是AC的代码:

var i,j,n:longint;

a:array[0..100] of longint;

b:array[0..100] of string;

m,t1,t2:string;

begin

readln(n);

for i:=1 to n do read(a[i]);

for i:=1 to n do str(a[i],b[i]);

for i:=1 to n do

for j:=1 to n do

if (b[i]>b[j]) then

begin

if (pos(b[j],b[i])<>0) then

begin

t1:=b[i]+b[j]; t2:=b[j]+b[i];

if (t1>t2) then begin m:=b[i]; b[i]:=b[j]; b[j]:=m; end;

end

else begin m:=b[i]; b[i]:=b[j]; b[j]:=m; end;

end;

for i:=1 to n do write(b[i]);

end.

#1 1150076053@2011-07-06 22:39:00
回复 删除
回复 楼主烨毅 的帖子

哪题啊?

#2 逍业@2011-07-07 22:53:00
回复 删除
574
查看更多回复
提交回复