Cod sursa(job #57847)

Utilizator gozmanGrosu Andrei Nicolae gozman Data 3 mai 2007 10:59:00
Problema Subsir Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.23 kb
program nr_sub_c;
var  l,l1,s,s1:array[0..500] of word;
    v,y:array[1..500] of char;
    n,m,i,j,k:word;
    f:text;
    ok:boolean;
    begin
    assign(f,'subsir.in'); reset(f);
    i:=0;
    while not(eoln(f)) do
    begin
         i:=i+1;
         read(f,v[i]);
   end;
   m:=i; readln(f); j:=0;
   while not(eoln(f)) do
   begin
        j:=j+1;
        read(f,y[j]);
   end;
   n:=j; close(f);
   for i:= 1 to m do
   begin
   s[0]:=s1[n];  ok:=true;
   for j:= 1 to n do
        if v[i]=y[j] then
                     begin
                         l[j]:=l1[j-1]+1;
                        if i=1 then s[j]:=s[j-1]+1
                               else if ok then s[j]:=s1[j-1]
                                          else s[j]:=s1[j-1]+s[j-1];
                        ok:=false;
                     end
                     else
                     begin
                          if l[j]<l1[j] then l[j]:=l1[j];
                          if l[j]<l[j-1] then l[j]:=l[j-1];
                          s[j]:=s[j-1];
                    end;
  s1:=s;
  l1:=l;
  for k:=0 to n do
  begin
       s[k]:=0;
       l[k]:=0;
  end;
   end;
   assign(f,'subsir.out'); rewrite(f);
writeln(f,s1[n]);
close(f);
end.