Pagini recente » Cod sursa (job #3285852) | Cod sursa (job #1744529) | Cod sursa (job #77482) | Cod sursa (job #1126925) | Cod sursa (job #157124)
Cod sursa(job #157124)
var i,j,p,m,n:integer;
a,b,d:array[1..1024] of integer;
c:array[1..10,1..10] of integer;
f,g:text;
procedure citire(var m,n:integer);
var i,j:integer;
begin
readln(f,m,n);
for i:=1 to m do
read(f,a[i]);
for j:=1 to n do
read(f,b[j]);
readln(f);
end;
function max(n,m:integer):integer;
begin
if n>m then max:=n
else max:=m;
end;
begin
assign(f,'cmlsc.in'); reset(f);
assign(g,'cmlsc.out'); rewrite(g);
citire(m,n);
for i:=1 to m do
for j:=1 to n do
if a[i]=b[j]
then c[i,j]:=1+c[i-1,j-1]
else c[i,j]:=max(c[i-1,j],c[i,j-1]);
i:=m; j:=n; p:=1;
while ((i>0) and (j>0)) do
if a[i]=b[j]then begin
d[p]:=a[i];
dec(i);
dec(j);
inc(p);
end
else if c[i-1,j]<c[i,j-1] then dec(j)
else dec(i);
writeln(g,c[m,n]);
for i:=p-1 downto 1 do
write(g,d[i],' ');
close(f); close(g);
end.