Algorithm 版 (精华区)
发信人: Lerry (戒网·学习), 信区: Algorithm
标 题: [合集]My Answer for P49
发信站: 哈工大紫丁香 (2001年12月22日23:25:17 星期六), 站内信件
────────────────────────────────────────
sino (一层秋雨一层凉) 于 2001年12月04日21:48:28 星期二 说道:
var s:array[0..3000] of string;
t:array[0..3000] of string;
i,n:integer;
procedure qsort(a,b:integer);
var
i,j,c:integer;
t:string;
begin
if a>=b then exit;
c:=random(b-a)+a;
t:=s[c];
s[c]:=s[b];
s[b]:='}zzzzzz';
i:=a;
j:=b;
while i<j do begin
while s[i]<=t do inc(i);
s[j]:=s[i];s[i]:=' ';
while s[j]>=t do dec(j);
s[i]:=s[j];s[j]:='}zzzzzz';
end;
s[j]:=t;
qsort(a,j-1);
qsort(j+1,b);
end;
begin
assign(input,'input17.txt');reset(input);
assign(output,'output17.txt');rewrite(output);
readln(n);
setlength(s[0],n);
for i:=1 to n do begin
read(s[0,i]);
if s[0,i]=chr(13) then read(s[0,i]);
if s[0,i]=chr(10) then read(s[0,i]);
end;
for i:=1 to n-1 do s[i]:=copy(s[0],i+1,n-i)+copy(s[0],1,i);
for i:=0 to n-1 do t[i]:=s[i];
qsort(0,n-1);
for i:=0 to n-1 do if s[i]=t[1] then break;
writeln(i);
for i:=0 to n-1 do write(s[i,n]);
end.
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.637毫秒