Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var s1,s2,kq:string;
- a:array[0..1000,0..1000] of longint;
- i,j:longint;
- function max(x,y:longint):longint;
- begin
- if x>y then exit(x) else exit(y);
- end;
- begin
- clrscr;
- readln(s1); readln(s2);
- kq:='';
- {nap cong thuc}
- for i:=0 to length(s1) do a[i,j]:=0;
- for i:=1 to length(s1) do
- for j:=1 to length(s2) do
- if s1[i]=s2[j] then a[i,j]:=a[i-1,j-1]+1 else a[i,j]:=max(a[i-1,j],a[i,j-1]);
- {truy vet}
- i:=length(s1); j:=length(s2);
- While (i>0) and (j>0) do
- if s1[i]=s2[j] then
- begin
- kq:=s1[i]+kq;
- dec(i); dec(j);
- end
- else if a[i-1,j]=a[i,j] then dec(i) else dec(j);
- write(kq);
- readln
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement