Cod sursa(job #21734)

Utilizator FilipCatalinCatalin Filip FilipCatalin Data 24 februarie 2007 10:03:59
Problema ADN Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.67 kb
program adn;
type vec=array[1..18]of string;
     vec1=array[1..18]of boolean;
var a:vec;
    v:vec1;
    n:integer;
procedure citire(var n:integer; var a:vec);
          var f:text;
              i:integer;
          begin
          assign(f,'adn.in');reset(f);
          readln(f,n);
          for i:=1 to n do readln(f,a[i]);
          close(f);
          end;

procedure ordonare(var a:vec);
          var i:integer;
              s:string;
              ok:boolean;
          begin
          repeat ok:=true;
          for i:=1 to n-1 do if length(a[i])<length(a[i+1]) then begin s:=a[i];
                                                                       a[i]:=a[i+1];
                                                                       a[i+1]:=s;
                                                                       ok:=false;
                                                                 end;
          until ok;
          end;

procedure go;
          var sol:string;
              i,j,x,y:integer;
              sv,st:string;
              ok:boolean;
              f:text;
          begin
          sol:=a[1];
          for i:=2 to n do begin
          x:=0;
          repeat ok:=true;
          x:=x+1;
          sv:='';
          for j:=1 to x do sv:=sv+a[i][j];
          y:=pos(sv,sol);
          if y=0 then ok:=false;
          until (not ok) or (x=length(a[i]));
          if not ok then begin x:=x-1;
          for j:=x to length(a[i]) do sol:=sol+a[i][j]; end;
          end;
          assign(f,'adn.out');rewrite(f);
          writeln(f,sol);
          close(f);
          end;
begin
citire(n,a);
ordonare(a);
go;
end.