简单,不解释: { Author:wzx961008 Problem:UVa 299-Train Swapping Verdict:Accepted Language:PASCAL Run Time:0.012s Submission Date:2011-01-14 04:46:24 } var i,j,n,t,ans:longint; a:array[1..51]of longint; procedure swap(var a,b:longint); var t:longint; begin t:=a; a:=b; b:=t; end; begin readln(t); for t:=1 to t do begin readln(n); ans:=0; for i:=1 to n do read(a[i]); for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin swap(a[i],a[j]); inc(ans); end; writeln('Optimal train swapping takes ',ans,' swaps.'); end; end.