| 
 | 
back to boardHELP WA6 Posted by  +FAMAS+ 14 Jan 2006 03:16 type str = string; var   a:array[1..500] of str;   i,j,n,t,p,f,l:integer;   s:str; function sort(t1,t2:integer):boolean; var i,n:integer; begin i:=0; sort:=false; if length(a[t1])>length(a[t2]) then n:=length(a[t2]) else n:=length(a[t1]); while i<n  do    begin    inc(i);    if ((a[t1][i]>a[t2][i]) and ((a[t1][i]<>'\') and (a[t2][i]<>'\')))    or ((a[t2][i]='\') and (a[t1][i]<>'\')) then         begin           s:=a[t1];           a[t1]:=a[t2];           a[t2]:=s;           i:=n;           sort:=true;         end else    if (a[t1][i]<a[t2][i]) or ((a[t1][i]='\') and (a[t2][i]<>'\')) then i:=n    end; end; procedure kor(k:str; z:integer); var i:integer; begin    t:=1;    for i:=1 to length(k) do    if k[i]='\' then      begin       s:=copy(k,t,i-t);       t:=i+1;       writeln(s:(length(s)+z));       inc(z);      end; end; begin {   assign(input,'c:\test.txt'); reset(input);}    readln(n);    for i:=1 to n do begin readln(a[i]); a[i]:=a[i]+'\'; end;    i:=0;    while i<n-1 do    begin     inc(i);     if sort(i,i+1) then i:=0;    end;    kor(a[1],0);    for i:=2 to n do      begin        t:=0; f:=0;        if length(a[i-1])<length(a[i]) then l:=length(a[i]) else l:=length(a[i-1]);        for j:=1 to l do          if a[i][j]<>a[i-1][j] then break          else if a[i][j]='\' then begin t:=j; inc(f); end;        s:=a[i];        if t=0 then kor(s,t) else begin  delete(s,1,t); kor(s,f); end;      end;  {  close(input);} end.   and if i change str = string => str = string[90] i have wa5?!!!! i have AC:) Posted by  +FAMAS+ 14 Jan 2006 03:47 but and if i change str = string => str = string[90] i have wa5?!!!!  |  
  | 
|