ARRAY[0..100,0..100] OF BYTE; IF (S1[I] = S2[J]) AND (A[I,J] = A[...

Bài 2:

Var a:array[0..100,0..100] of byte;

If (s1[i] = s2[j]) and (a[i,j] = a[i-1,j-1]+ 1) then

s1,s2,s3,s4:string;

Begin

s3:=s1[i]+s3;

i,j:byte;

dec(j); dec(i);

Begin

s1:='121212qqw12121212';

End else

s2:='121wer21212121212';

If a[i,j] = a[i-1,j] then dec(i) else dec(j);

s3:='';

End;

Until (i*j=0);

For i:=0 to length(s1) do

s4:='';

a[0,i]:=0;

For i:=1 to length(s3) do

For i:=1 to length(s2) do

Begin

a[i,0]:=0;

s4:=s4+ copy(s1,1,pos(s3[i],s1)-1);

For i:=1 to length(s1) do

For j:=1 to length(s2) do

delete(s1,1,pos(s3[i],s1));

Begin

s4:=s4+ copy(s2,1,pos(s3[i],s2)-1);

delete(s2,1,pos(s3[i],s2));

If s1[i]=s2[j] then a[i,j]:= a[i-1,j-1]+1 else

If a[i-1,j]>a[i,j-1] then a[i,j]:= a[i-1,j]

s4:=s4+s3[i];

End;

Else a[i,j]:= a[i,j-1];

End;

s4:=s4+s1+s2;

i:= length(s1);

Write(s4);

j:= length(s2);

Readln;

end.

Repeat

Begin