Pagini recente » Cod sursa (job #2359413) | Cod sursa (job #2683799) | Cod sursa (job #2433712) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #57847)
Cod sursa(job #57847)
program nr_sub_c;
var l,l1,s,s1:array[0..500] of word;
v,y:array[1..500] of char;
n,m,i,j,k:word;
f:text;
ok:boolean;
begin
assign(f,'subsir.in'); reset(f);
i:=0;
while not(eoln(f)) do
begin
i:=i+1;
read(f,v[i]);
end;
m:=i; readln(f); j:=0;
while not(eoln(f)) do
begin
j:=j+1;
read(f,y[j]);
end;
n:=j; close(f);
for i:= 1 to m do
begin
s[0]:=s1[n]; ok:=true;
for j:= 1 to n do
if v[i]=y[j] then
begin
l[j]:=l1[j-1]+1;
if i=1 then s[j]:=s[j-1]+1
else if ok then s[j]:=s1[j-1]
else s[j]:=s1[j-1]+s[j-1];
ok:=false;
end
else
begin
if l[j]<l1[j] then l[j]:=l1[j];
if l[j]<l[j-1] then l[j]:=l[j-1];
s[j]:=s[j-1];
end;
s1:=s;
l1:=l;
for k:=0 to n do
begin
s[k]:=0;
l[k]:=0;
end;
end;
assign(f,'subsir.out'); rewrite(f);
writeln(f,s1[n]);
close(f);
end.