#1 Mine_浅蓝@2010-04-08 03:42:00
14357
回复
删除
SOFA!!!!
var a,b:array [1..10002] of longint;
i,j,n,m,x,y,t,min:longint;
procedure swap(var x,y:longint);
begin t:=x; x:=y; y:=t; end;
begin
readln(n); readln(m);
for i:=1 to n do read(a[i]);
for i:=1 to m do begin
x:=n-1; min:=maxlongint;
while a[x]>a[x+1] do dec(x);
for j:=x+1 to n do
if (a[j]>a[x]) and (a[j]<min) then begin
min:=a[j];
y:=j;
end;
swap(a[x],a[y]);
for j:=x+1 to n do
begin
b[n-j+x+1]:=a[j];
end;
for j:=x+1 to n do
begin
a[j]:=b[j];
end;
end;
for i:=1 to n-1 do write(a[i],' '); write(a[n]);
end.
#2 Mine_ysd@2010-04-08 03:46:00
14358
回复
删除
周诚驰
靠,这么简单的题目周诚驰都不会?就是~~~交换排序几次..............
fdd,你是那个网上找的?