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毫秒