Fri Aug 31, 2012 10:25 pm
Admin ----------------------------
- Code:
Const fi='xau.inp'; fo='xau.out';
Var a1,b1:String;
f,g:text;
i:integer;
a,b:array[0..100] Of Integer;
Procedure doctep;
Var i,j:Integer;
Begin
Assign(f,fi);
reset(F);
Readln(f,a1);
Readln(f,b1);
Close(f);
Assign(g,fo);
Rewrite(G);
end;
Function max(n,m:Integer):Integer;
Begin
max:=n;
If max <m then max:=m;
End;
Procedure xuly;
Var n,m,i,j:Integer;
Begin
Fillchar(a,sizeof(a),0);
Fillchar(b,sizeof(b),0);
n:=length(a1);m:=length(b1);
For i:=1 to n do
Begin
For j:=1 to m do
If a1[i]=b1[j] then b[j]:=a[j-1]+1
else If a1[i]<>b1[j] then b[j]:=max(a[j],b[j-1]);
a:=b;
End;
End;
Begin
doctep;
xuly;
Writeln(g,a[length(b1)]:3);
Close(g);
End.