LCS_LENGTH(X,Y);
1. begin
2. m:=length[X];
3. n:=length[Y];
4. for i:=1 to m do c[i,0]:=0;
5. for j:=1 to n do c[0,j]:=0;
6. for i:=1 to m do
7. for j:=1 to n do
8. if x[i]=y[j] then
9. begin
10. c[i,j]:=c[i-1,j-1]+1;
11. b[i,j]:="↖";
12. end
13. else if c[i-1,j]≥c[i,j-1] then
14. begin
15. c[i,j]:=c[i-1,j];
16. b[i,j]:="↑";
17. end
18. else
19. begin
20. c[i,j]:=c[i,j-1];
21. b[i,j]:="←"
22. end;
23. return(c,b);
24. end;
LCS(b,X,i,j);